- Nazwa przedmiotu:
- Metody sztucznej inteligencji
- Koordynator przedmiotu:
- prof. dr hab. inż. Włodzimierz Kasprzak
- Status przedmiotu:
- Fakultatywny ograniczonego wyboru
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Elektronika i Telekomunikacja
- Grupa przedmiotów:
- przedmioty specjalności
- Kod przedmiotu:
- MSIZ
- Semestr nominalny:
- 7 / rok ak. 2020/2021
- Liczba punktów ECTS:
- 6
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba godzin kontaktowych - 25 h, w tym:
a) uczestnictwo w zajęciach stacjonarnych - 5 h;
b) uczestnictwo w konsultacjach (poprzez Skype) - 6 h;
c) uczestnictwo w trzech sprawdzianach - 6 h;
d) analiza dokonanej przez nauczyciela oceny trzech sprawdzianów - 3 h;
e) analiza dokonanej przez nauczyciela oceny projektu wstępnego - 3 h;
f) uczestnictwo w egzaminie - 2 h.
Praca własna studenta - 140 h - w tym:
a) samodzielne studiowanie materiałów wykładowych - 40 h;
b) samodzielne studiowanie i rozwiązywanie zadań z materiałów do ćwiczeń - 40 h;
c) wykonanie projektu - 40 h;
d) przygotowanie się do egzaminu - 20 h.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 4
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt30h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Student powinien posiadać wiedzę z zakresu przedmiotów podstawowych - analiza matematyczna i matematyka dyskretna, oraz przedmiotów informatycznych z zakresu programowania oraz algorytmów i struktur danych.
- Limit liczby studentów:
- 30
- Cel przedmiotu:
- Studenci poznają podstawy sztucznej inteligencji - reprezentację wiedzy i procedury wnioskowania w logice, algorytmy przeszukiwania przestrzeni stanów i uczenia wiedzy deterministycznej. Po ukończeniu przedmiotu studenci będą potrafili projektować systemy decyzyjne korzystające z narzędzi, implementujących powyższe metody i algorytmy, a także projektować własne narzędzia informatyczne o podobnym charakterze.
- Treści kształcenia:
- Wykład
1. Wprowadzenie.
Inżynieria wiedzy – reprezentacja i wnioskowanie. Rozwiązywanie problemów poprzez przeszukiwanie i planowanie. Uczenie wiedzy deterministycznej - uczenie z nadzorem i ze wzmocnieniem.
2. Rachunek zdań.
Język logiki. Składnia i semantyka rachunku zdań. System wnioskowania – zasady i reguły wnioskowania. Postacie normalne zdań. Procedura wnioskowania przez rezolucję. Procedury wnioskowania „w przód” i wstecz. Własności zmienne w czasie.
3. Logika predykatów.
Składnia i semantyka logiki predykatów. Własności wnioskowania. Podstawienie i unifikacja formuł. Eliminacja kwantyfikatorów. Rachunek sytuacji.
4. Wnioskowanie w logice predykatów.
Uogólniona reguła odrywania. Wnioskowanie „w przód” i „wstecz” w logice predykatów. Wnioskowanie przez rezolucję. System logicznego wnioskowania. Język PROLOG.
5. Wiedza regułowa i strukturalna.
Inżynieria wiedzy. Ontologia – kategorie pojęć. System regułowy. Ramy. Sieci semantyczne.
6. Przeszukiwanie przestrzeni stanów.
Schemat przeszukiwania. Strategie ślepego przeszukiwania.
7. Przeszukiwanie poinformowane.
Funkcja oceny i strategia „najlepszy najpierw”. Funkcja heurystyczna. Strategia „najbliższy celowi najpierw”. Algorytm A*. Przeszukiwanie drzewa a przeszukiwanie grafu.
8. Losowość w przeszukiwaniu.
Algorytm losowego próbkowania. Algorytm błądzenia przypadkowego. Algorytm wspinaczkowy. Symulowane wyżarzanie. Algorytmy ewolucyjne i genetyczne.
9. Gry dwuosobowe.
Drzewo gry. Strategia minimaksowa. Przycinanie alfa-beta. Minimaks z obcinaniem. Funkcja oceny stanu gry.
10. Uczenie na podstawie obserwacji.
Formy uczenia poprzez indukcję – uczenie klasyfikatora pojęć, grupowanie (tworzenie pojęć), aproksymacja funkcji. Uczenie jako przeszukiwanie przestrzeni hipotez – algorytm CAE.
11. Uczenie się klasyfikacji.
Zadanie klasyfikacji. Tworzenie drzewa decyzyjnego. Kryterium wyboru testów. Uczenie funkcji decyzyjnych - maszyna liniowa, klasyfikator SVM.
12. Uczenie się aproksymacji.
Zadanie aproksymacji. Regresja liniowa i wielomianowa. Metoda pamięciowa aproksymacji i klasyfikacji - kNN.
13. Sieci neuronowe MLP.
Aproksymacja funkcji za pomocą sieci neuronowych. Definicja perceptronu wielowarstwowego MLP. Wpływ wag na jakość aproksymacji. Uczenie sieci MLP – wsteczna propagacja błędu.
Ćwiczenia
C1. Reprezentacja wiedzy w logice.
C2. Wnioskowanie w logice i systemach regułowych.
C3. Przeszukiwanie ślepe i poinformowane.
C4. Losowość w przeszukiwaniu i gry z przeciwstawnymi celami.
C5. Uczenie indukcyjne i uczenie się klasyfikacji.
C6. Uczenie się aproksymacji funkcji.
Projekt
Ten rodzaj kształcenia polega na samodzielnym zaprojektowaniu i implementacji programu rozwiązującego wybrany problem wnioskowania, przeszukiwania lub uczenia z wykorzystaniem algorytmów poznanych podczas zajęć (wykładu i ćwiczeń) z tego przedmiotu.
- Metody oceny:
- Od każdego studenta wymaga się rozwiązania zadań w ramach trzech sprawdzianów, ocenianych w skali 0-5 p. każdy. Studenci realizują samodzielne projekty, obejmujący udokumentowany projekt wstępny, projekt i implementację programu wraz z dokumentacją końcową (oceniane łącznie w skali 0-35 p.).
Końcowy egzamin obejmuje trzy zadania i oceniany jest w skali 0-50 p.
Łączna maksymalna liczba punktów wynosi 100. Ocena pozytywna przyznawana jest po uzyskaniu ponad 50 punktów, w tym pozytywnego rozliczenia wykonanego projektu.
- Egzamin:
- tak
- Literatura:
- Literatura podstawowa
1. W. Kasprzak: MSI - studia inżynierskie. Materiały do wykładu i ćwiczeń. OKNO PW, 2011, 2014.
2. J. Arabas, P.Cichosz, A. Dydyński: ITO. Akademickie podręczniki multimedialne. Politechnika Warszawska, 2005.
Literatura uzupełniająca
3. S. Russell, P. Norvig: Artificial Intelligence: A Modern Approach. Prentice Hall, 1995, 2002, 2010.
4. M. Flasiński: Wstęp do sztucznej inteligencji. Wydawnictwo Naukowe PWN, 2011.
5. W. Traczyk: Inżynieria wiedzy. Exit, Warszawa, 2010.
- Witryna www przedmiotu:
- https://inz.okno.pw.edu.pl/
- Uwagi:
- -
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka MSI_W01
- ma szczegółową wiedzę w dziedzinie inżynierii komputerowej;
ma wiedzę w zakresie metodyki i technik programowania.
Weryfikacja: ocena projektu inżynierskiego, ocena zadań na sprawdzianach i na egzaminie.
Powiązane charakterystyki kierunkowe:
K_W04, K_W19
Powiązane charakterystyki obszarowe:
I.P6S_WG
Profil ogólnoakademicki - umiejętności
- Charakterystyka MSI_U01
- ma umiejętność samokształcenia się; potrafi formułować zagadnienia w postaci algorytmicznej i zapisywać algorytmy w językach programowania; potrafi wykorzystać poznane metody i modele matematyczne do analizy systemów automatycznego wnioskowania, przeszukiwania i uczenia się; umie posługiwać się regułami logiki matematycznej w zastosowaniu do systemów z bazą wiedzy, w tym systemów ekspertowych.
Weryfikacja: ocena sprawdzianów, projektu inżynierskiego i egzaminu.
Powiązane charakterystyki kierunkowe:
K_U05, K_U15, K_U18, K_U20
Powiązane charakterystyki obszarowe:
I.P6S_UU, III.P6S_UW.4.o, I.P6S_UW, III.P6S_UW.1.o
Profil ogólnoakademicki - kompetencje społeczne
- Charakterystyka MSI_K01
- potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania; potrafi myśleć i działać w sposób przedsiębiorczy.
Weryfikacja: w ramach konsultacji, zajęć stacjonarnych i oceny wykonania projektu inżynierskiego.
Powiązane charakterystyki kierunkowe:
K_K04, K_K06
Powiązane charakterystyki obszarowe:
I.P6S_KK, I.P6S_KO