что такое подходящий класс дерева в Java, который используется для решения 8 головоломки - PullRequest
0 голосов
/ 20 июня 2010

Я делаю ИИ на 8 пазлов, которые развиваются на Java. У меня есть 1 класс, в котором хранится двухмерный массив строк, представляющий собой 8 головоломок. Этот класс также хранит другую необходимую информацию. Вопрос в том, какое дерево я буду использовать для хранения каждого объекта.

Ответы [ 2 ]

0 голосов
/ 20 июня 2010

Вы можете рассмотреть возможность использования поиска A * для этого. Хорошее объяснение алгоритма можно найти здесь .

0 голосов
/ 20 июня 2010

Я не понимаю, почему вы захотите использовать дерево.

Если вы решаете 8-головоломку за как можно меньшее количество ходов, то вы действительно находите самый короткийпуть от текущей конфигурации к «решенной» конфигурации в графе, где вершины являются конфигурациями, а ребра являются перемещениями.

Кратчайший путь можно найти, например, с помощью поиска в ширину.

Я думаю, что этот код объясняет это довольно хорошо: http://www.dreamincode.net/code/snippet1914.htm

(неявный) граф можно мысленно представить в виде дерева, но то, что изображается, больше похоже на поток управления алгоритма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...