# AUTOMATYCZNY KELNER > **Authors:** _Kamil Ryżek_, > _Aliaksandr Piatrou_, > _Arseni Zavadski_, > _Vadzim Valchkovich_ ## INSTALATION GUIDE ### Install pipenv pip install --user pipenv ### Install dependencies pipenv install -r requirements.txt ## RUN INSTRUCTIONS pipenv run python agent.py ## HOTKEYS > **ESC** - _exit_ > **F** - _show or hide fringes_ > **SPACE** - _pause or continue_ ## TODO --- - [x] **Planowanie ruchu: Wymagania dot. pierwszego przyrostu** - [x] Agent powinien dysponować co najmniej następującymi akcjami: ruch do przodu, obrót w lewo, obrót w prawo - [x] Należy wykorzystać „Schemat procedury przeszukiwania grafu stanów“. - [x] Należy zaimplementować strategię Breadth-First Search. --- - [x] **Planowanie ruchu: Wymagania dot. drugiego przyrostu** - [x] Należy wykorzystać „Schemat procedury przeszukiwania grafu stanów z uwzględnieniem kosztu“ - [x] Należy zaimplementować strategię A\*, czyli zdefiniować funkcję wyznaczającą priorytet następników uwzględniającą zarówno koszt jak i odpowiednią heurystykę. - [x] Agent powinien dysponować co najmniej następującymi akcjami: ruch do przodu, obrót w lewo, obrót w prawo. - [x] Koszt wjazdu na pola poszczególnych typów powinien być zróżnicowany. > _Przykład: Koszt wjazdu traktora na pole marchewek to 10 a koszt wjazdu na pole puste to 1._ --- - [x] **Drzewa decyzyjne: wymagania dot. trzeciego przyrostu** - [x] Należy wykorzystać algorytm ID3 (tj. schemat indukcyjnego uczenia drzewa decyzyjnego oraz procedurę wyboru atrybutu o największym przyroście informacji) lub któreś z jego uogólnień. - [x] Należy przygotować zbiór uczący złożony z co najmniej 200 przykładów. - [x] Decyzja stanowiąca cel uczenia powinna zostać opisana przynajmniej ośmioma atrybutami. - [x] Powinna pojawić się opcja podglądu wyuczonego drzewa (np. w logach lub w pliku z graficzną reprezentacją drzewa). --- - [x] **Sieci neuronowe: wymagania dot. czwartego przyrostu** - [x] Należy przygotować zbiór uczący zawierający co najmniej 1000 przykładów dla każdej klasy. - [x] Agent powinien wykorzystywać wyuczoną sieć w procesie podejmowania decyzji. --- - [ ] **Algorytmy genetyczne: wymagania dot. piątego przyrostu** - [ ] ??? - [ ] ???