Я ищу эффективный алгоритм, который позволил бы мне обрабатывать минимаксное дерево поиска шахмат с альфа-бета-отсечкой в распределенной архитектуре. Алгоритмы, которые я нашел (PVS, YBWC, DTS см. Ниже), все довольно старые (1990 год - самый последний). Я предполагаю, что с тех пор было много существенных улучшений. Каков текущий стандарт в этой области?
Также, пожалуйста, укажите мне объяснение DTS идиота, поскольку я не могу понять его из исследовательских работ, которые я прочитал.
Алгоритмы, упомянутые выше:
- PVS: принцип вариации расщепления
- YBWC: концепция молодых братьев подождет
- DTS: динамическое расщепление деревьев
все обсуждаются здесь .
Ответы:
да, теория продвинулась значительно и в некоторой степени благодаря литературе по шахматному анализу и общим методам параллельного программирования. Вот некоторые новые ссылки на (шахматную) альфа-бета-обрезку по распределенным кластерам / параллелизму. также некоторые из ранних статей по шахматам, посвященным распределенным вычислениям, предшествуют многим базовым шаблонам параллельного проектирования и могут быть концептуализированы в этих рамках.
Параллельный альфа-бета-алгоритм на графическом процессоре / Strnad, Guid (2011)
Параллельный альфа-бета-поиск на мультипроцессорах с общей памятью / Manohararajah (2001) 98pp!
Распараллеливание простой шахматной программы / Greskamp, 2003
Параллельное альфа-бета-обрезание деревьев решений игры: шахматная реализация / Steele 1999
Можно ли запустить поиск минимакса с отсечкой альфа-бета параллельно с OpenMP? (переполнение стека)
Высокопроизводительный алгоритм поиска параллельного дерева DTS (Hyatt 1994)
Основная идея DTS заключается в том, что деревья поиска распределяются между вычислительными узлами на основе сложности перемещения / размещения. неиспользуемые процессоры, которые «досрочно заканчивают», могут выполнять дополнительную работу помимо первоначального распределения, которое может быть распределено как можно более равномерно вначале, но окажется неравномерным. следовательно, это в основном своего рода очередь «балансировки нагрузки» и «производитель / потребитель» , или также похожая на планирование заданий.
источник