Работа со списком - Prolog (227193)
Формулировка задачи:
В общем задача следующая:
Найти в графе все пути от вершины к вершине без повторных ребер и вершин.
Вот программа для поиска всех путей:
Для нахождения "неповторяющихся" путей, я думаю, нужно после получения пути в предикате
start
послеpath
и перед выводом списка, добавить какой-то предикат, который будет сравнивать полученный список с общим, в котором буду хранится все пройденные вершины. Если есть больше 3 повторяющихся элементов, (первый, последний всегда совпадают и ещё какой-либо), то возвращаем fail, и ищем новый путь, иначе добавляем символы (вершины) с полученного списка в общий. Но реализовать этот предикат никак не получается...Решение задачи: «Работа со списком»
textual
Листинг программы
not(belong_s(Tmp,Tail_Path)),
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д