1. Las losowy w zadaniu klasyfikacji. Celem projektu jest zaimplementowanie algorytmu random forest w oparciu o drzewo decyzyjne. Program powinien wczytywać dane w jednym dowolnie wybranym formacie (hierarchię klas należy jednak zaprojektować tak, aby możliwe było dodanie w prosty sposób innego formatu danych) i umożliwiać określenie podziału tych danych na zbiór trenujący i testowy. W przypadku wystąpienia atrybutów numerycznych program powinien dokonywać dyskretyzacji takich atrybutów (w dowolny - aczkolwiek rozsądny - sposób). W projekcie należy wykorzystać wielowątkowość. Literatura: http://en.wikipedia.org/wiki/Random_forest http://pl.wikipedia.org/wiki/Drzewo_decyzyjne http://www.ise.pw.edu.pl/~cichosz/um/wyklad/wyklad3/wyklad3.html http://www.ise.pw.edu.pl/~cichosz/um/wyklad/wyklad4/wyklad4.html http://www.ise.pw.edu.pl/~cichosz/mow/wyklad/mow-w8/mow-w8.html Dane: http://archive.ics.uci.edu/ml/ http://weka.sourceforge.net/wiki/index.php/Datasets 2. Drzewa regresji z dodatkowymi cięciami. Celem projektu jest zaimplementowanie prostego algorytmu drzewa regresji. W każdym węźle drzewa dokonywany ma być binarny podział przykładów znajdujących się w tym węźle mający na celu minimializację wariancji na kolejnym poziomie. Dodatkowo w korzeniu drzewa użytkownik powinien mieć możliwość określenia alternatywnych miejsc podziału. Dla ułatwienia pracy użytkownika program powininen wyświetlić wykresy wariancji odpowiedzi dla każdego z atrybutów i umożliwić wskazanie kursorem alternatywnych miejsc podziału (w tym celu należy wykorzystać dowolną wolno dostępną bibliotekę graficzną). Literatura: http://www.sixsigma.pl/textbook/stathome_stat.html?http%3A%2F%2Fwww.sixsigma.pl%2Ftextbook%2Fstcart.html http://www.theusrus.de/Talks/Talks/TWIX.pdf Dane: http://archive.ics.uci.edu/ml/ http://weka.sourceforge.net/wiki/index.php/Datasets 3. Program wspomagający użytkownika przy wykrywaniu obiektów na obrazie z radaru. Program powinien wyświetlać obraz pochodzący z radaru. Obraz pochodzić będzie z pliku tekstowego zawierającego macierz MxN liczb zespolonych odpowiadających mocy sygnału odebranego przez radar. Użytkownik powinien mieć możliwość wskazania za pomocą kursora obiektu na wyświetlonym obrazie i zapisania tej informacji (współrzędne wskazanego punktu). Należy wykorzystać dowolną wolno dostępną bibliotekę graficzną. Wersja dla 3 osób: Program powinien dodatkowo wykrywać obiekt i sugerować jego współrzędne użytkownikowi. 4. ,,Bitwa jaskiniowców'' Celem projektu jest zaimplementowanie gry dwuosobowej, w której kazdy z graczy pilotuje ,,śmigłowiec jaskiniowy''. ,,Śmigłowiec jaskiniowy'' może być napędzany tylko do góry (opada pod wpływem grawitacji), ruchy w lewo i prawo są więc ruchami opadającymi. ,,Śmigłowiec jaskiniowy'' może również strzelać, a celem gry jest oczywiście zestrzelenie przeciwnika. Należy wykorzystać dowolną wolno dostępną bibliotekę graficzną. 5. Nauka szybkiego pisania na klawiaturze. Celem projektu jest stworzenie programu wspomagającego użytkownika w nauce szybkiego pisania na klawiaturze. Program powinien umożliwiać wybranie jednego z dostępnych ćwiczeń. Ćwiczenia są zapisane w pliku tekstowym zawierającym tekst (znaki), które użytkownik musi jak najszybciej wprowadzić w odpowiedniej kolejności. Program na bieżąco sprawdza błędnie wpisane znaki i liczy czas poświęcony na ćwiczenie. Należy zaimplemntować kilka trybów pracy, np. przepisywanie pełnego tekstu, tekst pojawiający się na bieżąco, poszczególne słowa z ćwiczenia pojawiają się w kolejności losowej, itp. Należy wykorzystać dowolną wolno dostępną bibliotekę do stworzenia interfejsu użytkownika (tekstową, np. ncurses lub graficzną). 6. Inteligentny system utrzymywania pojazdu na drodze. Celem projektu jest wykorzystanie algorytmu Q-learning w zadaniu utrzymania pojazdu na drodze. Program powinien uczyć się zachowania na losowo generowanej drodze. Należy przyjąć rozsądne założenia, tj. pojazd widzi k kolejnych ,,stanów'' drogi, np. 10 ruchów do przodu, pojazd może wykonać n manewrów, np. ostry skręt w lewo, łagodny skręt w lewo, jazda prosto, itd. W celu prezentacji zachowania (postępów) uczącego się systemu należy wykorzystać dowolną wolno dostępną bibliotekę graficzną. Literatura: http://wazniak.mimuw.edu.pl/index.php?title=Sztuczna_inteligencja/SI_Moduł_13_-_Uczenie_się_ze_wzmocnieniem http://en.wikipedia.org/wiki/Q-Learning http://people.revoledu.com/kardi/tutorial/ReinforcementLearning/index.html