Faculty of Electronics, Telecommunications and Informatics
11/12 Gabriela Narutowicza Street, 80-233 Gdańsk-Wrzeszcz, Poland
Tel.: +48 58 347 2277, +48 58 347 1784    Fax: +48 58 348 6373    E-mail:
WETI
 
Artifficial Intelligence
Subject name:Artifficial Intelligence
Subject type:for study line
Department:Department of Computer Architecture
lecture
No. of hours:2
Teachers:PhD MEng with habilitation Jerzy Marian Balicki
Taught in:
Study level: 1 (BSc)- Informatyka- sem. 4
laboratory
No. of hours:1
Teachers:MEng Karol Draszawka, PhD MEng Julian Szymański
Taught in:
Study level: 1 (BSc)- Informatyka- sem. 4
project
No. of hours:1
Teachers:MEng Karol Draszawka, PhD MEng Julian Szymański
Taught in:
Study level: 1 (BSc)- Informatyka- sem. 4
lecture
laboratory

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:

  1. Omówienie składni, nomenklatury oraz podstawowych funkcji wybranej aplikacji (środowiska) języka Prolog (prowadzący).

  2. 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).

  3. Omówienie rekurencji w Prologu na przykładzie nie zawierającym list (prowadzący + studenci).

  4. Przedstawienie sposobów reprezentowania list - przykłady (prowadzący + studenci).

  5. Omówienie sposobów rozwiązywania problemów przez ich odpowiednie definiowanie (definicja permutacji listy, listy odwróconej do danej) (prowadzący + studenci).

  6. Omówienie zasad stosowania predykatu not – problem zamkniętości świata (prowadzący + studenci).

  7. 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:

  1. Jędruch W., Turbo Prolog, Wyd. Pol. Gd., Gdańsk 1989.

  2. Ligęza A., Czarkowski D., Marczyński P., Włodarczyk M., (1991) Turbo Prolog na IBM PC, Wydawnictwo AGH, Kraków 1991.

  3. 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:

  1. Zapoznanie się ze środowiskiem Matlaba (okna, menu, system pomocy) (prowadzący + studenci).

  2. Omówienie podstawowych operacji na macierzach (prowadzący + studenci).

  3. Omówienie metod tworzenia wykresów w Matlabie (prowadzący + studenci).

  4. Omówienie zasad tworzenia skryptów i funkcji w oparciu o prosty przykład (prowadzący + studenci).

Warunki zaliczenia: obecność na zajęciach.

Literatura:

  1. Brzózka J., Dorobczyński L., Programowanie w Matlab, Mikom, Warszawa 1998.

  2. Matlab – Getting Started with Matlab, The MathWorks, Inc., Natick, MA, 2000.

  3. 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:

  1. Omówienie podstawowych funkcji środowiska Matlab dotyczących logiki rozmytej na podstawie prostego przykładu (prowadzący+studenci).

  2. Wykonanie prostego zadania wnioskowania rozmytego (studenci).

  3. Opracowanie systemu rozmytego rozwiązującego zadany problem (studenci – 2g).

Warunki zaliczenia: 10 p. za rozwiązanie zadania na ćwiczeniach

Literatura:

  1. Matlab Fuzzy Systems Toolbox, The MathWorks, Inc., Natick, MA, 2000.

  2. Rutkowska D., Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, Warszawa-Łódź, 1997.

  3. 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:

  1. Omówienie podstawowych funkcji środowiska Matlab dotyczących sieci neuronowych (prowadzący).

  2. Przygotowanie programu realizującego dwuargumentową funkcję klasyfikacji obrazów na płaszczyźnie przez obliczenie wag sieci neuronowej (studenci).

  3. Przygotowanie programu realizującego dwuargumentową funkcję klasyfikacji obrazów na płaszczyźnie przez uczenie sieci neuronowej (studenci).

  4. Porównanie wyników działania systemów uzyskanych przez uczenie i wyliczenie wag (studenci).

  5. Przygotowanie programu realizującego aproksymację zadanej funkcji jednej zmiennej przy użyciu sieci neuronowej (studenci).

  6. 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).

  7. Rozwiązanie zadania domowego – uczenie sieci dla rozwiązania zadanego problemu.

