Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)

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 nauki techniczne, studia inżynierskie
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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL5 30 2,00,50zaliczenie
wykładyW5 30 3,00,50egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Algorytmy 2
W-2Programowanie 2
W-3Matematyka dyskretna
W-4Matematyka stosowana ze statystką 2
W-5Metody numeryczne

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie 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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Napisanie programu do rozwiązywania układanki sudoku.6
T-L-2Napisanie programu do rozwiązywania układanki puzzle przesuwne wraz z porównaniem funkcji heurystycznych.2
T-L-3Napisanie programu (sztucznej inteligencji) do gry dwuosobowej connect4. Porównanie funkcji oceniających pozycję poprzez turniej programów.4
T-L-4Napisanie programu dla perceptronu prostego. Dodatkowy wariant z przekształceniem jądrowym.2
T-L-5Napisanie programu dla perceptronu wielowarstwowego.2
T-L-6Napisanie programu realizującego algorytmu genetyczny dla dyskretnego problemu plecakowego. Porównanie z rozwiązaniami dokładnymi (programowanie dynamiczne).4
T-L-7Napisanie programu dla naiwnego klasyfikatora Bayesa.4
T-L-8Podstawy programowania w Prologu. Przedstawienie skladni i podstawowych struktur danych. Przyklad wnioskowania z niepewnością na przykladzie sieci bayesowskiej.6
30
wykłady
T-W-1Wprowadzenie - 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-2Przeszukiwanie 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-3Przeszukiwanie 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-4Przeszukiwania 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-5Podstawy 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-6Perceptron 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-7Perceptron 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-8Naiwny 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-9Systemy produkcyjne i reprezentacja wiedzy. Ogólnyn schemat systemow produkcyjnych z wiedzą. Różne formy reprezentacji wiedzy.2
T-W-10Sieci bayesowskie. Reprezentowanie niepewności w systemch wnioskujących, budowa sieci bayesowskiej, algorytmy wnioskowania.2
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1Udział w zajęciach.30
A-L-2Samodzielna praca nad programami i zadaniami domowymi.20
50
wykłady
A-W-1Udział w wykładach.30
A-W-2Samodzielna analiza wybranych problemów i algorytmów.30
A-W-3Przygotowanie się do egzaminu końcowego i udział w nim.2
A-W-4Przygotowanie do egzaminu14
76

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykłady wraz analizą algorytmów i problemów.
M-2Realizacja programów komputerowych stanowiących implementację poznanych algorytmów.

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Egzamin końcowy.
S-2Ocena podsumowująca: Oceny za programy i sprawdziany laboratoryjne.

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_C16_W01
Student zna i rozumie podstawowe algorytmy i techniki z zakresu sztucznej inteligencji wraz z ich własnościami.
I_1A_W01C-1T-W-4, T-W-5, T-W-9, T-W-10, T-W-8, T-W-6, T-W-1, T-W-2, T-W-7, T-W-3M-1S-1

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_C16_U01
Student umie zaprogramować podstawowe algorytmy z zakresu sztucznej inteligencji i dostosować znany algorytm do nowego problemu.
I_1A_U06, I_1A_U03C-1T-L-1, T-L-8, T-L-2, T-L-4, T-L-6, T-L-5, T-L-7, T-L-3M-2S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_C16_W01
Student zna i rozumie podstawowe algorytmy i techniki z zakresu sztucznej inteligencji wraz z ich własnościami.
2,0
3,0Uzyskanie wyniku w przedziale [50%, 60%) z egzaminu końcowego.
3,5Uzyskanie wyniku w przedziale [60%, 70%) z egzaminu końcowego.
4,0Uzyskanie wyniku w przedziale [70%, 80%) z egzaminu końcowego.
4,5Uzyskanie wyniku w przedziale [80%, 90%) z egzaminu końcowego.
5,0Uzyskanie wyniku w przedziale [90%, 100%] z egzaminu końcowego.

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_1A_C16_U01
Student umie zaprogramować podstawowe algorytmy z zakresu sztucznej inteligencji i dostosować znany algorytm do nowego problemu.
2,0
3,0Uzyskanie wyniku w przedziale [50%, 60%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
3,5Uzyskanie wyniku w przedziale [60%, 70%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
4,0Uzyskanie wyniku w przedziale [70%, 80%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
4,5Uzyskanie wyniku w przedziale [80%, 90%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
5,0Uzyskanie wyniku w przedziale [90%, 100%] z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.

Literatura podstawowa

  1. M. Flasiński, Wstęp do sztucznej inteligencji, PWN, 2011
  2. L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2012
  3. S.J. Russel, P. Norwig, Artificial Intelligence: A Modern Approach, Pearson Education Limited, 2014

Literatura dodatkowa

  1. E.A. Feigenbaum, J. Feldman, Maszyny matematyczne i myślenie, PWN, 1963

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Napisanie programu do rozwiązywania układanki sudoku.6
T-L-2Napisanie programu do rozwiązywania układanki puzzle przesuwne wraz z porównaniem funkcji heurystycznych.2
T-L-3Napisanie programu (sztucznej inteligencji) do gry dwuosobowej connect4. Porównanie funkcji oceniających pozycję poprzez turniej programów.4
T-L-4Napisanie programu dla perceptronu prostego. Dodatkowy wariant z przekształceniem jądrowym.2
T-L-5Napisanie programu dla perceptronu wielowarstwowego.2
T-L-6Napisanie programu realizującego algorytmu genetyczny dla dyskretnego problemu plecakowego. Porównanie z rozwiązaniami dokładnymi (programowanie dynamiczne).4
T-L-7Napisanie programu dla naiwnego klasyfikatora Bayesa.4
T-L-8Podstawy programowania w Prologu. Przedstawienie skladni i podstawowych struktur danych. Przyklad wnioskowania z niepewnością na przykladzie sieci bayesowskiej.6
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie - 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-2Przeszukiwanie 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-3Przeszukiwanie 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-4Przeszukiwania 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-5Podstawy 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-6Perceptron 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-7Perceptron 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-8Naiwny 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-9Systemy produkcyjne i reprezentacja wiedzy. Ogólnyn schemat systemow produkcyjnych z wiedzą. Różne formy reprezentacji wiedzy.2
T-W-10Sieci bayesowskie. Reprezentowanie niepewności w systemch wnioskujących, budowa sieci bayesowskiej, algorytmy wnioskowania.2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Udział w zajęciach.30
A-L-2Samodzielna praca nad programami i zadaniami domowymi.20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach.30
A-W-2Samodzielna analiza wybranych problemów i algorytmów.30
A-W-3Przygotowanie się do egzaminu końcowego i udział w nim.2
A-W-4Przygotowanie do egzaminu14
76
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C16_W01Student zna i rozumie podstawowe algorytmy i techniki z zakresu sztucznej inteligencji wraz z ich własnościami.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W01Posiada poszerzoną wiedzę w zakresie matematyki stosowanej i obliczeniowej, niezbędną do formułowania i rozwiązywania problemów w szeroko pojętej informatyce i dyscyplinach pokrewnych.
Cel przedmiotuC-1Zapoznanie 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 programoweT-W-4Przeszukiwania 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.
T-W-5Podstawy 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.
T-W-9Systemy produkcyjne i reprezentacja wiedzy. Ogólnyn schemat systemow produkcyjnych z wiedzą. Różne formy reprezentacji wiedzy.
T-W-10Sieci bayesowskie. Reprezentowanie niepewności w systemch wnioskujących, budowa sieci bayesowskiej, algorytmy wnioskowania.
T-W-8Naiwny 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.
T-W-6Perceptron 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.
T-W-1Wprowadzenie - 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).
T-W-2Przeszukiwanie 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*.
T-W-7Perceptron 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.
T-W-3Przeszukiwanie 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.
Metody nauczaniaM-1Wykłady wraz analizą algorytmów i problemów.
Sposób ocenyS-1Ocena podsumowująca: Egzamin końcowy.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Uzyskanie wyniku w przedziale [50%, 60%) z egzaminu końcowego.
3,5Uzyskanie wyniku w przedziale [60%, 70%) z egzaminu końcowego.
4,0Uzyskanie wyniku w przedziale [70%, 80%) z egzaminu końcowego.
4,5Uzyskanie wyniku w przedziale [80%, 90%) z egzaminu końcowego.
5,0Uzyskanie wyniku w przedziale [90%, 100%] z egzaminu końcowego.
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C16_U01Student umie zaprogramować podstawowe algorytmy z zakresu sztucznej inteligencji i dostosować znany algorytm do nowego problemu.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U06Potrafi rozwiązywać podstawowe problemy algorytmiczne z uwzględnieniem ich złożoności posługując się kluczowymi językami programowania.
I_1A_U03Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
Cel przedmiotuC-1Zapoznanie 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 programoweT-L-1Napisanie programu do rozwiązywania układanki sudoku.
T-L-8Podstawy programowania w Prologu. Przedstawienie skladni i podstawowych struktur danych. Przyklad wnioskowania z niepewnością na przykladzie sieci bayesowskiej.
T-L-2Napisanie programu do rozwiązywania układanki puzzle przesuwne wraz z porównaniem funkcji heurystycznych.
T-L-4Napisanie programu dla perceptronu prostego. Dodatkowy wariant z przekształceniem jądrowym.
T-L-6Napisanie programu realizującego algorytmu genetyczny dla dyskretnego problemu plecakowego. Porównanie z rozwiązaniami dokładnymi (programowanie dynamiczne).
T-L-5Napisanie programu dla perceptronu wielowarstwowego.
T-L-7Napisanie programu dla naiwnego klasyfikatora Bayesa.
T-L-3Napisanie programu (sztucznej inteligencji) do gry dwuosobowej connect4. Porównanie funkcji oceniających pozycję poprzez turniej programów.
Metody nauczaniaM-2Realizacja programów komputerowych stanowiących implementację poznanych algorytmów.
Sposób ocenyS-2Ocena podsumowująca: Oceny za programy i sprawdziany laboratoryjne.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Uzyskanie wyniku w przedziale [50%, 60%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
3,5Uzyskanie wyniku w przedziale [60%, 70%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
4,0Uzyskanie wyniku w przedziale [70%, 80%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
4,5Uzyskanie wyniku w przedziale [80%, 90%) z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.
5,0Uzyskanie wyniku w przedziale [90%, 100%] z programów i sprawdzianów realizowanych w toku zajęć laboratoryjnych.