Ответ в теме: Задача "Автомобильный гараж"

      Комментарии к записи Ответ в теме: Задача "Автомобильный гараж" отключены
#2640

Вобщем, вам нужно описать граф для начала. Вы это сделали, но почему-то вместо букв (как на рисунке) решили использовать цифры. Из-за этого трудно проверять.

Я вижу, что у вас описан граф, но не понял где у вас описаны машины (текущее состояние). Я бы описал начальное состояние в виде списка, который передается функции solve на каждом шаге. Начальный граф такой:
Graph = [node(a, 5), node(b, 6), node(c, 7), node(d, 8), node(i, 1), node(j, 2), node(k, 3), node(l, 4)].
При таком подходе я думаю у вас бы не было проблем с выходом из рекурсии, т.к. условие окончания выглядело бы так примерно так:
solve([node(a, 1), node(b, 2), node(c, 3), node(d, 4), node(i, 5), node(j, 6), node(k, 7), node(l, 8)]):-!.

А кроме этого, у вас вроде бы верных поход – нужно запустить поиск в ширину – на каждом шаге брать из очереди первое состояние, генерировать из него новые состояния и добавлять их в конец очереди.