Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N1)
specjalność: systemy komputerowe i oprogramowanie

Sylabus przedmiotu Wstęp do sztucznej inteligencji:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauki techniczne, studia inżynierskie
Profil ogólnoakademicki
Moduł
Przedmiot Wstęp do sztucznej inteligencji
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej
Nauczyciel odpowiedzialny Andrzej Piegat <Andrzej.Piegat@zut.edu.pl>
Inni nauczyciele Ewa Adamus <Ewa.Adamus@zut.edu.pl>, Marcin Korzeń <Marcin.Korzen@zut.edu.pl>, Joanna Kołodziejczyk <Joanna.Kolodziejczyk@zut.edu.pl>, Marcin Pluciński <Marcin.Plucinski@zut.edu.pl>
ECTS (planowane) 2,0 ECTS (formy) 2,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW4 10 0,80,62zaliczenie
laboratoriaL4 14 1,20,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1matematyka
W-2algorytmy i struktury danych
W-3podstawy programowania
W-4programowanie obiektowe

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z różnymi algorytmy przeszukiwania grafów stanów z dostosowaniem ich do różnych problemów praktycznych.
C-2Zapoznanie studentów z podstawowymi elementami gier dwuosobowych o pełnej informacji. Zapoznanie z algorytmami przeszukiwania drzew gier i wyboru najlepszego ruchu.
C-3Ukształtowanie rozumienia pojęć heurystyka, wypłata, strategia, efekt horyzontu.
C-4Zapoznanie studentów z zadaniami klasyfikacji i aproksymacji danych (jako zadaniami uczenia maszynowego). Zapoznanie z podstawowymi sieciami neurnowymi przeznaczonymi do tych zadań.
C-5Zapoznanie studentów z problemami optymalizacji dyskretnej. Ukształtowanie rozumienia rozwiązywania tych problemów poprzez metody losowe ukierunkowane (algorytmy genetyczne).
C-6Zapoznanie studentów z historią, podstawowymi problemami i definicjami sztucznej inteligencji.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Języki deklaratywne na przykładzie Prologu. Programowania prostego wnioskowania.2
T-L-2Klasyfikacja z użyciem sieci neuronowych (wykorzystanie programu WEKA).2
T-L-3Generowanie reguł dla systemu ekspertowego z wykorzystaniem algorytmów generowania drzew decyzyjnych.2
T-L-4Tworzenie prostego systemu ekspertowego.2
T-L-5Implementacja w MATLABie algorytmu uczenia perceptronu Rosenblatt'a w wersji liniowej dla problemu na płaszczyźnie. Testowanie liczby kroków aktualizacyjnych ze względu na zmiany: współczynnika uczenia, rozmiaru zbioru danych, zmniejszenia marginesu separacji.2
T-L-6Systemy rozmyte z wykorzystnie FuzzyTech'a. Przykład sterowania suwnicą.2
T-L-7Implementacja w MATLABie algorytmu genetycznego do rozwiązywania problemu plecakowego. W tym: implementacja przynajmniej dwóch metod selekcji i dwóch metod krzyżowania. Postawienie zadania domowego - porównania rozwiązań genetycznych z rozwiązaniem dokładnym opartym na kracie.2
14
wykłady
T-W-1Inteligencja naturalna. Definicje inteligencji naturalnej. Inteligencja sztuczna. Definicje sztucznej inteligencji. Prekursorzy sztucznej inteligencji. Początkowy okres rozwoju. Przykłady inteligentnego działania człowieka i i jego etapy charakterystyczne. Pojęcie inteligentnej maszyny i testowanie jej inteligencji z użyciem testu Turinga. Wątpliwości dotyczące tego testu. Roboty jako przykład praktycznego zastosowania sztucznej inteligencji. Roboty przemysłowe i roboty humanoidalne. Możliwości współczesnych robotów.2
T-W-2Naturalne sieci neuronowe i ich działanie. Struktura sztucznych sieci neuronowych typu jednokierunkowego (feed forward) i ich zastosowania. Struktura sieci typu ze sprzężeniami zwrotnymi (feed back) i ich zastosowania. Budowa i działanie najprostszej sieci z jednym wejściem i jednym neuronem i przykład jej zastosowania. Punkt przełączajacy sieci i jego sens. Budowa i działanie sieci z 2-ma wejsciami i przykład jej zastosowania.Prosta przełączająca sieci i jej sens. Określanie równania prostej przełączajacej dla konkretnych problemów praktycznych. Sens współczynników wagowych w sieciach. Konieczność automatycznego strojenia współczynników wagowych w sieciach złożonych.2
T-W-3Sieci neuronowe nadzorowane typu perceptronowego. Praktyczne problemy występujące podczas uczenia sieci neuronowych. Zagadnienie dokładności wyników dostarczanych przez sieć od liczby i przestrzennego rozkładu próbek uczących. Problem właściwego testowania sieci neuronowych.2
T-W-4Przykład zastosowania sieci neuronowej do prognozowania cen akcji giełdowych. Problem doboru właściwych wejść do sieci i określania ich istotności przy rozwiazywaniu problemów mało zbadanych. Zastosowanie sieci neuronowej do szacowania cen bloków mieszkalnych w Kaliforni zależnie od ich atrybutów. Zastosowanie sieci neuronowych do szacowania prawdopodobieństwa nowotworu piersi u kobiet. Zastosowanie sieci neuronowej do oceny wartości odżywczej płatków sniadaniowych zależnie od ich składu.2
T-W-5Algorytmy genetyczne w problemach optymalizacji. Schemat głównej pętli genetycznej. Funkcja przystosowania. Metody selekcji: ruletkowa, rankingowa, turniejowa. Problem eksploracja a eksploatacja, uwagi o zbieżności i utrzymywaniu różnorodności w populacji. Krzyżowanie jedno, dwu i wielopunktowe. Mutacja i jej rola w AG dla problemów dyskretnych i ciągłych. Przykłady problemów: plecakowy, komiwojażera. Dokładne rozwiązanie problemu plecakowego za pomocą programowania dynamicznego i kraty.2
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1uczestnictwo w zajęciach14
A-L-2Kontakt z prowadzącym. Konsultacje.4
A-L-3Wykonanie zadań domowych programistycznych i sprawozdań.18
36
wykłady
A-W-1Czytanie dokładne sprzeciwów do poglądów Turinga i kontrargumentów do tych sprzeciwów.2
A-W-2Słuchanie wskazanego wykładu Stephena Wolframa nt. "sztucznego życia".1
A-W-3Pisemne śledzenie algorytmu przycinanie alfa-beta dla drzew gier (wykrywanie gałęzi, które zostaną odcięte).1
A-W-4Porównanie w ramach algorytmu Best-First-Search różnych heurystyk do rozwiązywania układanki sudoku.2
A-W-5Konsultacje z prowadzącym.1
A-W-6Przygotowanie się do kolokwium zaliczeniowego.17
24

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
M-5Pokaz.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Pięć sprawdzianów (10 minutowych) na zakończenie każdego bloku tematycznego w trakcie laboratoriów.
S-2Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
S-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/16_W01
Zna podstawowe problemy stawiane w ramach sztucznej inteligencji i definicje sztucznej inteligencji.
I_1A_W12C-6M-2, M-1, M-5, M-3S-4
I_1A_C/16_W02
Rozumie problemy optymalizacji dyskretnej. Zna schemat algorytmów genetycznych (jako sposób rozwiązania problemów optymalizacji dyskretnej).
I_1A_W12, I_1A_W01C-5T-W-5M-2, M-1, M-5S-4, S-1, S-3
I_1A_C/16_W03
Rozumie problemy przeszukiwania grafów stanów i drzew gier dwuosobowych.
I_1A_W12, I_1A_W20, I_1A_W05C-1, C-3M-2, M-1, M-5, M-3S-4, S-1, S-3
I_1A_C/16_W04
Rozumie zadania klasyfikacji i aproksymacji danych (jako zadania uczenia maszynowego)
I_1A_W12, I_1A_W17, I_1A_W01, I_1A_W05C-4M-2, M-1S-4, S-1, S-3

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/16_U01
Potrafi zaprogramować lub wykorzystać narzędzia z zaimplementowanymi metodami sztucznej inteligencji celem rozwiązywania prostych problemów z zakresu wnioskowania, systemów ekspertowych, sterowania rozmytego, sieci neuronowych.
I_1A_U19, I_1A_U01, I_1A_U02, I_1A_U15C-4T-L-6, T-L-7, T-L-4, T-L-1, T-L-2, T-L-5, T-L-3M-5, M-4S-2, S-3
I_1A_C/16_U02
Potrafi zaprogramować algorytmy przeszukiwania grafów (A*, Best-First-Search, Dijkstry) z dostosowaniem ich do różnych problemów praktycznych.
I_1A_U19, I_1A_U04, I_1A_U01, I_1A_U02, I_1A_U15C-2, C-3M-2, M-1, M-5, M-3, M-4S-2, S-3
I_1A_C/16_U03
Potrafi zaprogramować algorytm perceptronu Rosenblatt'a do klasyfikacji binarnej liniowej i nieliniowej (transformacja jądrowa). Potrafi zaprogramować sieć Multi-Layer-Perceptron i algorytm wstecznej propagacji błędu
I_1A_U19, I_1A_U01, I_1A_U02, I_1A_U15C-4M-2, M-1, M-5, M-3, M-4S-2, S-3
I_1A_C/16_U04
Potrafi zastosować algorytm genetyczny (schemat podstawowy) do zadań optymalizacji.
I_1A_U19, I_1A_U01, I_1A_U02, I_1A_U15C-5T-L-7M-2, M-1, M-5, M-3, M-4S-2, S-3
I_1A_C/16_U05
Potrafi zaprogramować algorytmy MIN-MAX oraz "przycinanie alfa-beta" dla gier dwuosobowych o pełnej informacji. Rozumie pojęcia heurystyka, efekt horyzontu, wypłata, strategia.
I_1A_U19, I_1A_U01, I_1A_U02, I_1A_U15C-2, C-3M-2, M-1, M-5, M-3, M-4S-2, S-3

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/16_K01
Rozumie filozoficzne aspekty sztucznego inteligencji jako zdolności do rozwiązywania problemów przeszukiwania i obliczeniowych (sprawdzalnej doświadczalnie).
I_1A_K01, I_1A_K04C-4, C-2, C-1, C-6, C-5, C-3T-W-5, T-L-6, T-L-7, T-L-4, T-L-1, T-L-2, T-L-5, T-L-3M-2, M-1, M-5, M-3, M-4S-4

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_C/16_W01
Zna podstawowe problemy stawiane w ramach sztucznej inteligencji i definicje sztucznej inteligencji.
2,0Nie umie podać przykładów problemów stawianych w ramach SI ani definicji.
3,0Potrafi wymienić grupy lub nazwy przykładowych problemów stawianych w ramach SI.
3,5Potrafi wymienić grupy lub nazwy przykładowych problemów stawianych w ramach SI oraz definicje SI.
4,0Rozumie ich istotę / szczegóły różnych problemów stawianych w ramach SI.
4,5Zna poglądy Turinga dot. SI i potrafi wyjaśnić sens gry w naśladownictwo.
5,0Zna poglądy Turinga i Minsky'ego dot. SI i potrafi wyjaśnić sens gry w naśladownictwo. Rozumie sens sprzeciwów do poglądów Turinga i kontrargumenty.
I_1A_C/16_W02
Rozumie problemy optymalizacji dyskretnej. Zna schemat algorytmów genetycznych (jako sposób rozwiązania problemów optymalizacji dyskretnej).
2,0Nie zna podstawowego schematu algorytmu genetycznego.
3,0Zna podstawowy schemat algorytmu genetycznego.
3,5Potrafi podać różne metody selekcji (ruletkowa, rankingowa, turniejowa).
4,0Potrafi podać różne metody selekcji (ruletkowa, rankingowa, turniejowa) i wyjaśnić ich wpływ na utrzymywanie zróżnicowania w populacji - problem eksploracja vs. eksploatacja.
4,5Potrafi podać różne wersje operatora krzyżowania (jednopunktowe, dwupunktowe, wielopunktowe, symetryczne, ważone), a także przykłady szczególnych operatorów krzyżowania dla problemów: plecakowego i komiwojażera.
5,0Potrafi rozwiązać problem plecakowy sposobem dokładnym - programowanie dynamiczne (krata), a także zaproponować szczegółowo rozwiązanie przybliżone genetyczne.
I_1A_C/16_W03
Rozumie problemy przeszukiwania grafów stanów i drzew gier dwuosobowych.
2,0Nie potrafi sformułować celu zadania przeszukiwania grafu i drzewa gry.
3,0Potrafi sformułować problem przeszukiwania grafu i drzewa gry.
3,5Potrafi podać algorytmy: Breadth-First-Search oraz MIN-MAX.
4,0Potrafi podać algorytmy: Dijkstry, Best-First-Search, A* oraz przycinanie alfa-beta.
4,5Potrafi podać struktury danych przydatne do implementacji zbiorów Open i Closed w algorytmie A* i złożoności poszczególnych istotnych operacji dla tych struktur. Rozumie, dlaczego jest to ważne.
5,0Dla podanego problemu potrafi zaproponować algorytm przeszukujący wraz z heurystyką i uzasadnić swój wybór.
I_1A_C/16_W04
Rozumie zadania klasyfikacji i aproksymacji danych (jako zadania uczenia maszynowego)
2,0Nie potrafi zdefiniować problemu uczenia się z danych (klasyfikacja, aproksymacja).
3,0Potrafi zdefiniować problem uczenia się z danych (klasyfikacja, aproksymacja).
3,5Potrafi podać algorytm perceptronu Rosenblatt'a.
4,0Potrafi uzasadnić dlaczego wzór korygujący wagi w perceptronie Rosenblatt'a zapewnia zbieżność.
4,5Potrafi podać strukturę sieci MLP, wzór funkcji aktywacji neurony i jej pochodnej.
5,0Potrafi podać algorytm uczenia back-propagation dla sieci MLP wraz ze wzorami.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_1A_C/16_U01
Potrafi zaprogramować lub wykorzystać narzędzia z zaimplementowanymi metodami sztucznej inteligencji celem rozwiązywania prostych problemów z zakresu wnioskowania, systemów ekspertowych, sterowania rozmytego, sieci neuronowych.
2,0Student nie wykonał żadnego zadania podczas zajęć i w domu.
3,0Student wykonał zadania na zajęciach laboratoryjnych i rozumie omawiane zagadnienia.
3,5Student wykona sprawozdania z zajęć.
4,0Student przeprowadzi analizę metod i problemów rozwiązywanych na zajęciach i w domu i przedstawi wyniki w sprawozdaniu.
4,5Student wykona zadania programistyczne.
5,0Student samodzielnie rozwinie sprawozdania i programy o elementy wynikające z samodzielego studiowania dziedziny.
I_1A_C/16_U02
Potrafi zaprogramować algorytmy przeszukiwania grafów (A*, Best-First-Search, Dijkstry) z dostosowaniem ich do różnych problemów praktycznych.
2,0Nie zna schematu implementacji algorytmu A* i jego wariantów.
3,0Zna schematu implementacji algorytmu A* i jego wariantów.
3,5Potrafi zaprogramować obiektowo algorytm Best-First-Search dla problemu Sudoku na bazie heurystyki naiwnej.
4,0Potrafi zaprogramować algorytm A* dla układanki puzzle n^2 - 1 z wykorzystaniem jednej heurystyki.
4,5Potrafi zaprogramować algorytm A* dla układanki puzzle n^2 - 1 z wykorzystaniem dwóch heurystyk. Potrafi porównać heurystyki pod kątem liczby odwiedzanych stanów.
5,0Potrafi zaprogramować kilka heurystyk dla problemu Sudoku i porównać je z heurystyką naiwną.
I_1A_C/16_U03
Potrafi zaprogramować algorytm perceptronu Rosenblatt'a do klasyfikacji binarnej liniowej i nieliniowej (transformacja jądrowa). Potrafi zaprogramować sieć Multi-Layer-Perceptron i algorytm wstecznej propagacji błędu
2,0Nie potrafi zaprogramować algorytmu perceptronu Rosenlbatta ani MLP.
3,0Potrafi zaprogramować algorytm perceptronu Rosenblatta w wersji podstawowej liniowej.
3,5Potrafi wykazać doświadczalnie wpływ marginesu separacji danych na liczbę kroków uczenia w perceptronie Rosenblatt'a.
4,0Potrafi zaprogramować algorytm perceptronu Rosenblatta w wersji nieliniowej z użyciem przekształcenia jądrowego (kernel trick).
4,5Potrafi zaprogramować podstawowy algorytm back-propagation dla sieci MLP i użyć go do zadania aproksymacji funkcji dwóch zmiennych.
5,0Potrafi zaprogramować algorytm MLP z wariantem rozpędu (momentum) i pokazać jego przewagę nad algorytmem podstawowym.
I_1A_C/16_U04
Potrafi zastosować algorytm genetyczny (schemat podstawowy) do zadań optymalizacji.
2,0Nie potrafi zaprogramować podstawowego algorytmu genetycznego.
3,0Potrafi zaprogramować algorytm genetyczny z jedną metodą selekcji i krzyżowania dla problemu plecakowego.
3,5Potrafi zaprogramować algorytm genetyczny z wieloma wariantami selekcji i jednym wariantem krzyżowania dla problemu plecakowego.
4,0Potrafi zaprogramować algorytm genetyczny z wieloma wariantami selekcji i wieloma wariantami krzyżowania dla problemu plecakowego.
4,5Potrafi zaprogramować rozwiązanie dokładne dla problemu plecakowego i porównać złożoność i dokładność z rozwiązaniem genetycznym.
5,0Potrafi zaproponować i zaprogramować rozwiązanie genetyczne dla problemu komiwojażera.
I_1A_C/16_U05
Potrafi zaprogramować algorytmy MIN-MAX oraz "przycinanie alfa-beta" dla gier dwuosobowych o pełnej informacji. Rozumie pojęcia heurystyka, efekt horyzontu, wypłata, strategia.
2,0Nie potrafi zaprogramować algorytmu MIN-MAX dla gry Connect4.
3,0Potrafi zaprogramować algorytmu MIN-MAX dla gry Connect4.
3,5Potrafi zaprogramować algorytm przycinanie alfa-beta dla gry Connect4.
4,0Potrafi zaprogramować algorytm przycinanie alfa-beta dla gry Connect4 z wykorzystaniem bardziej złożonych heurystyk.
4,5Potrafi zaprogramować algorytm przycinanie alfa-beta dla gry Connect4 z wykorzystaniem bardziej złożonych heurystyk oraz tablicy transpozycji.
5,0Potrafi zaproponować heurystyki dla innych niż Connect4 przykładów gier dwuosobowych: warcaby, szachy.

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_1A_C/16_K01
Rozumie filozoficzne aspekty sztucznego inteligencji jako zdolności do rozwiązywania problemów przeszukiwania i obliczeniowych (sprawdzalnej doświadczalnie).
2,0Nie potrafi podać podstawowych problemów i definicji sztucznej inteligencji.
3,0Potrafi podać podstawowe problemy (grupy problemów) stawiane w ramach sztucznej inteligencji.
3,5Potrafi podać podstawowe definicje sztucznej inteligencji i ich aspekty filozoficzne.
4,0Potrafi podać podstawowe algorytmy przeszukujące dla grafów i drzew gier.
4,5Potrafi podać algorytmu podstawowe aglorytmy uczenia się z danych oparte na sieciach neuronowych.
5,0Dla podanego problemu (niekoniecznie znanego) potrafi podać potencjalne sposoby rozwiązania go z wykorzystaniem technik sztucznej inteligencji.

