Глубокое a-b отсечение

 

Рассмотрим следующее дерево:

                      S 

                                                                                                                                                                                                                        

       A                    A  

A   … …………    B                

          f(A)=a

                              B                                                                                                                                                                                                     

                          C           ……

     
 


                        A

                 D

                                    ……

               B 

                       

          E           ……

        f(E)=z£a

 

Пусть на известны оценки f(A)=a  и f(E)=z£a. Докажем, что если f(E)£a, то ветви, исходящие из вершины D (на рисунке обозначенные синим цветом) можно отсечь.

 

Т.к. игрок B стремится минимизировать оценочную функцию, следовательно оценка вершины D будет не больше z (f(D) £ f(E)=z £a).

 

Т.к. игрок   A  стремится максимизировать оценочную функцию,

следовательно оценка вершины С будет не меньше оценки вершины D (f(C)³f(D)).

Возможны 2 случая:

 

1). f(C)=f(D),  тогда f(C)=f(D) £ f(E) £a - т.е. имеем неглубокое a - отсечение.

2). f(C)>f(D),      тогда вершина D для получения оценки f(C) не использовалась.

 


Пример.

                                                        5         S                                                                                                                                                                                            

                                         A                                                  A                                                                                                                                       

                          a=5                                                                                            3         

 


                B  

            b=5                                                                   7            3=z£a=5      

     
 


    A    

a=1                                     5    3             7=w³b=5      3


B

3 1 4 1=z£a=1   6  5 3 5 8 9 7               3=z£a=5 4=£a=5

Ход Наилучшая оценка Позиция на глубину Оценка позиции Условие отсечения Действие
Свой A(max) a Своя Z z£a a-отсечение
Противник B(min) b Противника W w³b b-отсечение

                            

a возрастает при построении оценки снизу вверх

b убывает при построении оценки снизу вверх

 

Пусть оценивается дерево на n уровней. На каждом уровне имеется m вариантов выбора. Тогда сложность вычислений

                                                  

для метода максимина -

 

для метода a-b отсечений -

 

(при больших n ~ )                                            

 

Недостатки методов максимина и a-b отсечений

 

1). Оба метода не являются стратегиями и базируются на классических

переборных алгоритмах, с использованием оценочной функции.

2). Эффект горизонта (никакие жертвы, которые не дают выигрыш в пределах

обозрения программой не принимаются).

 




Пример.

Построение оценочной функции для игры в шахматы.

f(s)=    ,

f1 оценка, учитывающая алгебраическую стоимость фигур;

 

f2 – оценка, учиьываюшая относительную безопасность короля;

 

f3 – оценка, учитывающая подвижность фигур;

 

f4 - оценка, учитываюшая степень контроля центра;

 

f5 - оценка, учиваюшая пешечный строй;

 

f6 – оценка, учитывающая аттакующие позиции;

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: