# Sztuczna Inteligencja **Temat projektu:** Inteligenta Śmieciarka **Zespół:** Kacper Borkowski, Adam Borowski, Adam Osiowy --- ## 1. Ogólne działanie: ![gif](resources/screenShots/route-planning.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](resources/screenShots/petlaGlowna.png) - 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](resources/screenShots/funkcjaNastepnika.png) 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](resources/screenShots/heurystyka.png) - Heurystyka to suma odległości Manhattan --- ## 5. Koszt wjechania na pole ![stepcost](resources/screenShots/stepcost.png) - 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 ---