Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2019, 10:13   #1
Panchess
 
Регистрация: 15.03.2017
Сообщений: 5
По умолчанию Поиск в ориентированном графе на Visual Prolog 7.5

Задать ориентированный граф и определить:
- все узлы, доступные с заданного за один шаг;
- то же за 2 шага;
- все узлы, из которых можно попасть в заданный за один шаг;
- то же за 2 шага;
- все циклы длиной 3;
- есть ли гамильтонов цикл.
Panchess вне форума Ответить с цитированием
Старый 20.09.2019, 16:39   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

граф видимо задан как
Код:
node(Name).
edge(From, To).
Первая задача:
Код:
t1(Node):-
  edge(Node, To),
  write(To), fail; !.
Это если тебе надо их вывести на экран. Если собрать в список - то как то так:
Код:
findall(To, edge(Node, To), List).
Вторая задача:
Код:

t2(Node):-
  edge(Node, To),
  t1(To), fail; !.
Да, тут вызываем функцию из первого задания.

Третье задание:

Код:
t3(Node):-
  edge(From, Node),
  write(From), fail; !.
Четвертое:
Код:
t4(Node):-
  edge(From, Node),
  t3(From), fail; !.
Ну т.е. мы выбираем все узлы, из которых можно попасть в Node, и для всех них вызываем t3.

Про циклы смотри тут: https://pro-prof.com/forums/topic/loops_graph_detecting

Про гамильтонов цикл вообще готовое решение там же: https://pro-prof.com/forums/topic/se...n-graph-prolog
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SWI prolog и Visual prolog поиск маршрута Екатерина 123 Помощь студентам 0 27.08.2015 19:42
алгоритм Флойда поиска кратчайших путей в ориентированном графе на паскале Флауер Помощь студентам 5 06.06.2014 01:07
Игра на ориентированном графе zfoxx Общие вопросы C/C++ 5 04.05.2009 10:33