Ogólne zasady
zaliczenia:
Należy być obecnym na wszystkich ćwiczeniach. W
przypadku nieobecności na ćwiczeniu można próbować je odrobić z
inną grupą studencką. Jeżeli nie ma takiej możliwości, to
prowadzący wskaże indywidualnie zadanie warunkujące zaliczenie
ćwiczenia.
Za rozwiązanie
zadań związanych z poszczególnymi ćwiczeniami można otrzymać
określone maksymalne liczby punktów, których suma z wszystkich
ćwiczeń wynosi 100. Liczba punktów zaliczających na ocenę 3 wynosi
50, a każde dodatkowe 8p. zwiększa ocenę o pół stopnia. Punkty
otrzymuje się za:
-
wykonanie zadanego zadania na ćwiczeniach. W
przypadku nie wykonania zadania na ćwiczeniach można je ukończyć w
domu. W takim przypadku maksymalna liczba otrzymanych punktów
wynosi 60% liczby otrzymywanej na zajęciach
-
zadanie domowe (jedno w semestrze - z sieci
neuronowych).
-
kartkówkę (jedna w semestrze z Prologu)
Dodatkowym warunkiem zaliczenia jest uzyskanie
7,5p. za kartkówkę z Prologu. W przypadku nie uzyskania 7,5p.
będzie możliwość dwukrotnej poprawy.
W wyjątkowych przypadkach prowadzący może
przydzielić dodatkowe punkty za interesujące rozwiązanie zadania,
przy czym suma takich punktów w semestrze nie może przekroczyć
8.
Poniżej, przy omawianiu ćwiczeń wymieniane są odpowiadające im
pozycje książkowe. Ponadto, materiały do większości ćwiczeń zawarte
są w opracowaniu: Jedruch W., Sztuczna inteligencja, Materiały do
wykładu, Gdańsk 2004.
Ćwiczenie 1: Prolog
Liczba godzin: 6
Cel ćwiczenia: poznanie wybranego
środowiska Prologu, składni języka, mechanizmu wnioskowania
opartego na nawracaniu i unifikacji, mechanizmu rekurencji oraz
sposobów reprezentowania list w Prologu na podstawie prostych
przykładowych programów.
Poznanie sposobów
rozwiązywania złożonych problemów poprzez ich definiowanie w
oparciu o logikę pierwszego rzędu.
Przebieg ćwiczenia:
-
Omówienie składni,
nomenklatury oraz podstawowych funkcji wybranej aplikacji
(środowiska) języka Prolog (prowadzący).
-
Omówienie przebiegu
wnioskowania wykorzystującego mechanizmy unifikacji predykatów oraz
nawracania na podstawie prostego przykładu i z wykorzystaniem pracy
krokowej (prowadzący + studenci).
-
Omówienie rekurencji
w Prologu na przykładzie nie zawierającym list (prowadzący +
studenci).
-
Przedstawienie
sposobów reprezentowania list - przykłady (prowadzący +
studenci).
-
Omówienie sposobów
rozwiązywania problemów przez ich odpowiednie definiowanie
(definicja permutacji listy, listy odwróconej do danej) (prowadzący
+ studenci).
-
Omówienie zasad
stosowania predykatu not – problem zamkniętości świata (prowadzący
+ studenci).
-
Wybrane przykłady
zastosowania Prologu (np. gry, świat bloków, świat smoka)
(studenci).
Warunki zaliczenia: 15 p. za
kartkówkę, 10 p. za realizację zadania na laboratorium
Literatura:
-
Jędruch W., Turbo
Prolog, Wyd. Pol. Gd., Gdańsk 1989.
-
Ligęza A.,
Czarkowski D., Marczyński P., Włodarczyk M., (1991) Turbo Prolog na
IBM PC, Wydawnictwo AGH, Kraków 1991.
-
Clocksin W.F., Mellish C.S., Prolog, programowanie,
Helion, Gliwice, 2003.
Ćwiczenie 2: Wprowadzenie do środowiska Matlab
Liczba godzin: 2
Cel
ćwiczenia: poznanie składni języka Matlab, nabycie
umiejętności programowania z wykorzystaniem wektorów i macierzy i
poznanie sposobów wizualizacji wyników.
Przebieg ćwiczenia:
-
Zapoznanie się ze środowiskiem
Matlaba (okna, menu, system pomocy) (prowadzący + studenci).
-
Omówienie podstawowych operacji na
macierzach (prowadzący + studenci).
-
Omówienie metod tworzenia wykresów w
Matlabie (prowadzący + studenci).
-
Omówienie zasad tworzenia skryptów i
funkcji w oparciu o prosty przykład (prowadzący + studenci).
Warunki zaliczenia: obecność na
zajęciach.
Literatura:
-
Brzózka J., Dorobczyński L.,
Programowanie w Matlab, Mikom, Warszawa 1998.
-
Matlab – Getting
Started with Matlab, The MathWorks, Inc., Natick, MA,
2000.
-
Zalewski A., Matlab – obliczenia
numeryczne i ich zastosowanie, Nakom, Warszawa 2004.
Ćwiczenie nr 3: Logika rozmyta
Liczba godzin: 4
Cel ćwiczenia: zapoznanie się z
podstawami własnościami i zastosowaniami systemów wnioskowania
rozmytego.
Przebieg ćwiczenia:
-
Omówienie
podstawowych funkcji środowiska Matlab dotyczących logiki rozmytej
na podstawie prostego przykładu (prowadzący+studenci).
-
Wykonanie prostego
zadania wnioskowania rozmytego (studenci).
-
Opracowanie systemu
rozmytego rozwiązującego zadany problem (studenci – 2g).
Warunki zaliczenia: 10 p. za
rozwiązanie zadania na ćwiczeniach
Literatura:
-
Matlab Fuzzy
Systems Toolbox, The MathWorks, Inc., Natick, MA, 2000.
-
Rutkowska D.,
Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i
systemy rozmyte, PWN, Warszawa-Łódź, 1997.
-
Altrock C., "Fuzzy Logic & NeuroFuzzy Applications
Explained", Prentice-Hall International Inc., New Jersey
1995.
Ćwiczenie nr 4: Sieci neuronowe
Liczba godzin: 4
Cel ćwiczenia: poznanie
podstawowych własności systemów neuronowych.
Przebieg ćwiczenia:
-
Omówienie
podstawowych funkcji środowiska Matlab dotyczących sieci
neuronowych (prowadzący).
-
Przygotowanie
programu realizującego dwuargumentową funkcję klasyfikacji obrazów
na płaszczyźnie przez obliczenie wag sieci neuronowej
(studenci).
-
Przygotowanie
programu realizującego dwuargumentową funkcję klasyfikacji obrazów
na płaszczyźnie przez uczenie sieci neuronowej (studenci).
-
Porównanie wyników
działania systemów uzyskanych przez uczenie i wyliczenie wag
(studenci).
-
Przygotowanie
programu realizującego aproksymację zadanej funkcji jednej zmiennej
przy użyciu sieci neuronowej (studenci).
-
Przeprowadzenie
eksperymentów z opracowanym programem: ocena zdolności do
generalizacji nauczonego systemu w zależności od zastosowanej
sieci: liczby warstw i neuronów w poszczególnych warstwach
(studenci).
-
Rozwiązanie zadania
domowego – uczenie sieci dla rozwiązania zadanego problemu.
Warunki zaliczenia: 10p. za
zadanie na ćwiczeniach, 15p. za zadanie domowe.
Literatura:
-
Demuth H, Beale
M., Matlab Neural Network Toolbox, The MathWorks, Inc., Natick, MA,
2000.
-
Rutkowska D.,
Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i
systemy rozmyte, PWN, Warszawa-Łódź 1997.
-
Korbicz J.,
Obuchowicz A., Uciński D.: Sztuczne sieci neuronowe. Podstawy i ich
zastosowania. Akademicka Oficyna Wydawnicza PLJ, Warszawa,
1994.
-
Żurada J., Barski
M., Jędruch W., Sztuczne sieci neuronowe, PWN, W-wa 1996.
Ćwiczenie nr 5: Systemy
neuronowo-rozmyte
Liczba godzin: 2
Cel ćwiczenia: poznanie
podstawowych własności systemów neuronowo-rozmytych (ANFIS)) i ich
porównanie z sieciami neuronowymi pod względem zdolności do uczenia
się i generalizacji.
Przebieg ćwiczenia:
-
Omówienie
podstawowych funkcji środowiska Matlab dotyczących systemów
neuronowo-rozmytych (prowadzący).
-
Przygotowanie
programu realizującego aproksymację zadanej funkcji jednej zmiennej
w systemie ANFIS (program rozwiązuje zadanie identyczne jak
przygotowane wcześniej w ćwiczeniu dotyczącym sieci neuronowych)
(studenci).
-
Przeprowadzenie
eksperymentów z opracowanym programem: ocena zdolności do
generalizacji nauczonego systemu ANFIS w zależności od liczby reguł
(studenci).
-
Eksperymentalne
porównanie zdolności generalizacyjnych systemu ANFIS i sieci
neuronowej na podstawie opracowanych programów (studenci).
Warunki zaliczenia: 5p. za
zadanie na ćwiczeniach.
Literatura:
-
Matlab Fuzzy
Systems Toolbox, The MathWorks, Inc., Natick, MA, 2000.
-
Rutkowska D.,
Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i
systemy rozmyte, PWN, Warszawa-Łódź, 1997.
Ćwiczenie nr 6: Symulowane
wyżarzanie
Liczba godzin: 2
Cel ćwiczenia: poznanie
podstawowych własności metod symulowanego wyżarzania i ich
zastosowań
Przebieg ćwiczenia:
-
Uruchomienie i
analiza programu demonstracyjnego (zadanie o komiwojażerze)
(prowadzący).
-
Przygotowanie
programu realizującego wskazaną optymalizację (studenci)
Warunki zaliczenia: 5p. za
zadanie na ćwiczeniach.
Literatura:
-
Jang J.R., Sun C,T, Mizutani E, Neuro-fuzzy and soft
computing, Prentice Hall, Upper Saddle River, NJ, 1997.
Ćwiczenie nr 7: Algorytmy
ewolucyjne
Liczba godzin: 2
Cel ćwiczenia: poznanie
podstawowych własności algorytmów ewolucyjnych i ich wykorzystanie
do wyznaczania ekstremów funkcji oraz predykcji przyszłych
wartości.
Przebieg ćwiczenia:
-
Przygotowanie
programu rozwiązującego wybrany problem metodą algorytmów
ewolucyjnych (np. wyznaczanie maksimum funkcji, predykcja szeregów
czasowych, aproksymacja funkcji, itp.):
Warunki zaliczenia: 10p. za
zadanie na ćwiczeniach..
Literatura:
-
Rutkowska D.,
Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i
systemy rozmyte, PWN, Warszawa-Łódź, 1997.
-
Goldberg D.,
Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1995.
-
Michalewicz Z.,
Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT,
Warszawa 1996.
Ćwiczenie nr 8: Sieci
probabilistyczne
Liczba godzin: 2
Cel ćwiczenia: poznanie
podstawowych własności sieci probabilistycznych na przykładach
wyznaczania prawdopodobieństw metodami analitycznymi i metodami
Monte Carlo.
Przebieg ćwiczenia:
-
Przygotowanie
programu wyznaczającego wskazane prawdopodobieństwa w zadanej sieci
probabilistycznej metodami Monte Carlo i wykonanie obliczeń
(studenci).
-
Przygotowanie
programu obliczającego wskazane prawdopodobieństwa w zadanej sieci
probabilistycznej metodami analitycznymi (prowadzący+studenci).
-
Porównanie wyników
otrzymanych eksperymentalnie z wynikami wyznaczonymi analitycznie
(studenci).
Warunki zaliczenia: 10p. za
zadanie na ćwiczeniach
Literatura:
-
Russel
S., Norvig P., Artificial Intelligence, a modern approach, Prentice
Hall, Upper Saddle River, NJ, 2003.
-
Neapolitan R., Learning bayesian networks, Prentice Hall. Upper
Saddle River, NJ, 2004.
Ćwiczenie nr 9: Drzewa
decyzyjne
Liczba godzin: 2
Cel ćwiczenia:
poznanie własności klasyfikatorów o strukturze drzew decyzyjnych
oraz metod prowadzących do poprawy ich zdolności do
generalizacji.
Przebieg ćwiczenia:
-
Konstrukcja drzewa
decyzyjnego przy pomocy gotowego programu dla przykładowego zbioru
uczącego (studenci).
-
Testowanie jakości
powstałego klasyfikatora na podstawie testowego zbioru danych
(studenci).
-
Wyjaśnienie potrzeby
przycinania drzew (ilustracja problemu w 2-wymiarowej przestrzeni
cech) (prowadzący).
-
Próba „ręcznego”
usunięcia fragmentów drzewa prowadząca do poprawy zdolności
generalizacyjnych klasyfikatora (studenci).
-
Implementacja jednej
z dwóch podanych przez prowadzącego metod ograniczających nadmierną
rozbudowę drzewa (prowadzący+studenci).
-
Porównanie jakości
klasyfikacji oraz rozmiarów drzewa przed i po przycięciu
(studenci).
Warunki zaliczenia: 5p. za
zadania na ćwiczeniach.
Literatura:
-
Cichosz P., Systemy
uczące się (Rozdział 3 – Indukcja drzew decyzyjnych), WNT, Warszawa
2000.
Ćwiczenie nr 10:
Wieloetapowe procesy decyzyjne
Liczba godzin:
2
Cel ćwiczenia: poznanie
algorytmu różnic czasowych (TD) uczenia ze wzmocnieniem w
zastosowaniu do optymalizacji wieloetapowych procesów
decyzyjnych.
Przebieg ćwiczenia:
-
Przygotowanie
programu wyznaczającego wartości użyteczności stanów w zadanym
grafie (studenci).
-
Przeprowadzenie
eksperymentów z opracowanym programem: obliczenie łącznych zysków
przy zastosowaniu różnych proporcji pomiędzy liczbą przebiegów
eksploracyjnych i eksploatacyjnych (studenci.
Warunki zaliczenia: 5p. za
zadanie na ćwiczeniach.
Literatura:
- Cichosz P., Systemy uczące się, WNT, Warszawa, 2002.
- Russel S., Norvig P., Artificial intelligence, Prentice Hall,
London, 2003.
-
Sutton R.S., Barto A.G., Reinforcement
learning: An introduction, MIT Press, Cambridge, MA,
1998.
|