Я должен определить способ для робота выйти из лабиринта. Дело в том, что макет лабиринта неизвестен, и положение выхода тоже неизвестно. Робот также начинается в неизвестном месте в лабиринте. Я нашел 3 решения, но мне трудно узнать, что я должен использовать, потому что в конце концов кажется, что решения будут в любом случае случайными. У меня есть эти 3 решения:
1) Основная «человеческая» стратегия (?), Где вы кладете руку на стену и проходите через все лабирины, если необходимо. Я также сохраняю переменную «счетчик поворота», чтобы избежать ситуации, когда петля робота.
2) Глубина первого поиск
3) Создание робота выбрать направление случайным образомОптимальный алгоритм, чтобы найти выход из лабиринта без информации
Случайный один кажется хуже, потому что он может взять навсегда, чтобы найти выход (но с другой стороны, он может быть самым быстрым тоже. ..). Однако я не уверен в двух других.
Кроме того, есть ли способ иметь какую-то эвристику? Опять же отсутствие информации заставляет меня думать, что это невозможно, но, может быть, я что-то упустил.
Последнее: когда робот найдет выход, ему придется вернуться в исходное положение, используя A *. Это означает, что во время первой части, где он ищет выход, он будет нарисовать карту лабиринта, которую он будет использовать для второй части. Может быть, это может помочь также выбрать лучший алгоритм для первой части, но да, я не понимаю, почему было бы лучше.
Не мог бы кто-нибудь помочь мне, пожалуйста? Спасибо (тоже, извините за мой английский).
Первые два решения идентичны, и оба гарантированно найдут выход (при условии, что график подключен). Случайному решению не гарантируется найти выход. – beaker
Действительно, кажется, ты прав. Благодаря ! – Traknir