.


:




:

































 

 

 

 


19.8. path,




% 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)


,

-






:


: 2015-10-01; !; : 364 |


:

:

, .
==> ...

1347 - | 1159 -


© 2015-2024 lektsii.org - -

: 0.012 .