У меня есть карта на основе плиток, где несколько плиток являются стенами, а другие можно пройти. плитки, которые можно пройти, составляют график, который я хотел бы использовать при планировании пути. Мой вопрос: есть ли у них какие-нибудь хорошие алгоритмы для нахождения пути, который посещает каждый узел на графике, сводя к минимуму повторные посещения?
Например:
пример карты http://img220.imageshack.us/img220/3488/mapq.png
Если нижняя желтая плитка является отправной точкой, наилучший путь для посещения всех плиток с наименьшим повторением:
пример пути http://img222.imageshack.us/img222/7773/mapd.png
На этом пути есть два повторных посещения. Еще хуже было бы повернуть налево на первом перекрестке, а затем вернуться на три уже посещенных тайла.
Мне нет дела до конечного узла, но важен начальный узел.
Спасибо.
Edit:
Я добавил картинки к своему вопросу, но не вижу их при просмотре. вот они:
http://img220.imageshack.us/img220/3488/mapq.png
http://img222.imageshack.us/img222/7773/mapd.png
Кроме того, на графиках мне это нужно, потому что никогда не будет ситуации, когда min повторяется = 0. То есть, чтобы наступить на каждую клетку на карте, игрок должен хотя бы один раз пересечь собственный путь.