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 сортируются по убыванию их ценить. Если более одного узла имеют одинаковое значение , выбирается самый левый узел дерева.

OPEN := { (e, L, inf) }
while true do   // repeat until stopped
    pop an element p=(J, s, h) from the head of the OPEN queue
    if J = e and s = S then
        STOP the algorithm and return h as a result
    else
        apply Gamma operator for p

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

if s = L then
    if J is a terminal node then
        (1.) add (J, S, min(h, value(J))) to OPEN
    else if J is a MIN node then
        (2.) add (J.1, L, h) to OPEN
    else
        (3.) for j=1..number_of_children(J) add (J.j, L, h) to OPEN
else
    if J is a MIN node then
        (4.) add (parent(J), S, h) to OPEN
             remove from OPEN all the states that are associated with the children of parent(J)
    else if is_last_child(J) then   // if J is the last child of parent(J)
        (5.) add (parent(J), S, h) to OPEN
    else
        (6.) add (parent(J).(k+1), L, h) to OPEN   // add state associated with the next child of parent(J) to 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 дней с момента нарушения.)