.


:




:

































 

 

 

 





, 1, , . , 1 , predecessor:

predecessor) Parent, Child!:-parent (Parent, Child).

. , , . Prolog, ,

1. .

2. .

predecessor , . , . .

1. .



I. Prolog


2. .

, predl, pred2, pred3 pred4, 2.4.

2.4. predecessor

% pli2=Tp predecessor

pa'ren z).

predK x, Z):-parent { X, Y), predl (Y, Z).

* :
Dred2(X, Z):-

pred2 (X, Z) :- parent! X, Z).

* :
pred3< X, Z]:-

parent (x, Z).

pred3(X, Z):-pred3(X, Y),

parent (Y, Z).

■ : pred4i , Z):-

pred4{ X, Y),

parent (Y, 2).

pied4{ X, Z):-parent(X, Z).

, , . parent (. . 1.1 1). , , , predecessor, .

?- predl { torn, pat;. yes

?- pred2 (torn, pat).

yes

?- pted3(torn, pat).

yes

?- pred4(torn, pat).

Prolog . , Prolog , "More core needed" ( ) "Stack overflow" ( ).

predl ( 1 predecessor), , . 1.10 1. . 2.13 pred2, pred3 pred4. . 2.13, s , pred<3, . 2.13, , pred2 predl, .


2. Prolog



pred2(X,Z)> parant(X, Y),

pred2l V, Z).

pred2(X.Z):-l)nrcnl(X.Z).


pred2(tom, pat)
-------- 7v---------

parent! torn, v i pred2(Y", pat)


 



Y' = bob


pred2(bob, pat)

parent! bob, Y") pred2(Y",pat)

parent! pat, Y'") pred2(Y",pa) -------- 77

prod2(jim, pat) 7v-----

par*nt(jlm, V") prd2(Y"",pat)

7

 

  Y" =ann V ^
  prad2[ann, pat)  
  ft   i\  
parent) ertn. V") pred2(Y'",pat)   parent! ann. pat)
           


I. Prolog


pred3(X, Z):-parent{ X, Z).

pred3(X,Z):-pred3(X,Y), parent) Y, Z).






:


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


:

:

, - , ; , - .
==> ...

1636 - | 1639 -


© 2015-2024 lektsii.org - -

: 0.011 .