Jump to content

ССС*

SSS* — это алгоритм поиска , представленный Джорджем Стокманом в 1979 году, который выполняет поиск в пространстве состояний, проходя по дереву игры в порядке «наилучшего первого», аналогично алгоритму поиска A* .

SSS* основан на понятии деревьев решений . Неформально дерево решений можно сформировать из любого произвольного игрового дерева, сократив количество ветвей в каждом узле MAX до одной. Такое дерево представляет собой полную стратегию MAX, поскольку оно определяет ровно одно MAX-действие для каждой возможной последовательности ходов, сделанных противником. Учитывая дерево игры, SSS* просматривает пространство частичных деревьев решений, постепенно анализируя все большие и большие поддеревья, в конечном итоге создавая единственное дерево решений с тем же корнем и минимаксным значением, что и исходное дерево игры. SSS* никогда не проверяет узел, который будет удален при альфа-бета-обрезке , и может обрезать некоторые ветви, которые не будут удалены при альфа-бета-обрезке. Стокман предположил, что SSS* может быть лучшим общим алгоритмом, чем альфа-бета. Однако Игорь Ройзен и Джудея Перл показали [1] что экономия количества позиций, которые SSS* оценивает по сравнению с альфа/бета, ограничена и, как правило, недостаточна, чтобы компенсировать увеличение других ресурсов (например, хранение и сортировка списка узлов, необходимые в соответствии с принципом «лучший — первый») суть алгоритма). Однако Аске Плаат , Джонатан Шеффер , Вим Пейлс и Ари де Брюин показали, что последовательность альфа-бета-вызовов с нулевым окном эквивалентна SSS* (т. е. она расширяет одни и те же узлы в том же порядке), когда альфа-бета использовался с таблицей транспонирования , как и во всех игровых программах для шахмат, шашек и т.п. Теперь хранение и сортировка ОТКРЫТОГО списка отпала необходимость. Это позволило реализовать (алгоритм, эквивалентный) SSS* в игровых программах турнирного качества. Эксперименты показали, что на практике он действительно работал лучше, чем Alpha-Beta , но не превосходил NegaScout . [2]

Переформулировка алгоритма «сначала лучшее» как последовательности вызовов «сначала в глубину» привела к формулировке класса альфа-бета-алгоритмов с нулевым окном, MTD(f) наиболее известным примером которых является .

Алгоритм

[ редактировать ]

Существует приоритетная очередь OPEN, в которой хранятся состояния. или узлы, где - идентификатор узла ( десятичная запись , для идентификации узлов используется является корнем), - состояние узла (L — узел активен, что означает, что он еще не решен и S — узел решен), - значение решенного узла. Элементы в очереди OPEN сортируются по убыванию ценить. Если более одного узла имеют одинаковое значение , выбирается самый левый узел дерева.

ОТКРЫТЬ := { (e, L, инф) } while  true  do  // повторяем до остановки    вытащить элемент  p  =(  J  ,  s  ,  h  ) из головы очереди OPEN     если   J  =  e   и   s  =  S,   то         ОСТАНОВИТЕ алгоритм и в результате верните h     еще         применить оператор Гамма для  p 

оператор для определяется следующим образом:

если   s  =  L   , то      если   J  — конечный узел  , то         (1.) добавить (  J  ,  S  , min(  h  , value(  J  ))) к OPEN     иначе, если   J  - узел MIN  , тогда         (2.) добавить (J.1,  L  ,  h  ) к ОТКРЫТЬ     еще         (3.) для  j  =1..number_of_children(  J  ) добавьте (Jj,  L  ,  h  ) к OPEN иначе,      если   J  - узел MIN  , тогда         (4.) добавить (родитель(  J  ),  S  ,  h  ) к OPEN             удалить из OPEN все состояния, связанные с дочерними элементами родителя (J)     else if  is_last_child(  J  )  then  // если J — последний дочерний элемент родительского элемента (J)        (5.) добавить (родитель(  J  ),  S  ,  h  ) к OPEN     еще         (6.) add (parent(  J  ).(  k  +1),  L  ,  h  ) в OPEN // добавляем состояние, связанное со следующим дочерним элементом родительского(J) в OPEN 
  1. ^ Ройзен, Игорь; Иудея Перл (март 1983 г.). «Минимаксный алгоритм лучше, чем альфа-бета?: Да и нет». Искусственный интеллект . 21 (1–2): 199–220. дои : 10.1016/s0004-3702(83)80010-1 .
  2. ^ Плаат, Аске; Джонатан Шеффер; Вим Пейлс; Арье де Брюэн (ноябрь 1996 г.). «Минимаксные алгоритмы с фиксированной глубиной и лучшими первыми» . Искусственный интеллект . 87 (1–2): 255–293. дои : 10.1016/0004-3702(95)00126-3 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 63b3c747985882b8b98e9a36f712438b__1692043920
URL1:https://arc.ask3.ru/arc/aa/63/8b/63b3c747985882b8b98e9a36f712438b.html
Заголовок, (Title) документа по адресу, URL1:
SSS* - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)