Wykładowca | Wykład | Literatura | Egzamin | Wyniki | Projekt | Harmonogram
logo

Metody sztucznej inteligencji - 2016/2017

Specjalność ARR
Katedra Cybernetyki i Robotyki
Wydział Elektroniki


UWAGA:
Zostały ustalone terminy egzaminu: 9 i 16 lutego 2017.
Proszę zarezerwować te terminy.
Godziny i sala w sekcji Egzamin.


Tematy i materiały do wykładów

W tym miejscu dla ułatwienia pracy i wygody studentów wykładowca udostępni przygotowane przez siebie materiały wykorzystywane na wykładzie. Celem ich udostępnienia jest wyłącznie uniknięcie konieczności robienie odręcznych notatek na wykładach. To nie jest internetowy podręcznik do samodzielnego studiowania!! Dodatkowe odnośniki do materiałów źródłowych znajdują się w sekcji Literatura.

Materiały udostępnione za pomocą poniższej tabelki objęte są prawami autorskimi. Można je wykorzystywać wyłącznie do własnych prywatnych celów, i nie wolno ich w żaden sposób rozpowszechniać, na przykład przez umieszczenie na ogólnie dostępnych stronach internetowych, ani w żaden inny sposób.

nr temat wykładu materiały
slajdywydruki
1 Wprowadzenie do sztucznej inteligencji PDF PDF 2x1 PDF 4x1 PDF 6x1
2
3
4
Przeszukiwanie w przestrzeni stanów
Przeszukiwanie dla zagadnień z więzami
Przeszukiwanie dla gier dwuosobowych
PDF PDF 2x1 PDF 4x1 PDF 6x1
5 Metody oparte na logice PDF PDF 2x1 PDF 4x1 PDF 6x1
6 Prolog PDF PDF 2x1 PDF 4x1 PDF 6x1
7 Reprezentacja probabilistyczna: sieci bayesowskie PDF PDF 2x1 PDF 4x1 PDF 6x1
8 Podejmowanie prostych decyzji - funkcje użyteczności PDF PDF 2x1 PDF 4x1 PDF 6x1
9 Podejmowanie złożonych decyzji - procesy Markowa PDF PDF 2x1 PDF 4x1 PDF 6x1
10 Uczenie się ze wzmocnieniem PDF PDF 2x1 PDF 4x1 PDF 6x1
11
12
13
14
Uczenie się maszyn: podstawowe pojęcia i algorytmy PDF PDF 2x1 PDF 4x1 PDF 6x1
15 Obliczeniowa teoria uczenia się PDF PDF 2x1 PDF 4x1 PDF 6x1


Literatura

Literatura podstawowa:
  1. S.J.Russell, P.Norvig, Artificial Intelligence A Modern Approach (2nd Ed.), Prentice-Hall, 2001, WWW
  2. P.Cichosz, Systemy uczące się, WNT, Warszawa 2000, WWW
  3. materiały internetowe
  4. notatki z wykładu
Literatura uzupełniająca w języku polskim:
  1. L.Bolc, J.Cytowski, Metody przeszukiwania heurystycznego, PWN, 1991
  2. R.Kowalski, Logika w rozwiązywaniu problemów, WNT, 1989
  3. J.Mulawka, Systemy ekspertowe, WNT, 1996
  4. M.Muraszkiewicz, H.Rybiński, Bazy danych, Akademicka Oficyna Wydawnicza, 1993

Materiały internetowe:

  1. Kursy sztucznej inteligencji o podobnym programie:

  2. Metody przeszukiwania:

  3. Podręczniki i samouczki do Prologu:

  4. Systemy regułowe - CLIPS:

  5. Systemy do tworzenia probabilistycznych sieci przekonań:

  6. dostępne w Internecie bazy danych statystycznych:
    UCIKnowledgeDiscovery UCI Knowledge Discovery in Databases Archive
    UCIMLRepository UCI Machine Learning Repository
    CMUStatLibDatasets CMU StatLib Datasets Archive

  7. Uczenie się maszyn:

  8. Uczenie się ze wzmocnieniem:


Egzamin

Warunkiem zaliczenia wykładu jest wcześniejsze uzyskanie zaliczenia części projektowej (patrz niżej), oraz zdanie egzaminu, który będzie miał formę pisemną i odbędzie się w sesji, w terminie uzgodnionym na wykładzie około połowy semestru. W tym czasie będzie również ogłoszona lista tematów na egzamin, a także będą przedstawione i omówione przykładowe zadania. Wpisana do indeksu ocena z wykładu będzie średnią ważoną z projektu (60%) i egzaminu (40%) zaokrągloną do najbliższej oceny połówkowej.

