Работа со списком - Prolog (227193)

Узнай цену своей работы

Формулировка задачи:

В общем задача следующая: Найти в графе все пути от вершины к вершине без повторных ребер и вершин. Вот программа для поиска всех путей:
Для нахождения "неповторяющихся" путей, я думаю, нужно после получения пути в предикате

start

после

path

и перед выводом списка, добавить какой-то предикат, который будет сравнивать полученный список с общим, в котором буду хранится все пройденные вершины. Если есть больше 3 повторяющихся элементов, (первый, последний всегда совпадают и ещё какой-либо), то возвращаем fail, и ищем новый путь, иначе добавляем символы (вершины) с полученного списка в общий. Но реализовать этот предикат никак не получается...

Решение задачи: «Работа со списком»

textual
Листинг программы
not(belong_s(Tmp,Tail_Path)),

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5