SZI-Smieciarka/resources/raporty/route-planning.md
2021-04-02 22:39:43 +02:00

2.0 KiB

Sztuczna Inteligencja

Temat projektu: Inteligenta Śmieciarka

Zespół: Kacper Borkowski, Adam Borowski, Adam Osiowy


1. Ogólne działanie:

gif

  • Ś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:

petla

  • 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:

succ

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

  • Heurystyka to suma odległości Manhattan

5. Koszt wjechania na pole

stepcost

  • 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