Я дуріла з демонстрацією Maze Google Blocky і згадала старе правило, що якщо ви хочете вирішити лабіринт, просто тримайте ліву руку до стіни. Це працює для будь-якого простого підключеного лабіринту і може бути реалізовано кінцевим перетворювачем.
Нехай наш робот представлений перетворювачем із наступними діями та спостережуваними характеристиками:
- Дії: рухайтеся вперед ( ), поверніть ліворуч ( ← ), поверніть праворуч ( → )
- Спостерігається: стіна попереду ( ), стіна попереду ( ⊤ )
Тоді ми можемо побудувати лівий лабіринт як (пробачте про мій ледачий малюнок):
Якщо побачення спостережуваного змусить нас слідувати відповідним краєм поза станом, виконуючи дії, пов'язані з цим краєм. Цей автомат вирішить усі просто підключені лабіринти, хоча це може зайняти свій час після тупиків. Ми називаємо інший автомат кращим, ніж A, якщо:
вживає суворіших кроків лише за обмеженою кількістю лабіринтів, і
робить суворо менше кроків (в середньому; для імовірнісних варіантів) на нескінченну кількість лабіринтів.
Мої два питання:
Чи є кінцевий автомат кращий, ніж намальований вище? Що робити, якщо дозволити ймовірнісні перетворювачі?
Чи існує кінцевий автомат для вирішення лабіринтів, які не обов'язково просто пов'язані між собою?