Terminy egzaminu:

DataGodzinaSala
9.II.201712-1421/C-3
16.II.201712-1421/C-3

Proszę zarezerwować sobie te terminy.
Na egzamin należy przynieść przybory do pisania i papier - minimum 3 kartki formatu A4 (plus dodatkowy papier jako brudnopis). Dopuszczalne jest użycie kalkulatora. Planowany czas: około 1,5 godziny (w razie potrzeby może być przedłużony).

Zakres materiału na egzamin obejmuje cały program wykładu i projektu.
Szczegółowy zestaw zagadnień na ten egzamin: zagadnienia

Wyniki egzaminu będzie można sprawdzić na tej stronie przez formularz wyników wnukówek.

Wnukówki

Na wykładach odbywać się będą krótkie 3-minutowe testy, tzw. „wnukówki”, o następujących zasadach:
  1. Testy są pisemne, trwają trzy minuty, i odbywają się w dowolnym momencie wykładu.
  2. Obejmują materiał z bieżącego oraz ewentualnie poprzedniego wykładu (jeśli jest kontynuowany).
  3. Nie można korzystać z żadnych pomocy, książek, notatek ani komputerów.
  4. Można korzystać z kalkulatora. Może to być kalkulator w telefonie, zegarku, PDA, itp.
  5. Testy będą oceniane w skali 1-3 punktów, z 1 punktem za czystą kartkę.
  6. Nieobecność na teście oznacza 0 punktów. Testu nie można odrobić, i nie ma żadnych usprawiedliwień.
  7. Łączny wynik z wszystkich testów zostanie obliczony z odrzuceniem jednego najwyższego i jednego najniższego zapracowanego wyniku. Wynik 0 za nieobecność nigdy nie jest odrzucany.

Aplikacja androidowa

Można skorzystać z następującej aplikacji na telefon z systemem Android, która przydaje się do obliczania numeru grupy przy pisaniu “wnukówek”: Aplikacja do obliczenia numeru grupy

Zwolnienia z egzaminu

Uzyskanie minimum 60% punktów z wnukówek daje prawo do zwolnienia z egzaminu z oceną 4.0. Niższy niż 60% wynik z wnukówek nic nie daje.

Ocena obliczana na podstawie punktacji z wnukówek:

punkty[%] 60.0073.3386.66
ocena 4.0 4.5 5.0

Wyniki

Poniższy formularz pozwala sprawdzać wyniki testów "wnukówek": Imię (imiona) i nazwisko muszą być dokładnie jak w systemie Edukacja. Podwójne imiona i wieloczłonowe nazwiska muszą być wprowadzone z oddzielającymi podkreślnikami, jak: Manuel_Antonio, albo de_la_Vega.
Imię: Nazwisko:
Numer:


Projekt

Projekt będzie się składał z serii zadań. Początkowa seria to tzw. „małe” zadania, które mają ściśle określoną, związaną z wykładem, tematykę. Potem następuje indywidualny projekt - tzw. „duże” zadanie - którego tematyka może być dowolna, jednak temat musi być uzgodniony z prowadzącym. „Duże” zadanie jest opcjonalne, w tym sensie, że zamiast niego można wykonać drugą serię „małych” zadań.

Warunkiem koniecznym i wystarczającym do zaliczenia jest poprawne wykonanie i uzyskanie zaliczenia (dodatniej oceny punktowej) w wyznaczonym terminie wszystkich zadań w danej opcji, z wyjątkiem co najwyżej jednego „małego” zadania. Niezaliczenie jednego „małego” zadania skutkuje jedynie utratą punktów za to zadanie i nie wpływa na zaliczenie całego projektu. Niezaliczenie więcej niż jednego zadania skutkuje niezaliczeniem całego projektu.

„Małe” zadania

„Małe” zadania mają wyznaczoną metodę omówioną na wykładzie, i sugerowane narzędzia programowe do ich wykonania. Szczegółowe opisy poszczególnych zadań znajdują się w sekcji Harmonogram.

Ocena małych zadań będzie przeprowadzona interakcyjnie w trakcie prezentacji opracowanego rozwiązania na zajęciach. Ta prezentacja powinna odbyć się najpóźniej w terminie wyznaczonym dla każdej grupy. Gdyby wynik prezentacji -- i/lub zaproponowana ocena -- były negatywne (lub niezadowalające), to możliwe jest drugie podejście do zaliczenia małego zadania najpóźniej na następnych zajęciach, ale wtedy można ubiegać się już tylko najwyżej o połowę punktów normalnie przyznawanych za zadanie.

