Wydział Informatyki - Informatyka (S1)
Sylabus przedmiotu Wstęp do sztucznej inteligencji:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauk technicznych, studiów inżynierskich | ||
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 | Przemysław Klęsk <pklesk@wi.zut.edu.pl> | ||
Inni nauczyciele | Joanna Kołodziejczyk <Joanna.Kolodziejczyk@zut.edu.pl> | ||
ECTS (planowane) | 2,0 | ECTS (formy) | 2,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | matematyka |
W-2 | algorytmy i struktury danych |
W-3 | podstawy programowania |
W-4 | programowanie obiektowe |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z różnymi algorytmy przeszukiwania grafów stanów z dostosowaniem ich do różnych problemów praktycznych. |
C-2 | Zapoznanie studentów z podstawowymi elementami gier dwuosobowych o pełnej informacji. Zapoznanie z algorytmami przeszukiwania drzew gier i wyboru najlepszego ruchu. |
C-3 | Ukształtowanie rozumienia pojęć heurystyka, wypłata, strategia, efekt horyzontu. |
C-4 | Zapoznanie studentów z zadaniami klasyfikacji i aproksymacji danych (jako zadaniami uczenia maszynowego). Zapoznanie z podstawowymi sieciami neurnowymi przeznaczonymi do tych zadań. |
C-5 | Zapoznanie studentów z problemami optymalizacji dyskretnej. Ukształtowanie rozumienia rozwiązywania tych problemów poprzez metody losowe ukierunkowane (algorytmy genetyczne). |
C-6 | Zapoznanie studentów z historią, podstawowymi problemami i definicjami sztucznej inteligencji. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Zapoznanie studentów z szalbonem klas przygotowanych w języku Java do implementacji algorytmu A* oraz ze środowiskiem Eclipse. Wstępna implementacja układanki sudoku. | 2 |
T-L-2 | Implementacja układanki sudoku. Testowanie działania poprzez zmiany (utrudnienia) w stanie początkowym. Obserwowanie liczby odwiedzonych stanów przez algorytm oraz liczby rozwiązań. Postawienie zadania domowego - implementacja programu do rozwiązywania układanki puzzle n^2 - 1 (na bazie zakończonej implementacji dla sudoku). | 2 |
T-L-3 | Sprawdzenie działania programu do rozwiązywania układanki puzzle n^2 - 1. Zapoznanie się z szablonem klas (Java) przeznaczonych do przeszukiwania drzew gier dwuosobowych oraz z silnikiem algorytmu przycinanie alpha-beta. Postawienie zadania domowego - implementacja programu grającego przeciwko człowiekowi w grę connect4. | 3 |
T-L-4 | Sprawdzenie działania programów studentów do gry w grę connect4. Testy nastawy różnych głębokości drzewa.Testy rozgrywek program kontra program. Analiza różnych możliwych heurystyek oceniających liście drzewa gry. | 2 |
T-L-5 | Implementacja 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. Postawienie zadania domowego - implementacji programu do klasyfikacji binarnej nieliniowej z wykorzystaniem przekształcenia jądrowego. | 2 |
T-L-6 | Implementacja w MATLABie sieci neurnowej MLP dla aproksymacji funkcji dwóch zmiennych. Testowanie skuteczności uczenia ze względu na liczbę neuronów, wartość współczynnika uczenia, liczbę kroków uczących. Postawienie zadania domowego - dobranie odpowiedniej liczby neuronów techniką krzyżowej walidacji. | 2 |
T-L-7 | Implementacja 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 |
15 | ||
wykłady | ||
T-W-1 | Definicje sztucznej inteligencji i problemy stawiane w ramach niej m.in.: problem przeszukiwania grafów i drzew gier, problem n-hetmanów, puzzle n^2-1, sudoku i minmalne sudoku. problem Jeepa, problem plecakowy, problem komiwojażera, dylemat więźnia, iterowany dylemat więźnia, problem klasyfikacji danych, gra w naśladownictwo (test Turinga), sztuczne życie i automaty komórkowe, gra w życie Conwaya. Wzmianka o Statystycznej Teorii Uczenia Vapnika. Poglądy Minsky'ego o sztucznej inteligencji. | 2 |
T-W-2 | Szczegółowe omówienie algorytmów do przeszukiwania grafów: Breadth-First-Search, Best-First-Search, A*, Dijkstry. Pojęcie heurystyki. Efektywne struktury danych wykorzystywane w tych algorytmach: mapa haszująca, kolejka priorytetowa. | 2 |
T-W-3 | Szczegółowe omówienie algorytmów i pojęć z zakresu gier dwuosobowych o pełnej informacji. Algorytmy: MIN-MAX i przycinanie "alfa-beta". Złożoność obliczeniowa i pamięciowa. Efekt horyzontu. | 2 |
T-W-4 | Klasyfikacja danych (liniowa, binarna) na przykładzie perceptronu Rosenblatt'a. Schemat działania - przebieg wprzód. Algorytm uczenia. Liniowa separowalność danych. Twierdzenie Novikoffa o zbieżności i jego dowód. | 2 |
T-W-5 | Sieć neuronowa Multi-Layer-Perceptron. Sigmoidalna funkcja aktywacji. Uczenie w trybie on-line i off-line. Matematyczne wyprowadzenie metody wstecznej propagacji błędu back-propagation. Wzmianka o wariantach tej metody. Złożoność sieci - testowanie i krzyżowa walidacja. | 3 |
T-W-6 | Algorytmy 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 |
T-W-7 | Kolokwium zaliczeniowe. | 2 |
15 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Napisanie programu do rozwiązywania układanki puzzle n^2-1. Przygotowanie się do sprawdzianu z algorytmów do przeszukiwania grafów. | 4 |
A-L-2 | Napisanie programu do gry w grę connect4 (w tym ułożenie własnej heurystyki oceniającej liście drzewa). Przygotowanie się do sprawdzianu z drzew gier. | 4 |
A-L-3 | Napisanie programu do wykrywania odpowiedniej liczby neuronów w sieci MLP poprzez krzyżową walidację. Przygotowanie się do sprawdzianu z sieci MLP. | 4 |
A-L-4 | Napisanie programu porównującego rozwiązanie genetyczne dla problemu plecakowego z rozwiązaniem dokładnym opartym na kracie. Przygotowanie się do sprawdzianu z algorytmów genetycznych. | 4 |
A-L-5 | Udział w zajęciach laboratoryjnych | 15 |
A-L-6 | Zapoznanie się z materiłami (.pdf) dotyczącymi nieliniowej klasyfikacji (przekształcenie jądrowe + perceptron Rosenblatt'a) i wykonanie programu. | 4 |
35 | ||
wykłady | ||
A-W-1 | Udział w wykładzie | 7 |
A-W-2 | Konsultacje z prowadzącym. | 2 |
A-W-3 | Przygotowanie się do kolokwium zaliczeniowego. | 13 |
A-W-4 | Zaliczenie formy zajęć. | 2 |
24 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny. |
M-2 | Metoda przypadków. |
M-3 | Gry dydaktyczne. |
M-4 | Metody programowane z użyciem komputera. |
M-5 | Pokaz. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Pięć sprawdzianów (10 minutowych) na zakończenie każdego bloku tematycznego w trakcie laboratoriów. |
S-2 | Ocena formująca: Pięć ocen programów realizowanych przez studentów jako zadania domowe na laboratoriach. |
S-3 | Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona z: - ocen za sprawdziany (waga 40%), - ocen za programy (waga 60%). |
S-4 | Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C/16_W01 Zna i rozumie podstawowe problemy stwawiane w ramach sztucznej inteligencji (ze szczególnym uwzględnieniem problemów: przeszukiwania grafów i drzew gier, klasyfikacji oraz optymalizacji dyskretnej), a także zna podstawowe algorytmy przeznaczonego do rozwiązywania ich. | I_1A_W12 | T1A_W03 | InzA_W05 | C-1, C-2, C-3, C-4, C-5, C-6 | — | M-1, M-2, M-5 | S-4 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C/16_U01 Potrafi zaprogramować: algorytmy przeszukiwania grafów (A*, BFS), algorytmy przeszukiwania drzew gier (przycinanie alfa-beta), algorytmy uczenia sieci neuronowych (reguła perceptronu, back-propagation dla MLP), podstawowy algorytm genetyczny. | I_1A_U15, I_1A_U19 | T1A_U08, T1A_U09, T1A_U13, T1A_U14, T1A_U15, T1A_U16 | InzA_U01, InzA_U02, InzA_U05, InzA_U06, InzA_U07, InzA_U08 | C-1, C-2, C-3, C-4, C-5, C-6 | — | M-2, M-3, M-4 | S-1, S-2, S-3 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/16_W01 Zna i rozumie podstawowe problemy stwawiane w ramach sztucznej inteligencji (ze szczególnym uwzględnieniem problemów: przeszukiwania grafów i drzew gier, klasyfikacji oraz optymalizacji dyskretnej), a także zna podstawowe algorytmy przeznaczonego do rozwiązywania ich. | 2,0 | |
3,0 | Uzyskanie przynajmniej 50% punktów z pisemnego kolokwium zaliczeniowego, sprawdzającego rozumienie podstawowych pojęć, problemów i algorytmów w ramach SI. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_C/16_U01 Potrafi zaprogramować: algorytmy przeszukiwania grafów (A*, BFS), algorytmy przeszukiwania drzew gier (przycinanie alfa-beta), algorytmy uczenia sieci neuronowych (reguła perceptronu, back-propagation dla MLP), podstawowy algorytm genetyczny. | 2,0 | |
3,0 | Uzyskanie przynajmniej 50% wartości średniej ważonej ocen za programy (60% wagi) oraz ze krótkie sprawdziany pisemne (40% wagi). Oceny cząstkowe wykazują znajomość i umiejętność zaprogramowania algorytmów. | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Literatura podstawowa
- E. Feigenbaum, J. Feldman, Maszyny matematyczne i myślenie, PWN, 1963
- L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2005
- D. Rutkowska, M. Piliński, L. Rutkowski, Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, 1997
Literatura dodatkowa
- S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT, 1996
- A. Piegat, Modelowanie i sterowanie rozmyte, EXIT, 1999