2.0 KiB
2.0 KiB
Sztuczna Inteligencja
Temat projektu: Inteligenta Śmieciarka
Zespół: Kacper Borkowski, Adam Borowski, Adam Osiowy
1. Ogólne działanie:
- Śmieciarka zaczyna ruch z pozycji (10, 10), po czym odwiedza wszystkie domy, których współrzędne zostały wylosowane, następnie jedzie na wysypisko do najbliższego kontenera, po czym wybiera następny najbliższy nieodwiedzony kontener.
- Droga między domami jest wyznaczana przez algorytm A*.
- Każdy następny dom jest najbliższym, jeszcze nieodwiedzonym domem.
2. Pętla główna strategii przeszukiwania:
- w pętli głównej wykorzystujemy przeszukiwanie grafu (graphsearch)
- tworzymy kolejkę priorytetową, po czym dodajemy do niej bieżący węzeł
- przeprowadzamy test osiągnięcia celu:
- jeżeli cel został osiągnięty, to odtwarzamy ścieżkę przechodząc po rodzicach
- do listy odwiedzonych elementów dodajemy bieżący element
- wybieramy następnika
- następnikowi przypisujemy rodzica
- wyznaczamy priorytet następnika
- dodajemy go do kolejki zgodnie z priorytetem
3. Funkcja następnika:
gdzie sąsiedzi to:
sasiedzi = [(0, 1), (0, -1), (1, 0), (-1, 0)]
- następnik jest wyznaczany spośród pól sąsiadujących z danym polem (z pominięciem pól po skosie)
- następnie sprawdzane jest czy nie znajduje się on poza mapą
- potem sprawdzane jest czy wybrany punkt nie jest przeszkodą
4. Przyjęta heurystyka:
- Heurystyka to suma odległości Manhattan
5. Koszt wjechania na pole
- Koszt wjechania na pole, na którym jest dom wynosi 3
- Koszt wjechania na pole, które jest wysypiskiem wynosi 2
- Koszt wjechania na pole, które jest kontenerem wynosi 3
- Koszt wjechania na zwyczajne pole wynosi 1