Мне нравится играть в головоломку Flood-It, которую можно играть онлайн по адресу:
Он также доступен как гаджет iGoogle. Цель состоит в том, чтобы заполнить всю доску наименьшим количеством последовательных наводнений.
http://img193.imageshack.us/img193/9674/flooditscreenshot.png
Я пытаюсь написать программу, которая может решить эту загадку оптимально. Какой лучший способ подойти к этой проблеме? В идеале я хочу использовать алгоритм A *, но я не знаю, какая должна быть функция, оценивающая количество шагов. Я написал программу, которая провела поиск грубой силы глубиной 4, чтобы максимизировать заполненную область. Он работал достаточно хорошо и избил меня в решении головоломки, но я не вполне доволен этим алгоритмом.
Любые предложения? Спасибо заранее.