% path[StartNode,GoalNode,Path), %
link ta,b).
11 ^ f o^ -
link(b,) -link(b,d). link(d,e >.
backliteral(link[X,Y), [ X:item], [ Y:item]). backliteral(path{X, i, L), [ X:item], [ Y:item, L:list]).
term£ list, [X|L], [ X:item, L:list]}. termt list, [], []).
prolog_predicate(link(X,Y)}.
start_clause([ path{X,Y,L)] / [X: item,Y;item,L:list] >.
'i
ex(path(a, a, [a]}).
ex(path(b, b, [b])).
ex{ path) e, e, [el)).
ex( path{ f, f, [f] )).
ex ( path{ a, c, [a,c]) }.
ex< path(b, e, [b,d,e))).
ex(path{ a, e, [a,b,d,*])).
>. [b])). [b,b]]). [e,d])). [a,b,c])} |
next path(a, a,
next path(a, a,
next path (a, a,
next patht e, d,
nex< path (a, d,
U path (a, e, (a])). nex(patht a, c, [a,c,a,c]) next patht a, d, Ea,d])).
, path (, , [|] I. , . , 35 , , . path, , 12, , 10'" ! . , .
,
19.9. , . , . -
II. Prolog
. , , , . . , , . , . , 19.9, . , sort(Ll,L2) L1, , , L2 , sort. sort L2, :
|
|
([ sort ([c, a, b ], L), L = [a,b,c] ]).
19.9.
%
backliteraK sort (L, S), [L:list], [S:list]).
backliteraK insert_sorted(X, Ll, L2), [X:item, Ll:list], [L2:list]).
termf list, [X | L], [X:item, L: 1ist]). termf list, [], []).
prolog_predicate(insert_sorted(x, lo, l)). prolog_predicate (x=y).
start_clause([sort (L1,L2) ] / [Ll:list, L2:1ist]).
ex(sort ([], [])).
ex(sort ([a], [a])).
]). % sort % ! |
ex([ sort ([c,a,b], L), L = [a,b,c]
ex(sort ([b,a,c], [a,b,c])).
ex(sort ([c,d,b,e,a], [a,b,c,d,e])).
ex(sort([a,d,c,b], [a,b,c,d])).
nex (sort([], [a])).
nex(sort ([a,b], [a])).
nex(sort([a,c], [b,c])).
nex (sort ([b,a,d,c], [b,a,d,c])).
nex(sort([a,c,b], [a,c,b])).
nex(sort([], [b,c,d])).
insert sorted(x, L, _):- % "" :
% var(X),!, fail
var (L),!, fail
L = [Y|_], var (Y),!, fail.
insert_sorted(X, [], [X]):-!.
insert_sorted(X, [Y | L], [X,Y | L]):-
X @< Y,!. % X " " Y
insert_sorted(X, [Y I Li, [Y I Ll]):-insert_sorted (x, l, Ll).
19.
sort - L, , sort ( !) L . insert_sorted(X,Llp L2), (, X ). .
Hypotheses generated: 3708 hypotheses refined: 24 To be refined: 448
sort ([],[]). sort[[ft IB],D);-sort(B,C),
insert_sorted(A,C,D).
,
, 18, , (. 19.2), ( [X, Y) Y ( a kind of) X; . 18.6). , . , . crch(al,bl, cl), ', ] , cl &1 , al touch (). 2, 2 2 ( (2,2, c2J), .2 2 2. 5, 5 5 , : " ". 19.10. (not), touch/2 support/2. , , Prolog . . 18.4, . 19.2 . .
|
|
Ij
Al
>
2
4 | \ | 5 | / | ||||||||
4 | 4 | 5 | 5 | ||||||||
. 19.2. . al, cl , 4, . 2, 2 2
II. Prolog
Hypotheses generated: 368 Hypotheses refined: 10 To be refined: 151
arch {Rr r Cl: -support(B,C), not touch(A,B), support(A,C), isa{C, stable_pcly)
,
-