3. .
4. d, V(d) = 4.
5. , .
6. , 5. ( ) , , 5 , , ( ) . MIM, , , d, ,
5. b , , .
-- ( --), . . 22.3 -- , . 22.2, . 22.3, . , , , , . 22.3, - era- ( , 22.2) .
MIN
i )
. 22.3. , . 22.2, . , , . ( , , , f; . 22.2). , ,
, -- , " " ( ), . , ,
Alpha Beta. : Alpha , MAX, a Beta , W I N,
It. Prolog
M I K, M I H. ( ) P.lpha Beta. , , Alpha-Beta, , , , . , Alpha Beta. V(P, Alpha, Beta) Alpha Beta , :
|
|
Vt P, Alpha, Beta) < Alpha, V(P> < Alpha V<P,Alpha,Beta) = v(p), Alpha < V[P) < Beta V(P, Alpha, Beta) > Beta, V(P) > Beta
, V(P) , : V(P, -, +} = V(P)
22,3 -- Prolog. : alphabets [ Pos, Alpha, Beta, GoodPos, Val)
GoodPos - , Val , , : Val = V(Pos, Alpha, Beta)
22.3. --
% --
alpbabeta(Pos, Alpha, Beta, GoodPos, Val):-moves(Pos, PcsList),!,
boundedbeat(PosList, Alpha, Beta, GoodPos, Val);
Staticval(Pos, Val). % Pcs
boundedbestf [Pos 1 PosList], Alpha, Beta, GoodPos, GoodVal):-alphabeta{ Pos, Alpha, Beta, _, Val), goodenougH PosList, Alpha, Beta, Pos, Val, GoodPcs, Good val].
goodenough([], _, _, Pos, Val, Pos, Val):-!. %
goodenoughl _, Alpha, Beta, , Val, Pos, Val):-
min to move (Pos), Val > Beta,! $ ,
~~ ~~ %
max_to moue (Pos), Val < Alpha,!, * ,
%
goodenoughi PosList, Alpha, Beta, , Val, GoodPos, GoodVal):-
neutrounds(Alpha, Beta, Pos, Val, NewAlpha, MewBeta), % boundedbest[ PosList, NewAlpha, MewBeta, Posl, Vail), betterofl Pos, Val, Posl, Vail, GoodPos, GoodVal).
newbounds(Alpha, Beta, Pos, Val, Val, Beta):-
min_to_move'{ Pos), Val > Alpha,!. *
2
newbounds(Alpha, Beta, Pos, Val, Alpha, Val):-
max to move! Pos), Val < Beta,!. I
%
newbounds(Alpha, Beta, _, _, Alpha, Beta). I
%
22.
betteroft Pos, Val, Posl, Vail, Pos, Val):- % Eos , Posl min_to_itLove! Pos), Val > Vail,!
max_to_move(Pos), Val < Vail,!.
betteroft _, _, Posl, Vail, Posl, Vail). %
% Posl
baundedbest(PosList, Alpha, Beta, GbodPos, Val)
GoodPos PosList , Val GoodPos Alpha Beta.
-- ( !) --. newbounds[ Alpha, Beta, Pos, Val, NewAlpha, NewBeta)
(NewAlpha, NewBeta), [ Alpha, Beta). Alpha-Beta . - . : " -- , 22.2?" - - , . . , , -- , . , -- . , . , N - , . , , , - - %/N .
|
|
, . , , , . -- , . , , , .
-- ( , ) . , , -- , . b ^. -- 6 , 30. ,
. Prolog
, --, 1 ( ) 6 .
(, ). ( ) , --.
22.4. , :
, --, ; . : -- , ( , ), ; ( --), .
|
|
-- . , , . .
. , , . , , . "" ( , ) , . , , ( ) , . , . , , , , , , . , , , . , . , , . , ( ) .
. -
22.
. , --. , , .
. --, , . . , . .
; , .
, -- .
|
|
( ), .
, , . , , , , . , , , . ( "", ), , , , , , , . ( ), . .
, , , , , . . { ) , . , , . " " , . , , . , .
, , , .
.
.
.
, . , . :
542 II. Prolog
, , 0. , . , , , , .
, , , . , , , . - , .
, , . .