Задача про перестановку фишек на Prolog
Всем привет!
В универе дали индивидуальное задание, которое необходимо сделать на прологе.
Пока рассматривал разные варианты, но больше всего пока нравится идея двигать пустую клетку, ибо для каждой возможной перестановки пустой клетки расписал варианты и "стоимость" хода.
Это что-то из сферы "Планирования в пространстве", но до конца так и не могу понять.
Может кто-то подсказать, в какую сторону смотреть, или написать решение?
Условие задачи:
Напишите программу решения следующей задачи: пусть имеется блок подвижных фишек (три черных, три белых, одна пустая), находящихся в следующем исходном состоянии:
(Черная) (Черная) (Черная) (Белая) (Белая) (Белая) (Пустое место)
Возможны следующие ходы: Фишка может перемещаться в соседнюю пустую клетку; стоимость хода равна 1; Фишка может перепрыгивать не более чем через две другие, попадая в пустую клетку; стоимость хода равна числу перепрыгнутых фишек. Задача состоит в том, чтобы переместить все белые фишки налево от черных за минимальную стоимость.
Буду очень благодарен!