ВУЗ:
Составители:
Рубрика:
57
%path (g([X|T],[e(X,_)|T1]),X,Y):-
%path (g([X|T],T1),X,Y).
path (g([X|T],[e(X,Z)|T1]),X,Y):-
path (g(T,T1),Z,Y).
path (g([Z|T],T1),X,Y):-Z<>X,
path (g(T,T1),X,Y).
path (g([X|T],[e(_,_)|T1]),X,Y):-
path (g([X|T],T1),X,Y).
goal
path (g([a, b, c, d],[e(a, b),e(b, c),e(a, d),e(c, e)]), b, e).
2.19 Поиск пути на графе.
Программы поиска пути на графе относятся к классу так называемых
недетерминированных программ с неизвестным выбором альтернативы, то
есть в таких программах неизвестно, какое из нескольких рекурсивных
правил будет выполнено для доказательства до того момента, когда
вычисление будет успешно завершено. По сути
дела такие программы
представляют собой спецификацию алгоритма поиска в глубину для решения
определенной задачи. Программа проверки изоморфности двух бинарных
деревьев, приведенная в примере 65 относится к задачам данного класса.
Пример 70:
Определить путь между вершинами графа, представленного на
рисунке:
A- переменная обозначающая начало пути
B- вершина в которую нужно попасть
P -ациклический путь на
графе (ациклический путь- это путь не
имеющий повторяющих вершин).
domains
top=symbol
listtop=top*
predicates
edge (top, top)
/* аргументы обозначают имена вершин */
b
а
c d
е
Страницы
- « первая
- ‹ предыдущая
- …
- 55
- 56
- 57
- 58
- 59
- …
- следующая ›
- последняя »