Do wszystkich zadań - małych i dużych - obowiązuje oddanie raportu przez system Moodle (eportal).

„Duże” zadanie

„Duże” zadanie polega na samodzielnym wyborze tematu, który jednak musi być zatwierdzony przez prowadzącego (patrz niżej). Nie ma żadnych ograniczeń co do wyboru metody bądź narzędzi realizacji zadania.

Wykonanie zadania wymaga: zbadania literatury zagadnienia, przygotowania danych, wykonania obliczeń, oceny uzyskanych wyników i napisania raportu. Zadanie może wymagać napisania programu do przeprowadzenia obliczeń, ale nie jest to wymagane. Jeśli istnieją dostępne narzędzia za pomocą których można przeprowadzić niezbędne eksperymenty, to można, a wręcz należy, ich użyć.

Co to znaczy: istnieją dostępne narzędzia? Kompilatory, interpretery języków programowania, gotowe komercyjne, albo opublikowane w internecie (ogólnie dostępne) zamknięte narzędzia (np. okienkowe, aplety, itp.) do wykonywania obliczeń i analiz, albo pakiety oprogramowania opublikowane i udostępnione w Internecie w postaci źródłowej do ściągnięcia i skompilowania na własnym komputerze - wszystkie te narzędzia się kwalifikują. W przypadku programów komercyjnych, student powinien zadbać, aby wykonać obliczenia przy użyciu legalnej, poprawnie i pełnoprawnie zainstalowanej wersji (i umieścić adnotację o tym w raporcie).

Jako dostępne narzędzia nie kwalifikują się: nielegalne wersje programów komercyjnych, jak również wykorzystanie programów, albo danych, pochodzących z nieznanego źródła.

Można wykorzystać w projekcie dane będące czyjąś własnością, które nie są i nie mogą być udostępnione ogólnie (czyli są tajne), ale które zostały przez właściciela udostępnione studentowi wykonującemu projekt. Musi być jednak możliwe opublikowanie wyników (przynajmniej opisowych) uzyskanych przez studenta w wykonywanym projekcie.

Zgłoszenie i zatwierdzenie tematu

Temat „dużego” zadania musi być najpierw zgłoszony przez studenta, a następnie zatwierdzony przez prowadzącego. Student zgłasza w formie pisemnej propozycję tematu określającą:
  1. jakie zadanie ma zamiar rozwiązać,
  2. jaką metodę zastosować,
  3. na jakich materiałach się oprzeć, tzn. podręcznikach opisujących tę metodę, albo innych materiałach źródłowych dotyczących podobnych zadań, i sugerujących właściwe/możliwe podejścia,
  4. z jakich narzędzi korzystać,
  5. jak ma zamiar przeprowadzić eksperymenty, w tym:
    (a) skąd wziąć dane do eksperymentów
    (b) jak ocenić otrzymane wyniki.
Propozycja powinna być zwięzła, typu pół do maksymalnie jednej strony tekstu.

Prowadzący albo zatwierdza zgłoszoną propozycję, albo zgłasza do niej zastrzeżenia i sugeruje poprawki. Wtedy jednak student musi zareagować szybko i zgłosić poprawioną (lub inną) propozycję ponownie, aby zmieścić się w terminie. Może to wymagać konsultacji i/lub negocjacji z prowadzącym, aby przekonać go, że temat jest dobrze przemyślany i wystarczająco przygotowany i opisany.

Uzyskanie zgłoszenia i zatwierdzenia propozycji tematu w terminie określonym poniżej punktowane jest podobnie jak wykonanie „małych” zadań. Zgłoszenia propozycji tematu i/lub uzyskanie jej zatwierdzenia po przewidzianych terminach powoduje utratę tych punktów.

Grupy

„Duże” zadanie może być realizowane przez dwuosobowe grupy studentów. Warunek: zadanie musi być zgłoszone przez grupę, a w raporcie końcowym powinna być jakoś odzwierciedlona praca zespołowa i podział zadań. Do oceny będą przyjęte wymagania orientacyjnie o 50% wyższe niż dla projektów jednoosobowych.

Sposób oddania „dużego” zadania

Do zaliczenia „dużego” zadania konieczne jest sporządzenie raportu pisemnego i przeprowadzenie prezentacji.

