KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Sztuczna inteligencja 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia koordynator ECTS) 4 Grupa treści kształcenia kierunkowego 5 Typ modułu obowiązkowy 6 Poziom studiów 7 Liczba punktów ECTS 8 Poziom przedmiotu I stopnia 5 zaawansowany 9 Rok studiów, semestr III rok VI semestr letni 10 Liczba godzin w semestrze 11 Liczba godzin w tygodniu studia stacjonarne 15 30 1 2 12 Język wykładowy: polski 13 Wykładowca: Marcin Klimek, dr inż., marcin_kli@interia.pl Wyk. Ćw. Lab. Sem. Proj. Wyk. Ćw. Lab. Sem. Proj. II. Informacje szczegółowe 14 Wymagania wstępne 1. Bazuje na przedmiotach tj. Języki programowania, Algorytmy i struktury danych. 2. Wymagana jest umiejętność programowania w dowolnym języku programowania. 15 Cele przedmiotu C1 Zapoznanie studentów z nowoczesnymi technikami obliczeniowymi opartymi o sztuczną inteligencję. C2 Zaznajomienie studentów z podstawami teorii sztucznych sieci neuronowych, algorytmów genetycznych, logiki rozmytej i systemów eksperckich. C3 Zapoznanie studentów z zasadami tworzenia aplikacji do rozwiązywania zadań praktycznych wykorzystujących metody. C4 Przedstawienie studentom wybranych narzędzi programistycznych do implementacji metod. 16 Efekty kształcenia w zakresi wiedzy, umiejętności i kompetencji społecznych nr student, który zaliczył przedmiot, potrafi: odniesienie do celów przedmiotu EK01 wybierać odpowiednie metody C1
EK02 EK03 EK04 EK05 dla konkretnych, praktycznych problemów konstruować algorytmy genetyczne w konkretnym zastosowaniu, dobierać odpowiednie parametry algorytmu, reprezentację problemu itp. budować sieci neuronowe dla konkretnego problemu, oceniać przydatność ich zastosowania, potrafi dobrać odpowiednią strukturę sieci neuronowej oraz właściwy algorytm uczący adekwatnie do rozwiązywanego zadania tworzyć systemy ekspertowe z wykorzystaniem logiki rozmytej wybierać właściwe narzędzia (programistyczne) do modelowania problemu za pomocą metod C2, C3 C2, C3 C2 C4 17 Treści programowe forma zajęć wykłady W1 W2 W3 W4 W5 W6 Sztuczna inteligencja definicja, historia. Inteligentne metody obliczeniowe. Test Turinga. Języki. Narzędzia. Sieci neuronowe. Algorytmy uczenia i typy sztucznych sieci neuronowych. Perceptron. Sieci wielowarstwowe. Sieci Kohonena. Sieci Hopfielda. Algorytmy genetyczne i ewolucyjne. Implementacja algorytmów dla wybranych zadań praktycznych (optymalizacja funkcji, problem komiwojażera, problem szeregowania zadań). Różne operatory genetyczne dla reprezentacji binarnej i całkowitoliczbowej. Logika rozmyta. Sterowniki oparte na logice rozmytej. Rozmywanie, wyostrzanie. System ekspertowy. Reprezentacja wiedzy. Rozmyty system ekspertowy. Języki programowania systemów ekspertowych. Inne, wybrane metody : Systemy agentowe. Algorytmy mrówkowe. godzin S godzin NS 1 EK05 4 EK02 1 EK04 2 EK04 2 EK01 odniesienie do efektów kształcenia dla przedmiotu
W7 Metaheurystyka symulowanego wyżarzania. Sztuczna inteligencja w grach 1 EK01 komputerowych. suma godzin 15 L1 L2 L3 L4 L5 L6 L7 forma zajęć laboratoria Wykorzystanie neuronu jako klasyfikatora. Ograniczenia pojedynczego neuronu. Perceptron jako bramka logiczna. Uczenie z nauczycielem. Sieć neuronowa dla bramki XOR. Wykorzystanie sieci wielowarstwowych dla zagadnienia rozpoznawania obrazu (ikonek 9x9) Wykorzystanie sieci Kohonena w zagadnieniu klasteryzacji. Uczenie bez nauczyciela (algorytmy WTA, WTM). Funkcje sąsiedztwa. Budowa w C# algorytmu genetycznego z binarnymi chromosomami dla problemu optymalizacji funkcji. Implementacja operatorów krzyżowania, mutacji. Selekcja rankingowa, metodą koła ruletki, turniejowa. Budowa w C# algorytmu genetycznego z reprezentacją permutacyjną chromosomów dla klasycznego problemu komiwojażera. Operatory krzyżowania, mutacji dla reprezentacji permutacyjnej. Stworzenie prostego systemu ekspertowego w dowolnym narzędziu np. Prologu. suma godzin 30 godzin S godzin NS 2 EK03 6 EK02 6 EK02 odniesienie do efektów kształcenia dla przedmiotu 4 EK04, EK05 18 Narzędzia/metody dydaktyczne 1. Podczas laboratoriów praca indywidualna studentów: pisanie programów komputerowych, budowanie sieci neuronowych dla konkretnych zadań, opracowywanie elementów algorytmu genetycznego dla problemu optymalizacji funkcji itp. 2. Laboratoria w części odbywają się przy tablicy: wspólnie ze studentami wykonywanie obliczeń dotyczących poszczególnych metod tj. przeprowadzenie kroku uczenia w sieciach wielowarstwowych, w sieciach Kohonena, określenie kodowania, funkcji przystosowania w algorytmie genetycznym itp.
3. Wykład prowadzony z wykorzystaniem projektora multimedialnego. Wykłady przygotowane w formie prezentacji PowerPoint. 4. Podczas wykładów prezentowane są także wybrane programy komputerowe zaimplementowane w C# tj. sieć neuronowa wielowarstwowa do realizacji bramki XOR, algorytm genetyczny, siłowy i sieć Hopfielda dla klasycznego problemu komiwojażera, problemu szeregowania zadań produkcyjnych itp. 19 Sposoby oceny (F formująca, P podsumowująca) F1. Ocena za wykonane sprawozdania z zajęć z sieci neuronowych z obliczeniami w arkuszu kalkulacyjnym lub oddane programy realizujące zadania do wykonania w sprawozdaniu). Łącznie do wykonania cztery sprawozdania (programy) z laboratoriów L1-L4. F2. Kolokwium pisemne z sieci neuronowych. F3 Ocena realizacji projektu zaliczeniowego do zrealizowania w domu (implementacja algorytmu genetycznego rozwiązującego wybrany problem optymalizacyjny). F4 Kolokwium pisemne z algorytmów genetycznych. F5 Ocena ciągła pracy indywidualnej podczas laboratoriów. F6 Ocena za wykonany system ekspertowy. P1 Egzamin w formie pisemnej sprawdzający wiedzę z wykładów i laboratoriów 20 Obciążenie pracą studenta forma aktywności średnia godzin na zrealizowanie aktywności S NS Godziny kontaktowe z nauczycielem 63 Przygotowanie się do laboratorium 21 Przygotowanie się do egzaminu 21 Realizacja programów 20 zaliczeniowych SUMA 125 SUMARYCZNA LICZBA PUNKTÓW 5 ECTS DLA PRZEDMIOTU 21 Literatura podstawowa i uzupełniająca Literatura podstawowa: 1. Goldberg D., Algorytmy genetyczne i ich zastosowania. WNT, Warszawa, 2003. 2. Michalewicz Z., Algorytmy ewolucyjne + struktury danych. Warszawa 1998. 3. Rutkowska D., Pliński M, Rutkowski L., Sieci neuronowe, algorytmy genetyczne i systemy rozmyte. PWN, Warszawa, 1999. 4. Rutkowski L., Metody i techniki. Inteligencja obliczeniowa. PWN Warszawa 2005. 5. Tadeusiewicz R., Sieci neuronowe. Warszawa 1993. Literatura uzupełniająca: 1. Mulawka J., Systemy ekspertowe. WNT, Warszawa 1996. 2. Osowski S., Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 1999. 3. Tadeusiewicz R., Odkrywanie właściwości sieci neuronowych przy użyciu programów w języku C#. PAU, Kraków 2007.
22 Kryteria oceny * nr efektu na ocenę 2 (ndst) na ocenę 3 (dst) na ocenę 4 (db) na ocenę 5 (bdb) EK01 student nie zna metod i ich zastosowań EK02 EK03 EK04 student nie zna podstawowych zasad działania i implementacji algorytmu genetycznego student nie zna podstawowych zasad działania sieci neuronowych student nie zna reguł tworzenia systemów ekspertowych działanie metod, ale nie potrafi z nich korzystać w konkretnych zastosowaniach zasadę działania algorytmu genetycznego, ale nie potrafi go zaimplementować nawet dla prostego problemu budować proste rozwiązania w oparciu o sieci neuronowe, ale nie potrafi dobierać odpowiedniej struktury sieci oraz właściwego algorytmu uczenia reguły tworzenia systemów ekspertowych, ale ma problemy w konkretnych zastosowaniach z tworzeniem np. bazy reguł korzystać z metod jedynie dla klasycznych problemów optymalizacyjnych student umie zbudować program komputerowy, wykorzystujący algorytm genetyczny, rozwiązujący jedynie proste zadania optymalizacyjne, dla prostych zagadnień, konstruować sieci neuronowe i dobierać dla nich parametry student umie budować proste systemy ekspertowe, ale nie potrafi korzystać z zaawansowanych możliwości systemów ekspertowych wybierać i wykorzystywać odpowiednie metody dla konkretnych zagadnień praktycznych konstruować algorytmy i dobierać odpowiednie parametry algorytmu dla różnych, nawet złożonych, problemów budować sieci neuronowe dla konkretnego problemu, potrafi dobrać odpowiednią strukturę sieci neuronowej oraz właściwy algorytm uczący odpowiedni dla rozwiązywanego problemu tworzyć systemy ekspertowe wykorzystujące m.in. rozmyte wnioskowanie
EK05 student nie potrafi korzystać z narzędzi do implementacji metod III. niektóre narzędzia, ale ma problemy z ich wykorzystaniem korzystać z niektórych narzędzi, ale jedynie w podstawowym zakresie Inne przydatne informacje stosować właściwe narzędzia 23 Inne przydatne informacje o przedmiocie 1. Materiały z wykładów i laboratoriów udostępnione są dla studentów na stronie jurand.ii.pswbp.pl/~mk 2. Laboratoria odbywają się w salach komputerowych z oprogramowaniem niezbędnym do realizacji przedmiotu tj. Microsoft Visual Studio 2010. 3. Zajęcia odbywają się w środy w godz. 15.15-16.50 i czwartki w godz. 8.00-9.40, 9.50-11.30, 11.40-13.20 (wykład), 13.30-15.10, 15.15-16.50 4. Konsultacje odbywają się w czwartki w godz. 16.55-18.30 *do decyzji koordynatora
Tabela podsumowująca. Efekt kształcenia Odniesienie danego efektu do efektów zdefiniowanych dla całego programu ( kierunkowych ) Cele przedmiotu Treści programowe Narzędzia/metody dydaktyczne Sposób oceny EK01 K_W06, K_W07, K_W20, K_U01, C1 W6, W7,L3 1, 3, 4 F1, P1 K_U12 EK02 K_U01, K_U12 C2, C3 W3, L5, L6 1, 2, 3, 4 F3, F4, P1 EK03 K_W20, K_U01, K_U12 C2, C3 W2, L1, L2, L3, L4 1, 2, 3, 4 F1, F2, F5, P1 EK04 K_U01, K_U12 C2 W4, W5, L7 1, 2, 3 F6, P1 EK05 K_W06, K_W07, K_W20, K_U01, K_U12 C4 W1, L7 1, 3, 4 F6, P1 Strona 7