Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Biotechnologii i Hodowli Zwierząt - Bioinformatyka (S1)
specjalność: Biologia systemów i metody informatyczne

Sylabus przedmiotu Wstęp do sztucznej inteligencji:

Informacje podstawowe

Kierunek studiów Bioinformatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauk przyrodniczych, nauk technicznych, studiów inżynierskich
Profil ogólnoakademicki
Moduł
Przedmiot Wstęp do sztucznej inteligencji
Specjalność Systemy informatyczne w biologii
Jednostka prowadząca Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej
Nauczyciel odpowiedzialny Przemysław Klęsk <pklesk@wi.zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL5 15 1,50,41zaliczenie
wykładyW5 15 1,50,59zaliczenie

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-1Zapoznanie 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-2Implementacja 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-3Sprawdzenie 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-4Sprawdzenie 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-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. Postawienie zadania domowego - implementacji programu do klasyfikacji binarnej nieliniowej z wykorzystaniem przekształcenia jądrowego.2
T-L-6Implementacja 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-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
15
wykłady
T-W-1Definicje 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.3
T-W-2Szczegół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-3Szczegół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-4Klasyfikacja 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-5Sieć 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-6Algorytmy 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-7Kolokwium zaliczeniowe.1
15

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

KODForma aktywnościGodziny
laboratoria
A-L-1Dokładne zapoznanie się z pracą w środowisku Eclipse i z elementami języka Java istotnymi dla implementacji algorytmu A* (w szczególności ze strukturami danych).4
A-L-2Napisanie programu do rozwiązywania układanki puzzle n^2-1. Przygotowanie się do sprawdzianu z algorytmów do przeszukiwania grafów.8
A-L-3Napisanie 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.14
A-L-4Zapoznanie się z materiałami (pdf) o klasyfikacji nieliniowej - perceptron Rosenblatta + przekształcenie jądrowe. Napisanie programu na podstawie informacji z wykładu i materiałów. Przygotowanie się do sprawdzianu z perceptronu Rosenblatta.6
A-L-5Napisanie programu do wykrywania odpowiedniej liczby neuronów w sieci MLP poprzez krzyżową walidację. Przygotowanie się do sprawdzianu z sieci MLP.6
A-L-6Napisanie 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.7
45
wykłady
A-W-1Czytanie dokładne sprzeciwów do poglądów Turinga i kontrargumentów do tych sprzeciwów.4
A-W-2Słuchanie wskazanego wykładu Stephena Wolframa nt. "sztucznego życia".3
A-W-3Pisemne śledzenie algorytmu przycinanie alfa-beta dla drzew gier (wykrywanie gałęzi, które zostaną odcięte).4
A-W-4Porównanie w ramach algorytmu Best-First-Search różnych heurystyk do rozwiązywania układanki sudoku.4
A-W-5Konsultacje z prowadzącym.4
A-W-6Przygotowanie się do kolokwium zaliczeniowego.25
44

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
BI_1A_BII-S-C9_W01
Zna podstawowe problemy stawiane w ramach sztucznej inteligencji i definicje sztucznej inteligencji.
BI_1A_W13P1A_W04, P1A_W07, T1A_W02, T1A_W03InzA_W05C-6T-W-1M-1, M-2, M-3, M-5S-4
BI_1A_BII-S-C9_W02
Rozumie problemy optymalizacji dyskretnej. Zna schemat algorytmów genetycznych (jako sposób rozwiązania problemów optymalizacji dyskretnej).
BI_1A_W13P1A_W04, P1A_W07, T1A_W02, T1A_W03InzA_W05C-5T-W-6M-1, M-2, M-5S-1, S-3, S-4
BI_1A_BII-S-C9_W03
Rozumie problemy przeszukiwania grafów stanów i drzew gier dwuosobowych.
BI_1A_W16, BI_1A_W13P1A_W04, P1A_W07, T1A_W02, T1A_W03InzA_W05C-1, C-3T-W-2, T-W-3M-1, M-2, M-3, M-5S-1, S-3, S-4
BI_1A_BII-S-C9_W04
Rozumie zadania klasyfikacji i aproksymacji danych (jako zadania uczenia maszynowego)
BI_1A_W16, BI_1A_W13, BI_1A_W17P1A_W02, P1A_W04, P1A_W05, P1A_W06, P1A_W07, T1A_W02, T1A_W03, T1A_W04, T1A_W06, T1A_W07, T1A_W08InzA_W01, InzA_W03, InzA_W05C-4T-W-4, T-W-5M-1, M-2S-1, S-3, S-4

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
BI_1A_BII-S-C9_U01
Potrafi zaprogramować algorytmy przeszukiwania grafów (A*, Best-First-Search, Dijkstry) z dostosowaniem ich do różnych problemów praktycznych.
BI_1A_U09, BI_1A_U13P1A_U01, P1A_U03, P1A_U04, T1A_U02, T1A_U03, T1A_U04, T1A_U05, T1A_U07, T1A_U08, T1A_U09, T1A_U10, T1A_U15InzA_U01, InzA_U05, InzA_U06, InzA_U07, InzA_U08C-2, C-3T-L-1, T-L-2, T-L-3M-1, M-2, M-3, M-4, M-5S-2, S-3
BI_1A_BII-S-C9_U02
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
BI_1A_U09, BI_1A_U13, BI_1A_U17P1A_U01, P1A_U03, P1A_U04, P1A_U07, T1A_U02, T1A_U03, T1A_U04, T1A_U05, T1A_U07, T1A_U08, T1A_U09, T1A_U10, T1A_U15InzA_U01, InzA_U03, InzA_U05, InzA_U06, InzA_U07, InzA_U08C-4T-L-5, T-L-6M-1, M-2, M-3, M-4, M-5S-2, S-3
BI_1A_BII-S-C9_U03
Potrafi zastosować algorytm genetyczny (schemat podstawowy) do zadań optymalizacji.
BI_1A_U09, BI_1A_U13P1A_U01, P1A_U03, P1A_U04, T1A_U02, T1A_U03, T1A_U04, T1A_U05, T1A_U07, T1A_U08, T1A_U09, T1A_U10, T1A_U15InzA_U01, InzA_U05, InzA_U06, InzA_U07, InzA_U08C-5T-L-7M-1, M-2, M-3, M-4, M-5S-2, S-3
BI_1A_BII-S-C9_U04
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.
BI_1A_U09, BI_1A_U13P1A_U01, P1A_U03, P1A_U04, T1A_U02, T1A_U03, T1A_U04, T1A_U05, T1A_U07, T1A_U08, T1A_U09, T1A_U10, T1A_U15InzA_U01, InzA_U05, InzA_U06, InzA_U07, InzA_U08C-2, C-3T-L-1, T-L-4M-1, M-2, M-3, M-4, M-5S-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
BI_1A_BII-S-C9_K01
Rozumie filozoficzne aspekty sztucznego inteligencji jako zdolności do rozwiązywania problemów przeszukiwania i obliczeniowych (sprawdzalnej doświadczalnie).
BI_1A_K03P1A_K01, P1A_K02, P1A_K05, P1A_K07, P1A_K08, T1A_K01, T1A_K06, T1A_K07InzA_K02C-1, C-2, C-3, C-4, C-5, C-6T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7M-1, M-2, M-3, M-4, M-5S-4

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
BI_1A_BII-S-C9_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.
BI_1A_BII-S-C9_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.
BI_1A_BII-S-C9_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.
BI_1A_BII-S-C9_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
BI_1A_BII-S-C9_U01
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ą.
BI_1A_BII-S-C9_U02
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.
BI_1A_BII-S-C9_U03
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.
BI_1A_BII-S-C9_U04
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
BI_1A_BII-S-C9_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. E. Feigenbaum, J. Feldman, Maszyny matematyczne i myślenie, PWN, 1963
  2. L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2005
  3. D. Rutkowska, M. Piliński, L. Rutkowski, Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, PWN, 1997

