Go to file
2023-06-16 08:25:12 +02:00
dataset refactoring 2023-06-15 12:06:23 +02:00
src genetic algorithm 2023-06-16 08:25:12 +02:00
.gitignore edit gitignore 2023-06-15 19:48:29 +02:00
agent.py genetic algorithm 2023-06-16 08:25:12 +02:00
README.MD improved color indication of orders, added penalty points 2023-06-15 18:18:25 +02:00
requirements.txt neural network integration 2023-06-02 12:03:31 +02:00

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

P - penalty time

SPACE - pause or continue

TODO


  • Planowanie ruchu: Wymagania dot. pierwszego przyrostu

    • Agent powinien dysponować co najmniej następującymi akcjami: ruch do przodu, obrót w lewo, obrót w prawo
    • Należy wykorzystać „Schemat procedury przeszukiwania grafu stanów“.
    • Należy zaimplementować strategię Breadth-First Search.

  • Planowanie ruchu: Wymagania dot. drugiego przyrostu
    • Należy wykorzystać „Schemat procedury przeszukiwania grafu stanów z uwzględnieniem kosztu“
    • Należy zaimplementować strategię A*, czyli zdefiniować funkcję wyznaczającą priorytet następników uwzględniającą zarówno koszt jak i odpowiednią heurystykę.
    • Agent powinien dysponować co najmniej następującymi akcjami: ruch do przodu, obrót w lewo, obrót w prawo.
    • 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.


  • Drzewa decyzyjne: wymagania dot. trzeciego przyrostu
    • 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ń.
    • Należy przygotować zbiór uczący złożony z co najmniej 200 przykładów.
    • Decyzja stanowiąca cel uczenia powinna zostać opisana przynajmniej ośmioma atrybutami.
    • Powinna pojawić się opcja podglądu wyuczonego drzewa (np. w logach lub w pliku z graficzną reprezentacją drzewa).

  • Sieci neuronowe: wymagania dot. czwartego przyrostu

    • Należy przygotować zbiór uczący zawierający co najmniej 1000 przykładów dla każdej klasy.
    • Agent powinien wykorzystywać wyuczoną sieć w procesie podejmowania decyzji.

  • Algorytmy genetyczne: wymagania dot. piątego przyrostu
    • ???
    • ???