.


:




:

































 

 

 

 





(. 13.6) AND/OR. , .

, 1, 2 3, , , ( - - ). 1. , 3. .

1 2 3

. 13.6.

.



II. Prolog


1. 3.

2. 3.

3. 3.

, . , 3, . ( ). , , , . : 3 ( 3) , . , , , . , ( , ), , .

, , , :

" 3"; .

: , . .

1. 1 3 .

2. 1 3 .

3. 3 3.

1 3, , , 2. 1 3 a, b .

1 3 , , .

1. 1 2 .

2. 1 3 .

3. 2 3 .

2 ( ). 2, b . 1 3, ( ). 1 .

1 2 , .

1. 1 3 .

2. 1 2 to.

3. 3 2 .

13.2.3. AND/OR

, , , AND/OR. , , ,


13. AND/OR



. ( , : .) , , , . , : ) . , ?. , Qi, .... (. 13.7). , Qi

Rn, ............. AND/OR (. 13.7) ,

. . , , , Qi, i, , Qi . , Qi, , .... , OR. i Q* , , , , . Q] , , J^i, R;?, .... AND. , ; , , . , , . , , . , : , , , .





. 13.7. AND/OR;

13.3. AND/OR

, . AND/OR.



II. Prolog


AND/OR Prolog Prolog. , , Prolog , AND/OR. , AND/OR, . 13.4 ( ) : :- . % - OR , b :- . b:- d, e. % b - AN D , d

:- 1, . f:- h, i.

d. . h, i d, h

, , :?- .

Prolog , . 13.4, "yes", , . 13.4, .

AND/OR . .

"yes" "", . , , , .

, .

AND/OR , , Prolog .

. AND/OR.

AND/OR .
,
"----- >". , ,

OR,
:
----- > or:[b,c].

, "------ >" ":", ,

:

:- [ 600, :■-■■■,-------- >).

:- [ 500, xfx,:).

AMD/OR, . 13.4, :

------ > or: [b,].

b> and: [d,e].

---- > and: !t, g].

G---- > or:[h].

t > or:[h,i].

goalt d). goal(g>. goal! h).

AND/OR .


13. AND/OR



, N, .

1. N , .

2. OR, ( , , ).

3. N AND, ( , , , ).

, , .

:

solvet Mode):-goal! Node).

solvet Bode):-

Node--- > or:Nodes, % Node - OR

member(Nodel, Nodes), % Model Node solve (Nodel).

Solvef Node):-

Node------? and:Modes, % Mode - AND

SOlvealK Nodes). % Node soivealKM).

SOlvealK [Node 1 Nodes]):-

solvet Node), solvealK Nodes).

member . .

;

,
AND/OR ( ).

, . solve, : solve( Node, Solutio.nTree)

. .

1. Mode , Node.

2. Node OR, : Node > Subtree

Subtree Node.

3. Node AND,
Node ------ > and:Subtrees

Subtrees Node.
, AND/OR (. . 13.4)
:
----- > b------ > and:[d, ---- > h]

286 II. Prolog


, solve. solve , ; , solve . 13.1. show . , (. . 13.4) show : > b > d

>h

13.1 . , . , solve: solve! Node, SolutionTree, MaxDepth)

, , Mode , , a SolutionTree , MaxDepth. , MaxDepth . , MaxDepth = 0, ; , MaxDepth > 0, Kode , MaxDepth - 1. , 13.1. , , solve, .

solve: Mode, Node---- > Tree, MaxDepth!:-

HassDepth > 0,

Node------ > or:Modes, Node - OR

raembec(Model, Nodes), % Model Node

Depthi is MaxDepth - 1, %

solver wodei, Tree, Depthl). i ,

<t

, . , , , . , 0, 1, 2 .. .

13.1, AND/OR. . solve , show . show ,

'*..... AND/OR

% solve (Node, SolutionTree):

% Hode AND/OR

:- (500, xfx,:).

:- { 600, xfx,-- >!.

solve(Mode, Node):- S

i Node goal(Node).

solve (Mode, Node--------- > Tree):-

Mode ------ > or:Nodes, % Node - OR


13. AND/OR



member; Nodel, Nodes), solvet Nodel, Tree).


* Nodel Node


solve< Mode, Node- > and:Trees>:-

Node-- > and:Nodes, % Node - AMD

SOlvealM Nodes, Trees). * Node

% solveall{ (Model,Node2,... ], [SolutionTreel,SolutionTree2,...])

solvealK [], [)).

SOlvealK [Node! Modes], [Tree| Trees] ]:-

solve(Node, Tree),

solvealK Modes, Trees).

%

show(Tree):- %

show(Tree,0),!. % 0

% show(Tree, H): 3

show! Node-- > Tree, H):-!,

write(Mode), write('- > '),

HI Is H + 7, showf Tree, HI). show(and: IT], B):- ], % AMD show [T, ).

show (and:[TITS], H):-!, % AND

show!T, ), tab(H), show{ and;Ts, H!.

show(Node, H):-write (Node), jil.

(. 11), , . , .

13.1. AND/OR , .

13.2. Prolog AND/OR , .

13.3. - , , AND/OR AND/OR AND/OR.

 



II. Prolog


13.4. AND/OR





:


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


:

:

: , .
==> ...

1535 - | 1501 -


© 2015-2024 lektsii.org - -

: 0.069 .