Literatura dodatkowa

  1. S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT, 1996
  2. A. Piegat, Modelowanie i sterowanie rozmyte, EXIT, 1999

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie 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-2Implementacja 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-3Sprawdzenie 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-4Sprawdzenie 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-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. Postawienie zadania domowego - implementacji programu do klasyfikacji binarnej nieliniowej z wykorzystaniem przekształcenia jądrowego.2
T-L-6Implementacja 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-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
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Definicje 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.3
T-W-2Szczegół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-3Szczegół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-4Klasyfikacja 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-5Sieć 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-6Algorytmy 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-7Kolokwium zaliczeniowe.1
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Dokładne zapoznanie się z pracą w środowisku Eclipse i z elementami języka Java istotnymi dla implementacji algorytmu A* (w szczególności ze strukturami danych).4
A-L-2Napisanie programu do rozwiązywania układanki puzzle n^2-1. Przygotowanie się do sprawdzianu z algorytmów do przeszukiwania grafów.8
A-L-3Napisanie 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.14
A-L-4Zapoznanie się z materiałami (pdf) o klasyfikacji nieliniowej - perceptron Rosenblatta + przekształcenie jądrowe. Napisanie programu na podstawie informacji z wykładu i materiałów. Przygotowanie się do sprawdzianu z perceptronu Rosenblatta.6
A-L-5Napisanie programu do wykrywania odpowiedniej liczby neuronów w sieci MLP poprzez krzyżową walidację. Przygotowanie się do sprawdzianu z sieci MLP.6
A-L-6Napisanie 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.7
45
(*) 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.4
A-W-2Słuchanie wskazanego wykładu Stephena Wolframa nt. "sztucznego życia".3
A-W-3Pisemne śledzenie algorytmu przycinanie alfa-beta dla drzew gier (wykrywanie gałęzi, które zostaną odcięte).4
A-W-4Porównanie w ramach algorytmu Best-First-Search różnych heurystyk do rozwiązywania układanki sudoku.4
A-W-5Konsultacje z prowadzącym.4
A-W-6Przygotowanie się do kolokwium zaliczeniowego.25
44
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaBI_1A_BII-S-C9_W01Zna podstawowe problemy stawiane w ramach sztucznej inteligencji i definicje sztucznej inteligencji.
Odniesienie do efektów kształcenia dla kierunku studiówBI_1A_W13ma podstawową wiedzę dotyczącą metod sztucznej inteligencji i uczenia maszynowego
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_W04ma wiedzę w zakresie najważniejszych problemów z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zna ich powiązania z innymi dyscyplinami przyrodniczymi
P1A_W07ma wiedzę w zakresie podstawowych technik i narzędzi badawczych stosowanych w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W02ma podstawową wiedzę w zakresie kierunków studiów powiązanych ze studiowanym kierunkiem studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-6Zapoznanie studentów z historią, podstawowymi problemami i definicjami sztucznej inteligencji.
Treści programoweT-W-1Definicje 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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-5Pokaz.
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łceniaBI_1A_BII-S-C9_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ówBI_1A_W13ma podstawową wiedzę dotyczącą metod sztucznej inteligencji i uczenia maszynowego
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_W04ma wiedzę w zakresie najważniejszych problemów z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zna ich powiązania z innymi dyscyplinami przyrodniczymi
P1A_W07ma wiedzę w zakresie podstawowych technik i narzędzi badawczych stosowanych w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W02ma podstawową wiedzę w zakresie kierunków studiów powiązanych ze studiowanym kierunkiem studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
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-6Algorytmy 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-1Wykład informacyjny.
M-2Metoda przypadków.
M-5Pokaz.
Sposób ocenyS-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%).
S-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
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łceniaBI_1A_BII-S-C9_W03Rozumie problemy przeszukiwania grafów stanów i drzew gier dwuosobowych.
Odniesienie do efektów kształcenia dla kierunku studiówBI_1A_W16zna wybrane metody i techniki dotyczące podstaw komputerowego wspomagania
BI_1A_W13ma podstawową wiedzę dotyczącą metod sztucznej inteligencji i uczenia maszynowego
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_W04ma wiedzę w zakresie najważniejszych problemów z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zna ich powiązania z innymi dyscyplinami przyrodniczymi
P1A_W07ma wiedzę w zakresie podstawowych technik i narzędzi badawczych stosowanych w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W02ma podstawową wiedzę w zakresie kierunków studiów powiązanych ze studiowanym kierunkiem studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
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.
Treści programoweT-W-2Szczegół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.
T-W-3Szczegół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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-5Pokaz.
Sposób ocenyS-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%).
S-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
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łceniaBI_1A_BII-S-C9_W04Rozumie zadania klasyfikacji i aproksymacji danych (jako zadania uczenia maszynowego)
Odniesienie do efektów kształcenia dla kierunku studiówBI_1A_W16zna wybrane metody i techniki dotyczące podstaw komputerowego wspomagania
BI_1A_W13ma podstawową wiedzę dotyczącą metod sztucznej inteligencji i uczenia maszynowego
BI_1A_W17posiada wiedzę o narzędziach matematycznych i informatycznych, wykorzystywanych w analizach biologicznych i bioinformatycznych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_W02w interpretacji zjawisk i procesów przyrodniczych opiera się na podstawach empirycznych, rozumiejąc w pełni znaczenie metod matematycznych i statystycznych
P1A_W04ma wiedzę w zakresie najważniejszych problemów z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zna ich powiązania z innymi dyscyplinami przyrodniczymi
P1A_W05ma wiedzę w zakresie podstawowych kategorii pojęciowych i terminologii przyrodniczej oraz ma znajomość rozwoju dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów i stosowanych w nich metod badawczych
P1A_W06ma wiedzę w zakresie statystyki i informatyki na poziomie pozwalającym na opisywanie i interpretowanie zjawisk przyrodniczych
P1A_W07ma wiedzę w zakresie podstawowych technik i narzędzi badawczych stosowanych w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W02ma podstawową wiedzę w zakresie kierunków studiów powiązanych ze studiowanym kierunkiem studiów
T1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W04ma szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T1A_W06ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
T1A_W08ma podstawową wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych pozatechnicznych uwarunkowań działalności inżynierskiej
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W01ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
InzA_W03ma podstawową wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych uwarunkowań działalności inżynierskiej
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
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-W-4Klasyfikacja 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.
T-W-5Sieć 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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
Sposób ocenyS-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%).
S-4Ocena podsumowująca: Ocena końcowa za wykłady z kolokwium zaliczeniowego.
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łceniaBI_1A_BII-S-C9_U01Potrafi 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ówBI_1A_U09stosuje techniki programowania i języki odpowiednio do przedstawionego problemu, korzysta z wiedzy o różnicach w możliwościach zastosowań środowiska programistycznego, potrafi pod nadzorem opiekuna wykonać aplikację służącą do analizy danych biologicznych
BI_1A_U13rozwiązuje proste problemy techniczne i biologiczne wykorzystując wiedzę o sztucznej inteligencji i uczeniu maszynowym
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_U01stosuje podstawowe techniki i narzędzia badawcze w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
P1A_U03wykorzystuje dostępne źródła informacji, w tym źródła elektroniczne
P1A_U04wykonuje zlecone proste zadania badawcze lub ekspertyzy pod kierunkiem opiekuna naukowego
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U03potrafi przygotować w języku polskim i języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, dobrze udokumentowane opracowanie problemów z zakresu studiowanego kierunku studiów
T1A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T1A_U05ma umiejętność samokształcenia się
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T1A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
T1A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
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.
Treści programoweT-L-1Zapoznanie studentów z szalbonem klas przygotowanych w języku Java do implementacji algorytmu A* oraz ze środowiskiem Eclipse. Wstępna implementacja układanki sudoku.
T-L-2Implementacja 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).
T-L-3Sprawdzenie 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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
M-5Pokaz.
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łceniaBI_1A_BII-S-C9_U02Potrafi 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ówBI_1A_U09stosuje techniki programowania i języki odpowiednio do przedstawionego problemu, korzysta z wiedzy o różnicach w możliwościach zastosowań środowiska programistycznego, potrafi pod nadzorem opiekuna wykonać aplikację służącą do analizy danych biologicznych
BI_1A_U13rozwiązuje proste problemy techniczne i biologiczne wykorzystując wiedzę o sztucznej inteligencji i uczeniu maszynowym
BI_1A_U17korzysta z podstawowych narzędzi informatycznych do analizy danych zgromadzonych w bazach danych, dobiera odpowiednie oprogramowanie do badania procesów biologicznych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_U01stosuje podstawowe techniki i narzędzia badawcze w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
P1A_U03wykorzystuje dostępne źródła informacji, w tym źródła elektroniczne
P1A_U04wykonuje zlecone proste zadania badawcze lub ekspertyzy pod kierunkiem opiekuna naukowego
P1A_U07wykazuje umiejętność poprawnego wnioskowania na podstawie danych pochodzących z różnych źródeł
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U03potrafi przygotować w języku polskim i języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, dobrze udokumentowane opracowanie problemów z zakresu studiowanego kierunku studiów
T1A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T1A_U05ma umiejętność samokształcenia się
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T1A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
T1A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U03potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
InzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
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-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. Postawienie zadania domowego - implementacji programu do klasyfikacji binarnej nieliniowej z wykorzystaniem przekształcenia jądrowego.
T-L-6Implementacja 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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
M-5Pokaz.
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łceniaBI_1A_BII-S-C9_U03Potrafi zastosować algorytm genetyczny (schemat podstawowy) do zadań optymalizacji.
Odniesienie do efektów kształcenia dla kierunku studiówBI_1A_U09stosuje techniki programowania i języki odpowiednio do przedstawionego problemu, korzysta z wiedzy o różnicach w możliwościach zastosowań środowiska programistycznego, potrafi pod nadzorem opiekuna wykonać aplikację służącą do analizy danych biologicznych
BI_1A_U13rozwiązuje proste problemy techniczne i biologiczne wykorzystując wiedzę o sztucznej inteligencji i uczeniu maszynowym
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_U01stosuje podstawowe techniki i narzędzia badawcze w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
P1A_U03wykorzystuje dostępne źródła informacji, w tym źródła elektroniczne
P1A_U04wykonuje zlecone proste zadania badawcze lub ekspertyzy pod kierunkiem opiekuna naukowego
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U03potrafi przygotować w języku polskim i języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, dobrze udokumentowane opracowanie problemów z zakresu studiowanego kierunku studiów
T1A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T1A_U05ma umiejętność samokształcenia się
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T1A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
T1A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
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-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
M-5Pokaz.
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łceniaBI_1A_BII-S-C9_U04Potrafi 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ówBI_1A_U09stosuje techniki programowania i języki odpowiednio do przedstawionego problemu, korzysta z wiedzy o różnicach w możliwościach zastosowań środowiska programistycznego, potrafi pod nadzorem opiekuna wykonać aplikację służącą do analizy danych biologicznych
BI_1A_U13rozwiązuje proste problemy techniczne i biologiczne wykorzystując wiedzę o sztucznej inteligencji i uczeniu maszynowym
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_U01stosuje podstawowe techniki i narzędzia badawcze w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
P1A_U03wykorzystuje dostępne źródła informacji, w tym źródła elektroniczne
P1A_U04wykonuje zlecone proste zadania badawcze lub ekspertyzy pod kierunkiem opiekuna naukowego
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U03potrafi przygotować w języku polskim i języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, dobrze udokumentowane opracowanie problemów z zakresu studiowanego kierunku studiów
T1A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T1A_U05ma umiejętność samokształcenia się
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T1A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
T1A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
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.
Treści programoweT-L-1Zapoznanie studentów z szalbonem klas przygotowanych w języku Java do implementacji algorytmu A* oraz ze środowiskiem Eclipse. Wstępna implementacja układanki sudoku.
T-L-4Sprawdzenie 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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
M-5Pokaz.
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łceniaBI_1A_BII-S-C9_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ówBI_1A_K03rozumie potrzebę i zna możliwości ciągłego dokształcania się (studia drugiego i trzeciego stopnia, studia podyplomowe, kursy), pogłębiania własnej wiedzy w oparciu o naukowe źródła informacji oraz wykazuje chęć dzielenia się zdobytą wiedzą z innymi
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaP1A_K01rozumie potrzebę uczenia się przez całe życie
P1A_K02potrafi współdziałać i pracować w grupie, przyjmując w niej różne role
P1A_K05rozumie potrzebę podnoszenia kompetencji zawodowych i osobistych
P1A_K07wykazuje potrzebę stałego aktualizowania wiedzy kierunkowej
P1A_K08potrafi myśleć i działać w sposób przedsiębiorczy
T1A_K01rozumie potrzebę uczenia się przez całe życie; potrafi inspirować i organizować proces uczenia się innych osób
T1A_K06potrafi myśleć i działać w sposób przedsiębiorczy
T1A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opinie w sposób powszechnie zrozumiały
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_K02potrafi myśleć i działać w sposób przedsiębiorczy
Cel przedmiotuC-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 programoweT-W-1Definicje 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.
T-W-2Szczegół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.
T-W-3Szczegół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.
T-W-4Klasyfikacja 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.
T-W-5Sieć 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.
T-W-6Algorytmy 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-W-7Kolokwium zaliczeniowe.
T-L-1Zapoznanie studentów z szalbonem klas przygotowanych w języku Java do implementacji algorytmu A* oraz ze środowiskiem Eclipse. Wstępna implementacja układanki sudoku.
T-L-2Implementacja 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).
T-L-3Sprawdzenie 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.
T-L-4Sprawdzenie 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.
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. Postawienie zadania domowego - implementacji programu do klasyfikacji binarnej nieliniowej z wykorzystaniem przekształcenia jądrowego.
T-L-6Implementacja 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.
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.
Metody nauczaniaM-1Wykład informacyjny.
M-2Metoda przypadków.
M-3Gry dydaktyczne.
M-4Metody programowane z użyciem komputera.
M-5Pokaz.
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.