Warunki zaliczenia: 10p. za zadanie na ćwiczeniach, 15p. za zadanie domowe.

Literatura:

  1. Demuth H, Beale M., Matlab Neural Network Toolbox, The MathWorks, Inc., Natick, MA, 2000.

  2. Rutkowska D., Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, Warszawa-Łódź 1997.

  3. Korbicz J., Obuchowicz A., Uciński D.: Sztuczne sieci neuronowe. Podstawy i ich zastosowania. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1994.

  4. Ż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:

  1. Omówienie podstawowych funkcji środowiska Matlab dotyczących systemów neuronowo-rozmytych (prowadzący).

  2. 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).

  3. Przeprowadzenie eksperymentów z opracowanym programem: ocena zdolności do generalizacji nauczonego systemu ANFIS w zależności od liczby reguł (studenci).

  4. 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:

  1. Matlab Fuzzy Systems Toolbox, The MathWorks, Inc., Natick, MA, 2000.

  2. 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:

  1. Uruchomienie i analiza programu demonstracyjnego (zadanie o komiwojażerze) (prowadzący).

  2. Przygotowanie programu realizującego wskazaną optymalizację (studenci)

Warunki zaliczenia: 5p. za zadanie na ćwiczeniach.

Literatura:

  1. 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:

  1. 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:

  1. Rutkowska D., Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, Warszawa-Łódź, 1997.

  2. Goldberg D., Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1995.

  3. 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:

  1. Przygotowanie programu wyznaczającego wskazane prawdopodobieństwa w zadanej sieci probabilistycznej metodami Monte Carlo i wykonanie obliczeń (studenci).

  2. Przygotowanie programu obliczającego wskazane prawdopodobieństwa w zadanej sieci probabilistycznej metodami analitycznymi (prowadzący+studenci).

  3. Porównanie wyników otrzymanych eksperymentalnie z wynikami wyznaczonymi analitycznie (studenci).

Warunki zaliczenia: 10p. za zadanie na ćwiczeniach

Literatura:

  1. Russel S., Norvig P., Artificial Intelligence, a modern approach, Prentice Hall, Upper Saddle River, NJ, 2003.

  2. 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:

  1. Konstrukcja drzewa decyzyjnego przy pomocy gotowego programu dla przykładowego zbioru uczącego (studenci).

  2. Testowanie jakości powstałego klasyfikatora na podstawie testowego zbioru danych (studenci).

  3. Wyjaśnienie potrzeby przycinania drzew (ilustracja problemu w 2-wymiarowej przestrzeni cech) (prowadzący).

  4. Próba „ręcznego” usunięcia fragmentów drzewa prowadząca do poprawy zdolności generalizacyjnych klasyfikatora (studenci).

  5. Implementacja jednej z dwóch podanych przez prowadzącego metod ograniczających nadmierną rozbudowę drzewa (prowadzący+studenci).

  6. Porównanie jakości klasyfikacji oraz rozmiarów drzewa przed i po przycięciu (studenci).

Warunki zaliczenia: 5p. za zadania na ćwiczeniach.

Literatura:

  1. 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:

  1. Przygotowanie programu wyznaczającego wartości użyteczności stanów w zadanym grafie (studenci).

  2. 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:

  1. Cichosz P., Systemy uczące się, WNT, Warszawa, 2002.
  2. Russel S., Norvig P., Artificial intelligence, Prentice Hall, London, 2003.
  3. Sutton R.S., Barto A.G., Reinforcement learning: An introduction, MIT Press, Cambridge, MA, 1998.
project
printer friendlyRemarks and errors please submit to: Change to small size