W przypadku tego pytania załóż, że następujące rzeczy nie są znane:
- Rozmiar i kształt pokoju
- Lokalizacja robota
- Obecność wszelkich przeszkód
Załóżmy również, że następujące rzeczy są stałe:
- Rozmiar i kształt pokoju
- Liczba, kształt i lokalizacja wszystkich (jeśli w ogóle) przeszkód
Załóżmy, że robot ma następujące właściwości:
- Może poruszać się tylko do przodu w przyrostach jednostek bezwzględnych i obracać się w stopniach. Również operacja, która się porusza, zwróci prawdę, jeśli się powiedzie, lub fałsz, jeśli nie poruszy się z powodu przeszkody
- Racjonalnie nieograniczone źródło energii (powiedzmy, że jest to robot zasilany energią słoneczną, umieszczony na stacji kosmicznej, która cały czas jest skierowana w stronę słońca bez sufitu)
- Każdy ruch i obrót odbywa się za każdym razem z absolutną precyzją (nie martw się o niewiarygodne dane)
Na koniec rozważ następujące właściwości środowiska robota:
- Znajdując się na stacji kosmicznej bez sufitu, pokój jest bezpieczny, ale frustrująco blisko odległości od mijających komet, więc pył (i lód) stale zaśmiecają środowisko.
Poproszono mnie o znacznie prostszą wersję tego pytania (pokój jest prostokątem i nie ma żadnych przeszkód, jak możesz się nad nim poruszać, gwarantując, że możesz przejechać każdą część przynajmniej raz) i po tym, jak zacząłem zastanawiać się, jak byś do niego podszedł, gdybyś nie mógł nie gwarantuje kształtu ani obecności przeszkód. Zacząłem patrzeć na to z algorytmem Dijkstry , ale jestem zafascynowany tym, jak inni podchodzą do tego (lub czy istnieje dobrze przyjęta odpowiedź? (Jak robi to Roomba?)