Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria chmurowa
Sylabus przedmiotu Sztuczna inteligencja:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | charakterystyki PRK, kompetencje inżynierskie PRK | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Sztuczna inteligencja | ||
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 | Andrzej Piegat <Andrzej.Piegat@zut.edu.pl>, Marcin Pluciński <Marcin.Plucinski@zut.edu.pl> | ||
ECTS (planowane) | 5,0 | ECTS (formy) | 5,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Algorytmy 2 |
W-2 | Programowanie 2 |
W-3 | Matematyka dyskretna |
W-4 | Matematyka stosowana ze statystką 2 |
W-5 | Metody numeryczne |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z podstawowymi technikami rozwiązywania problemów z zakresu sztucznej inteligencjii; w szczególności z algorytmami przeszukującymi, rozpoznawania wzorców i optymalizacji |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Napisanie programu do rozwiązywania układanki sudoku. | 6 |
T-L-2 | Napisanie programu do rozwiązywania układanki puzzle przesuwne wraz z porównaniem funkcji heurystycznych. | 2 |
T-L-3 | Napisanie programu (sztucznej inteligencji) do gry dwuosobowej connect4. Porównanie funkcji oceniających pozycję poprzez turniej programów. | 4 |
T-L-4 | Napisanie programu dla perceptronu prostego. Dodatkowy wariant z przekształceniem jądrowym. | 2 |
T-L-5 | Napisanie programu dla perceptronu wielowarstwowego. | 2 |
T-L-6 | Napisanie programu realizującego algorytmu genetyczny dla dyskretnego problemu plecakowego. Porównanie z rozwiązaniami dokładnymi (programowanie dynamiczne). | 4 |
T-L-7 | Napisanie programu dla naiwnego klasyfikatora Bayesa. | 4 |
T-L-8 | Podstawy programowania w Prologu. Przedstawienie skladni i podstawowych struktur danych. Przyklad wnioskowania z niepewnością na przykladzie sieci bayesowskiej. | 6 |
30 | ||
wykłady | ||
T-W-1 | Wprowadzenie - podstawowe problemy i definicje sztucznej inteligencji. Ogólne przedstawienie i przegląd zadań: przeszukiwania grafów, gier dwuosobowych, rozpoznawania wzorców, optymalizacji dyskretnej, wyboru strategii, sztucznego życia. Poglądy Turinga i Minsky'ego na temat inteligencji i maszyn matematycznych. Gra w naśladownictwo (zalety i wady). | 4 |
T-W-2 | Przeszukiwanie grafów. Krótkie przypomnienie algorytmów przechodzenia grafów wszerz i w głąb, oraz algorytmu Dijkstry. Algorytm Best-first search i pojęcie heurystyki. Algorytm A*. Heurystyka dopuszczalna i monotoniczna. Dowód znajdowania ścieżek optymalnych przez A* przy założeniu heurystyki dopuszczalnej. Przykłady zadań: sudoku, puzzle przesuwne. Przykłady heurystyk i sprawdzenie ich monotoniczności. Ważne dla przeszukiwań struktury danych: kolejka priorytetowa, mapa haszująca. Algorytm IDA*. | 4 |
T-W-3 | Przeszukiwanie drzew gier dwuosobowych o pełnej informacji (szachy, warcaby, go, connect4). Algorytmy: minimaks i przycinanie alfa-beta. Funkcje oceniające pozycje w grach. Efekt horyzotnu i technika Quiescence. Złożoność obliczeniowa minimaks i przycinania alfa-beta (w szczególności analiza przypadku optymistycznego). Porównanie działania algorytmów (liczba odwiedzanych stanów). Gry z elementami losowymi. Algorytm expecti-minimax. | 4 |
T-W-4 | Przeszukiwania stochastyczne: hill climbing, symolowane wyżarzanie, algorytmy genetyczne. Funkcje oceny, metody selekcji i operatory genetyczne. Przykłady rozwiązań przybliżonych i porównanie z metodami dokładnymi. | 4 |
T-W-5 | Podstawy uczenia maszynowego i rozpoznawania wzorców. Ogólny scenariusz uczenia z nadzorem - pojęcia: generatora (łącznego prawdopodobieństwa), próby i.i.d., maszyny uczącej się. Zdefiniowanie zadań klasyfikacji i estymacji regresji. Pojęcia: błąd prawdziwy, błąd uczący i testowy na próbie i ich związki. Złożoność modelu i przeuczenie. | 2 |
T-W-6 | Perceptron prosty (perceptron Rosenblatt'a). Schemat, obliczenia w przód, interpretacja geometyczna, algorytm uczący. Liniowa separowalność danych. Twierdzenie Novikoffa o zbieżności algorytmu perceptronu wraz z dowodem. Przykłady działania. | 2 |
T-W-7 | Perceptron wielowarstwowy (MLP). Schematy z jedną i wiieloma warstwami ukrytymi. Sigmoidalna funkcja aktywacji. Wyprowadzenie metody wstecznej propagacji błędu. Przykłady działania. Warianty uczenia: momentum i RPROP. Przykłady działania. | 3 |
T-W-8 | Naiwny klasyfikator Bayesa. Krótkie przypomnienie elementów rachunku prawdopodobieństwa (prawodpodobieństwo warunkowe, całkowite, niezależność zdarzeń, schemat Bernoulli'ego). Wyprowadzenie wzoru na odpowiedź klasyfikatora Bayesa z założeniem naiwnym. Przykłady działania dla wybranych problemów praktycznych. Reguła Bayesa i wnioskowanie probabilistyczne. | 3 |
T-W-9 | Systemy produkcyjne i reprezentacja wiedzy. Ogólnyn schemat systemow produkcyjnych z wiedzą. Różne formy reprezentacji wiedzy. | 2 |
T-W-10 | Sieci bayesowskie. Reprezentowanie niepewności w systemch wnioskujących, budowa sieci bayesowskiej, algorytmy wnioskowania. | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Udział w zajęciach. | 30 |
A-L-2 | Praca własna | 20 |
50 | ||
wykłady | ||
A-W-1 | Udział w wykładach. | 30 |
A-W-2 | Praca własna. | 43 |
A-W-3 | Udział w egzaminie | 2 |
75 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykłady wraz analizą algorytmów i problemów. |
M-2 | Realizacja programów komputerowych stanowiących implementację poznanych algorytmów. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena podsumowująca: Egzamin końcowy. |
S-2 | Ocena podsumowująca: Oceny za programy i sprawdziany laboratoryjne. |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
Itest_1A_C19_W01 Student zna i rozumie podstawowe algorytmy i techniki z zakresu sztucznej inteligencji wraz z ich własnościami. | I_1A_W01 | — | — | C-1 | T-W-3, T-W-4, T-W-2, T-W-1, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10 | M-1 | S-1 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
Itest_1A_C19_U01 Student umie zaprogramować podstawowe algorytmy z zakresu sztucznej inteligencji i dostosować znany algorytm do nowego problemu. | I_1A_U08, I_1A_U06 | — | — | C-1 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-7, T-L-6, T-L-8 | M-2 | S-2 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
Itest_1A_C19_W01 Student zna i rozumie podstawowe algorytmy i techniki z zakresu sztucznej inteligencji wraz z ich własnościami. | 2,0 | |
3,0 | Uzyskanie wyniku w przedziale [50%, 60%) z egzaminu końcowego. | |
3,5 | Uzyskanie wyniku w przedziale [60%, 70%) z egzaminu końcowego. | |
4,0 | Uzyskanie wyniku w przedziale [70%, 80%) z egzaminu końcowego. | |
4,5 | Uzyskanie wyniku w przedziale [80%, 90%) z egzaminu końcowego. | |
5,0 | Uzyskanie wyniku w przedziale [90%, 100%] z egzaminu końcowego. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
Itest_1A_C19_U01 Student umie zaprogramować podstawowe algorytmy z zakresu sztucznej inteligencji i dostosować znany algorytm do nowego problemu. | 2,0 | |
3,0 | Uzyskanie wyniku w przedziale [50%, 60%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych. | |
3,5 | Uzyskanie wyniku w przedziale [60%, 70%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych. | |
4,0 | Uzyskanie wyniku w przedziale [70%, 80%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych. | |
4,5 | Uzyskanie wyniku w przedziale [80%, 90%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych. | |
5,0 | Uzyskanie wyniku w przedziale [90%, 100%] z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych. |
Literatura podstawowa
- M. Flasiński, Wstęp do sztucznej inteligencji, PWN, 2011
- L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2012
- S.J. Russel, P. Norwig, Artificial Intelligence: A Modern Approach, Pearson Education Limited, 2014
Literatura dodatkowa
- E.A. Feigenbaum, J. Feldman, Maszyny matematyczne i myślenie, PWN, 1963