Literatura podstawowa

  1. Rutkowski Leszek, Metody i Techniki Sztucznej Inteligencji, Wydawnictwo Naukowe PWN, Warszawa, 2005
  2. E. Feigenbaum, J. Feldman, Maszyny matematyczne i myślenie, PWN, 1963
  3. Tadeusiewicz Ryszard, Odkrywanie właściwości sieci neuronowych, Polska Akademia Umiejętności, Kraków, 2007
  4. L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2005
  5. D. Rutkowska, M. Piliński, L. Rutkowski, Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, 1997
  6. Timothy Masters, Sieci Neuronowe w Praktyce, Wydawnictwo Naukowo-Techniczne, Warszawa, 1996

Literatura dodatkowa

  1. S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT, 1996
  2. Piegat Andrzej, Modelowanie i Sterowanie Rozmyte, Akademicka Oficyna Wydawnicza, Warszawa, 2001
  3. A. Piegat, Modelowanie i sterowanie rozmyte, EXIT, 1999

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Języki deklaratywne na przykładzie Prologu. Programowania prostego wnioskowania.2
T-L-2Klasyfikacja z użyciem sieci neuronowych (wykorzystanie programu WEKA).2
T-L-3Generowanie reguł dla systemu ekspertowego z wykorzystaniem algorytmów generowania drzew decyzyjnych.2
T-L-4Tworzenie prostego systemu ekspertowego.2
T-L-5Implementacja w MATLABie algorytmu uczenia perceptronu Rosenblatt'a w wersji liniowej dla problemu na płaszczyźnie. Testowanie liczby kroków aktualizacyjnych ze względu na zmiany: współczynnika uczenia, rozmiaru zbioru danych, zmniejszenia marginesu separacji.2
T-L-6Systemy rozmyte z wykorzystnie FuzzyTech'a. Przykład sterowania suwnicą.2
T-L-7Implementacja w MATLABie algorytmu genetycznego do rozwiązywania problemu plecakowego. W tym: implementacja przynajmniej dwóch metod selekcji i dwóch metod krzyżowania. Postawienie zadania domowego - porównania rozwiązań genetycznych z rozwiązaniem dokładnym opartym na kracie.2
14

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Inteligencja naturalna. Definicje inteligencji naturalnej. Inteligencja sztuczna. Definicje sztucznej inteligencji. Prekursorzy sztucznej inteligencji. Początkowy okres rozwoju. Przykłady inteligentnego działania człowieka i i jego etapy charakterystyczne. Pojęcie inteligentnej maszyny i testowanie jej inteligencji z użyciem testu Turinga. Wątpliwości dotyczące tego testu. Roboty jako przykład praktycznego zastosowania sztucznej inteligencji. Roboty przemysłowe i roboty humanoidalne. Możliwości współczesnych robotów.2
T-W-2Naturalne sieci neuronowe i ich działanie. Struktura sztucznych sieci neuronowych typu jednokierunkowego (feed forward) i ich zastosowania. Struktura sieci typu ze sprzężeniami zwrotnymi (feed back) i ich zastosowania. Budowa i działanie najprostszej sieci z jednym wejściem i jednym neuronem i przykład jej zastosowania. Punkt przełączajacy sieci i jego sens. Budowa i działanie sieci z 2-ma wejsciami i przykład jej zastosowania.Prosta przełączająca sieci i jej sens. Określanie równania prostej przełączajacej dla konkretnych problemów praktycznych. Sens współczynników wagowych w sieciach. Konieczność automatycznego strojenia współczynników wagowych w sieciach złożonych.2
T-W-3Sieci neuronowe nadzorowane typu perceptronowego. Praktyczne problemy występujące podczas uczenia sieci neuronowych. Zagadnienie dokładności wyników dostarczanych przez sieć od liczby i przestrzennego rozkładu próbek uczących. Problem właściwego testowania sieci neuronowych.2
T-W-4Przykład zastosowania sieci neuronowej do prognozowania cen akcji giełdowych. Problem doboru właściwych wejść do sieci i określania ich istotności przy rozwiazywaniu problemów mało zbadanych. Zastosowanie sieci neuronowej do szacowania cen bloków mieszkalnych w Kaliforni zależnie od ich atrybutów. Zastosowanie sieci neuronowych do szacowania prawdopodobieństwa nowotworu piersi u kobiet. Zastosowanie sieci neuronowej do oceny wartości odżywczej płatków sniadaniowych zależnie od ich składu.2
T-W-5Algorytmy genetyczne w problemach optymalizacji. Schemat głównej pętli genetycznej. Funkcja przystosowania. Metody selekcji: ruletkowa, rankingowa, turniejowa. Problem eksploracja a eksploatacja, uwagi o zbieżności i utrzymywaniu różnorodności w populacji. Krzyżowanie jedno, dwu i wielopunktowe. Mutacja i jej rola w AG dla problemów dyskretnych i ciągłych. Przykłady problemów: plecakowy, komiwojażera. Dokładne rozwiązanie problemu plecakowego za pomocą programowania dynamicznego i kraty.2
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1uczestnictwo w zajęciach14
A-L-2Kontakt z prowadzącym. Konsultacje.4
A-L-3Wykonanie zadań domowych programistycznych i sprawozdań.18
36
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Czytanie dokładne sprzeciwów do poglądów Turinga i kontrargumentów do tych sprzeciwów.2
A-W-2Słuchanie wskazanego wykładu Stephena Wolframa nt. "sztucznego życia".1
A-W-3Pisemne śledzenie algorytmu przycinanie alfa-beta dla drzew gier (wykrywanie gałęzi, które zostaną odcięte).1
A-W-4Porównanie w ramach algorytmu Best-First-Search różnych heurystyk do rozwiązywania układanki sudoku.2
A-W-5Konsultacje z prowadzącym.1
A-W-6Przygotowanie się do kolokwium zaliczeniowego.17
24
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_W01Zna podstawowe problemy stawiane w ramach sztucznej inteligencji i definicje sztucznej inteligencji.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W12ma podstawową wiedzę dotyczącą metod sztucznej inteligencji
Cel przedmiotuC-6Zapoznanie studentów z historią, podstawowymi problemami i definicjami sztucznej inteligencji.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
Sposób ocenyS-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
Kryteria ocenyOcenaKryterium oceny
2,0Nie umie podać przykładów problemów stawianych w ramach SI ani definicji.
3,0Potrafi wymienić grupy lub nazwy przykładowych problemów stawianych w ramach SI.
3,5Potrafi wymienić grupy lub nazwy przykładowych problemów stawianych w ramach SI oraz definicje SI.
4,0Rozumie ich istotę / szczegóły różnych problemów stawianych w ramach SI.
4,5Zna poglądy Turinga dot. SI i potrafi wyjaśnić sens gry w naśladownictwo.
5,0Zna poglądy Turinga i Minsky'ego dot. SI i potrafi wyjaśnić sens gry w naśladownictwo. Rozumie sens sprzeciwów do poglądów Turinga i kontrargumenty.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_W02Rozumie problemy optymalizacji dyskretnej. Zna schemat algorytmów genetycznych (jako sposób rozwiązania problemów optymalizacji dyskretnej).
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W12ma podstawową wiedzę dotyczącą metod sztucznej inteligencji
I_1A_W01ma wiedzę z matematyki teoretycznej ze szczególnym uwzględnieniem jej stosowanych aspektów, matematyki dyskretnej oraz matematyki stosowanej
Cel przedmiotuC-5Zapoznanie studentów z problemami optymalizacji dyskretnej. Ukształtowanie rozumienia rozwiązywania tych problemów poprzez metody losowe ukierunkowane (algorytmy genetyczne).
Treści programoweT-W-5Algorytmy genetyczne w problemach optymalizacji. Schemat głównej pętli genetycznej. Funkcja przystosowania. Metody selekcji: ruletkowa, rankingowa, turniejowa. Problem eksploracja a eksploatacja, uwagi o zbieżności i utrzymywaniu różnorodności w populacji. Krzyżowanie jedno, dwu i wielopunktowe. Mutacja i jej rola w AG dla problemów dyskretnych i ciągłych. Przykłady problemów: plecakowy, komiwojażera. Dokładne rozwiązanie problemu plecakowego za pomocą programowania dynamicznego i kraty.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
Sposób ocenyS-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
S-1Ocena formująca: Pięć sprawdzianów (10 minutowych) na zakończenie każdego bloku tematycznego w trakcie laboratoriów.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie zna podstawowego schematu algorytmu genetycznego.
3,0Zna podstawowy schemat algorytmu genetycznego.
3,5Potrafi podać różne metody selekcji (ruletkowa, rankingowa, turniejowa).
4,0Potrafi podać różne metody selekcji (ruletkowa, rankingowa, turniejowa) i wyjaśnić ich wpływ na utrzymywanie zróżnicowania w populacji - problem eksploracja vs. eksploatacja.
4,5Potrafi podać różne wersje operatora krzyżowania (jednopunktowe, dwupunktowe, wielopunktowe, symetryczne, ważone), a także przykłady szczególnych operatorów krzyżowania dla problemów: plecakowego i komiwojażera.
5,0Potrafi rozwiązać problem plecakowy sposobem dokładnym - programowanie dynamiczne (krata), a także zaproponować szczegółowo rozwiązanie przybliżone genetyczne.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_W03Rozumie problemy przeszukiwania grafów stanów i drzew gier dwuosobowych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W12ma podstawową wiedzę dotyczącą metod sztucznej inteligencji
I_1A_W20zna wybrane metody i techniki dotyczące podstaw podejmowania decyzji
I_1A_W05ma wiedzę w zakresie algorytmizacji i zasad tworzenia struktur danych
Cel przedmiotuC-1Zapoznanie studentów z różnymi algorytmy przeszukiwania grafów stanów z dostosowaniem ich do różnych problemów praktycznych.
C-3Ukształtowanie rozumienia pojęć heurystyka, wypłata, strategia, efekt horyzontu.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
Sposób ocenyS-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
S-1Ocena formująca: Pięć sprawdzianów (10 minutowych) na zakończenie każdego bloku tematycznego w trakcie laboratoriów.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi sformułować celu zadania przeszukiwania grafu i drzewa gry.
3,0Potrafi sformułować problem przeszukiwania grafu i drzewa gry.
3,5Potrafi podać algorytmy: Breadth-First-Search oraz MIN-MAX.
4,0Potrafi podać algorytmy: Dijkstry, Best-First-Search, A* oraz przycinanie alfa-beta.
4,5Potrafi podać struktury danych przydatne do implementacji zbiorów Open i Closed w algorytmie A* i złożoności poszczególnych istotnych operacji dla tych struktur. Rozumie, dlaczego jest to ważne.
5,0Dla podanego problemu potrafi zaproponować algorytm przeszukujący wraz z heurystyką i uzasadnić swój wybór.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_W04Rozumie zadania klasyfikacji i aproksymacji danych (jako zadania uczenia maszynowego)
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W12ma podstawową wiedzę dotyczącą metod sztucznej inteligencji
I_1A_W17zna podstawowe metody gromadzenia i przetwarzania danych i informacji
I_1A_W01ma wiedzę z matematyki teoretycznej ze szczególnym uwzględnieniem jej stosowanych aspektów, matematyki dyskretnej oraz matematyki stosowanej
I_1A_W05ma wiedzę w zakresie algorytmizacji i zasad tworzenia struktur danych
Cel przedmiotuC-4Zapoznanie studentów z zadaniami klasyfikacji i aproksymacji danych (jako zadaniami uczenia maszynowego). Zapoznanie z podstawowymi sieciami neurnowymi przeznaczonymi do tych zadań.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
Sposób ocenyS-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
S-1Ocena formująca: Pięć sprawdzianów (10 minutowych) na zakończenie każdego bloku tematycznego w trakcie laboratoriów.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi zdefiniować problemu uczenia się z danych (klasyfikacja, aproksymacja).
3,0Potrafi zdefiniować problem uczenia się z danych (klasyfikacja, aproksymacja).
3,5Potrafi podać algorytm perceptronu Rosenblatt'a.
4,0Potrafi uzasadnić dlaczego wzór korygujący wagi w perceptronie Rosenblatt'a zapewnia zbieżność.
4,5Potrafi podać strukturę sieci MLP, wzór funkcji aktywacji neurony i jej pochodnej.
5,0Potrafi podać algorytm uczenia back-propagation dla sieci MLP wraz ze wzorami.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_U01Potrafi zaprogramować lub wykorzystać narzędzia z zaimplementowanymi metodami sztucznej inteligencji celem rozwiązywania prostych problemów z zakresu wnioskowania, systemów ekspertowych, sterowania rozmytego, sieci neuronowych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
I_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
I_1A_U15potrafi wykorzystywać poznane metody, modele matematyczne oraz symulacje komputerowe do rozwiązywania prostych problemów inżynierskich
Cel przedmiotuC-4Zapoznanie studentów z zadaniami klasyfikacji i aproksymacji danych (jako zadaniami uczenia maszynowego). Zapoznanie z podstawowymi sieciami neurnowymi przeznaczonymi do tych zadań.
Treści programoweT-L-6Systemy rozmyte z wykorzystnie FuzzyTech'a. Przykład sterowania suwnicą.
T-L-7Implementacja w MATLABie algorytmu genetycznego do rozwiązywania problemu plecakowego. W tym: implementacja przynajmniej dwóch metod selekcji i dwóch metod krzyżowania. Postawienie zadania domowego - porównania rozwiązań genetycznych z rozwiązaniem dokładnym opartym na kracie.
T-L-4Tworzenie prostego systemu ekspertowego.
T-L-1Języki deklaratywne na przykładzie Prologu. Programowania prostego wnioskowania.
T-L-2Klasyfikacja z użyciem sieci neuronowych (wykorzystanie programu WEKA).
T-L-5Implementacja w MATLABie algorytmu uczenia perceptronu Rosenblatt'a w wersji liniowej dla problemu na płaszczyźnie. Testowanie liczby kroków aktualizacyjnych ze względu na zmiany: współczynnika uczenia, rozmiaru zbioru danych, zmniejszenia marginesu separacji.
T-L-3Generowanie reguł dla systemu ekspertowego z wykorzystaniem algorytmów generowania drzew decyzyjnych.
Metody nauczaniaM-5Pokaz.
M-4Metody programowane z użyciem komputera.
Sposób ocenyS-2Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Student nie wykonał żadnego zadania podczas zajęć i w domu.
3,0Student wykonał zadania na zajęciach laboratoryjnych i rozumie omawiane zagadnienia.
3,5Student wykona sprawozdania z zajęć.
4,0Student przeprowadzi analizę metod i problemów rozwiązywanych na zajęciach i w domu i przedstawi wyniki w sprawozdaniu.
4,5Student wykona zadania programistyczne.
5,0Student samodzielnie rozwinie sprawozdania i programy o elementy wynikające z samodzielego studiowania dziedziny.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_U02Potrafi zaprogramować algorytmy przeszukiwania grafów (A*, Best-First-Search, Dijkstry) z dostosowaniem ich do różnych problemów praktycznych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
I_1A_U04ma podstawowe umiejętności w zakresie programowania i podnoszenia niezawodności systemów wbudowanych
I_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
I_1A_U15potrafi wykorzystywać poznane metody, modele matematyczne oraz symulacje komputerowe do rozwiązywania prostych problemów inżynierskich
Cel przedmiotuC-2Zapoznanie studentów z podstawowymi elementami gier dwuosobowych o pełnej informacji. Zapoznanie z algorytmami przeszukiwania drzew gier i wyboru najlepszego ruchu.
C-3Ukształtowanie rozumienia pojęć heurystyka, wypłata, strategia, efekt horyzontu.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
Sposób ocenyS-2Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie zna schematu implementacji algorytmu A* i jego wariantów.
3,0Zna schematu implementacji algorytmu A* i jego wariantów.
3,5Potrafi zaprogramować obiektowo algorytm Best-First-Search dla problemu Sudoku na bazie heurystyki naiwnej.
4,0Potrafi zaprogramować algorytm A* dla układanki puzzle n^2 - 1 z wykorzystaniem jednej heurystyki.
4,5Potrafi zaprogramować algorytm A* dla układanki puzzle n^2 - 1 z wykorzystaniem dwóch heurystyk. Potrafi porównać heurystyki pod kątem liczby odwiedzanych stanów.
5,0Potrafi zaprogramować kilka heurystyk dla problemu Sudoku i porównać je z heurystyką naiwną.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_U03Potrafi zaprogramować algorytm perceptronu Rosenblatt'a do klasyfikacji binarnej liniowej i nieliniowej (transformacja jądrowa). Potrafi zaprogramować sieć Multi-Layer-Perceptron i algorytm wstecznej propagacji błędu
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
I_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
I_1A_U15potrafi wykorzystywać poznane metody, modele matematyczne oraz symulacje komputerowe do rozwiązywania prostych problemów inżynierskich
Cel przedmiotuC-4Zapoznanie studentów z zadaniami klasyfikacji i aproksymacji danych (jako zadaniami uczenia maszynowego). Zapoznanie z podstawowymi sieciami neurnowymi przeznaczonymi do tych zadań.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
Sposób ocenyS-2Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi zaprogramować algorytmu perceptronu Rosenlbatta ani MLP.
3,0Potrafi zaprogramować algorytm perceptronu Rosenblatta w wersji podstawowej liniowej.
3,5Potrafi wykazać doświadczalnie wpływ marginesu separacji danych na liczbę kroków uczenia w perceptronie Rosenblatt'a.
4,0Potrafi zaprogramować algorytm perceptronu Rosenblatta w wersji nieliniowej z użyciem przekształcenia jądrowego (kernel trick).
4,5Potrafi zaprogramować podstawowy algorytm back-propagation dla sieci MLP i użyć go do zadania aproksymacji funkcji dwóch zmiennych.
5,0Potrafi zaprogramować algorytm MLP z wariantem rozpędu (momentum) i pokazać jego przewagę nad algorytmem podstawowym.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_U04Potrafi zastosować algorytm genetyczny (schemat podstawowy) do zadań optymalizacji.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
I_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
I_1A_U15potrafi wykorzystywać poznane metody, modele matematyczne oraz symulacje komputerowe do rozwiązywania prostych problemów inżynierskich
Cel przedmiotuC-5Zapoznanie studentów z problemami optymalizacji dyskretnej. Ukształtowanie rozumienia rozwiązywania tych problemów poprzez metody losowe ukierunkowane (algorytmy genetyczne).
Treści programoweT-L-7Implementacja w MATLABie algorytmu genetycznego do rozwiązywania problemu plecakowego. W tym: implementacja przynajmniej dwóch metod selekcji i dwóch metod krzyżowania. Postawienie zadania domowego - porównania rozwiązań genetycznych z rozwiązaniem dokładnym opartym na kracie.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
Sposób ocenyS-2Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi zaprogramować podstawowego algorytmu genetycznego.
3,0Potrafi zaprogramować algorytm genetyczny z jedną metodą selekcji i krzyżowania dla problemu plecakowego.
3,5Potrafi zaprogramować algorytm genetyczny z wieloma wariantami selekcji i jednym wariantem krzyżowania dla problemu plecakowego.
4,0Potrafi zaprogramować algorytm genetyczny z wieloma wariantami selekcji i wieloma wariantami krzyżowania dla problemu plecakowego.
4,5Potrafi zaprogramować rozwiązanie dokładne dla problemu plecakowego i porównać złożoność i dokładność z rozwiązaniem genetycznym.
5,0Potrafi zaproponować i zaprogramować rozwiązanie genetyczne dla problemu komiwojażera.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_U05Potrafi zaprogramować algorytmy MIN-MAX oraz "przycinanie alfa-beta" dla gier dwuosobowych o pełnej informacji. Rozumie pojęcia heurystyka, efekt horyzontu, wypłata, strategia.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
I_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
I_1A_U15potrafi wykorzystywać poznane metody, modele matematyczne oraz symulacje komputerowe do rozwiązywania prostych problemów inżynierskich
Cel przedmiotuC-2Zapoznanie studentów z podstawowymi elementami gier dwuosobowych o pełnej informacji. Zapoznanie z algorytmami przeszukiwania drzew gier i wyboru najlepszego ruchu.
C-3Ukształtowanie rozumienia pojęć heurystyka, wypłata, strategia, efekt horyzontu.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
Sposób ocenyS-2Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%).
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi zaprogramować algorytmu MIN-MAX dla gry Connect4.
3,0Potrafi zaprogramować algorytmu MIN-MAX dla gry Connect4.
3,5Potrafi zaprogramować algorytm przycinanie alfa-beta dla gry Connect4.
4,0Potrafi zaprogramować algorytm przycinanie alfa-beta dla gry Connect4 z wykorzystaniem bardziej złożonych heurystyk.
4,5Potrafi zaprogramować algorytm przycinanie alfa-beta dla gry Connect4 z wykorzystaniem bardziej złożonych heurystyk oraz tablicy transpozycji.
5,0Potrafi zaproponować heurystyki dla innych niż Connect4 przykładów gier dwuosobowych: warcaby, szachy.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/16_K01Rozumie filozoficzne aspekty sztucznego inteligencji jako zdolności do rozwiązywania problemów przeszukiwania i obliczeniowych (sprawdzalnej doświadczalnie).
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
I_1A_K04rozumie potrzebę przekazywania społeczeństwu informacji o rozwoju i osiągnięciach nauki w zakresie informatyki
Cel przedmiotuC-4Zapoznanie studentów z zadaniami klasyfikacji i aproksymacji danych (jako zadaniami uczenia maszynowego). Zapoznanie z podstawowymi sieciami neurnowymi przeznaczonymi do tych zadań.
C-2Zapoznanie studentów z podstawowymi elementami gier dwuosobowych o pełnej informacji. Zapoznanie z algorytmami przeszukiwania drzew gier i wyboru najlepszego ruchu.
C-1Zapoznanie studentów z różnymi algorytmy przeszukiwania grafów stanów z dostosowaniem ich do różnych problemów praktycznych.
C-6Zapoznanie studentów z historią, podstawowymi problemami i definicjami sztucznej inteligencji.
C-5Zapoznanie studentów z problemami optymalizacji dyskretnej. Ukształtowanie rozumienia rozwiązywania tych problemów poprzez metody losowe ukierunkowane (algorytmy genetyczne).
C-3Ukształtowanie rozumienia pojęć heurystyka, wypłata, strategia, efekt horyzontu.
Treści programoweT-W-5Algorytmy genetyczne w problemach optymalizacji. Schemat głównej pętli genetycznej. Funkcja przystosowania. Metody selekcji: ruletkowa, rankingowa, turniejowa. Problem eksploracja a eksploatacja, uwagi o zbieżności i utrzymywaniu różnorodności w populacji. Krzyżowanie jedno, dwu i wielopunktowe. Mutacja i jej rola w AG dla problemów dyskretnych i ciągłych. Przykłady problemów: plecakowy, komiwojażera. Dokładne rozwiązanie problemu plecakowego za pomocą programowania dynamicznego i kraty.
T-L-6Systemy rozmyte z wykorzystnie FuzzyTech'a. Przykład sterowania suwnicą.
T-L-7Implementacja w MATLABie algorytmu genetycznego do rozwiązywania problemu plecakowego. W tym: implementacja przynajmniej dwóch metod selekcji i dwóch metod krzyżowania. Postawienie zadania domowego - porównania rozwiązań genetycznych z rozwiązaniem dokładnym opartym na kracie.
T-L-4Tworzenie prostego systemu ekspertowego.
T-L-1Języki deklaratywne na przykładzie Prologu. Programowania prostego wnioskowania.
T-L-2Klasyfikacja z użyciem sieci neuronowych (wykorzystanie programu WEKA).
T-L-5Implementacja w MATLABie algorytmu uczenia perceptronu Rosenblatt'a w wersji liniowej dla problemu na płaszczyźnie. Testowanie liczby kroków aktualizacyjnych ze względu na zmiany: współczynnika uczenia, rozmiaru zbioru danych, zmniejszenia marginesu separacji.
T-L-3Generowanie reguł dla systemu ekspertowego z wykorzystaniem algorytmów generowania drzew decyzyjnych.
Metody nauczaniaM-2Metoda przypadków.
M-1Wykład informacyjny.
M-5Pokaz.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
Sposób ocenyS-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi podać podstawowych problemów i definicji sztucznej inteligencji.
3,0Potrafi podać podstawowe problemy (grupy problemów) stawiane w ramach sztucznej inteligencji.
3,5Potrafi podać podstawowe definicje sztucznej inteligencji i ich aspekty filozoficzne.
4,0Potrafi podać podstawowe algorytmy przeszukujące dla grafów i drzew gier.
4,5Potrafi podać algorytmu podstawowe aglorytmy uczenia się z danych oparte na sieciach neuronowych.
5,0Dla podanego problemu (niekoniecznie znanego) potrafi podać potencjalne sposoby rozwiązania go z wykorzystaniem technik sztucznej inteligencji.