Raport powinien być napisany jako jednoczęściowy dokument HTML (aby dał się np. wydrukować, ale może oczywiście zawierać obrazki, a nawet inną treść multimedialną, np. aplety). Wszystkie raporty zostaną udostępnione publicznie przez prowadzącego na stronie kursu, i powinny zostać odpowiednio do tego napisane. W szczególności, każdy raport bezwzględnie MUSI spełniać następujące wymogi formalne:

  1. posiadać na początku nagłówek zawierający: tytuł projektu, nazwisko(a) autora(ów), datę, oraz informację, że jest raportem z projektu opracowanego na zaliczenie tego przedmiotu,
  2. posiadać wersję nagłówka w języku angielskim o identycznej treści i wyglądzie co nagłówek w języku polskim, razem z adnotacją: „The project described in this report has been completed to fulfill the requirements for the course: Methods of artificial intelligence.”,
  3. posiadać streszczenie w języku angielskim zaraz po nagłówku w języku angielskim, zawierające opis wykonanego zadania, najważniejsze fakty dotyczące jego wykonania, i najważniejsze wnioski (patrz niżej),
  4. być zgodny z którymś ze standardów języka HTML, tj. pomyślnie weryfikować się zgodnie ze standardem określonym w deklaracji DOCTYPE,
  5. spełniać pewne minimalne wymagania estetyczne i językowe,
  6. zawierać listę legalnie wykorzystanych materiałów źródłowych, i/lub narzędzi programowych,
  7. raport NIE MOŻE zawierać linków umożliwiających ściąganie programów źródłowych ze strony raportu.

W raporcie powinien być opisany temat zadania, jego realizacja, oraz otrzymane wyniki i wnioski. Jakość raportu będzie istotnym elementem oceny projektu. Dodatkowe wskazówki dotyczące przygotowania raportu: clk

Przygotowany raport należy zainstalować na swoim koncie na diablo jako stronę WWW. W tym celu trzeba utworzyć oddzielny podkatalog w swoim katalogu public_html, i do tego podkatalogu wgrać cały raport. Po sprawdzeniu jego poprawności i kompletności przeglądarką internetową (podając URL o postaci: http://diablo.ict.pwr.wroc.pl/~login/podkatalog/) należy zgłosić raport do odbioru w systemie Moodle wysyłając tylko URL do strony WWW.

Prezentacja polega na zademonstrowaniu prowadzącemu działania programu, albo któregoś z eksperymentów opisanych w raporcie, albo, jeśli to jest niemożliwe lub nie ma zastosowania, na omówieniu sposobu wykonania zadania i uzyskania wyników.

Streszczenie w języku angielskim

Nagłówek i streszczenie w języku angielskim powinny być napisane tak samo starannie jak cała reszta raportu, w miarę możliwości bez błędów. Jednak kryterium ich przyjęcia będzie ich zrozumiałość, a nie poprawność językowa. Proszę używać krótkich zdań i prostych konstrukcji. Subtelności gramatyczne i niuanse językowe w języku angielskim nie będą miały wpływu na ocenę.

Streszczenie w języku angielskim powinno mieć 100-200 słów liczonych jako ciągi liter oddzielonych znakami odstępu. Streszczenie nie powinno zawierać wzorów, tabel, ani rysunków.

Raporty z projektów wykonanych w ubiegłych latach

Raporty z projektów wykonanych w latach ubiegłych: 2013/2014 2012/2013, 2011/2012, 2009/2010, 2008/2009, 2007/2008, 2006/2007, 2005/2006.

Punkty wymagane na zaliczenie projektu

punkty(%) 50.0060.0070.0080.0090.00
ocena 3.0 3.5 4.0 4.5 5.0

Harmonogram zadań projektowych

tematopisnarzędziapoczatekterminzamknięcie
1.Budowa systemów regułowych opis zadania CLIPS, Jess 7.X28.X4.XI
2.Przeszukiwanie z minimaksem opis zadania dowolny język programowania 28.X9.XI16.XI
3.Wnioskowanie logiczne - wumpus opis zadania program Jovolog + Prolog 9.XI25.XI2.XII
4.Reprezentacja probabilityczna - sieci bayesowskie opis zadania wiele możliwości, patrz opis 25.XI9.XII16.XII
13.I
5.Procesy Markowa i uczenie się ze wzmocnieniem opis zadania dowolny język programowania 9.XII13.I20.I
27.I, 23:55
29.I, 23:55
6.Algorytmy indukcyjnego uczenia się maszyn opis zadania WEKA, RapidMiner, Orange, KNIME, itp. 13.I27.I-


Wykładowca | Wykład | Literatura | Egzamin | Wyniki | Projekt | Harmonogram
Licznik odwiedzin strony od 1 lutego 2006: licznik
Aktualizacja: Friday, 17-Feb-2017 21:07:07 CET   Valid XHTML 1.0 Transitional! Valid CSS!