да, теория продвинулась значительно и в некоторой степени благодаря литературе по шахматному анализу и общим методам параллельного программирования. Вот некоторые новые ссылки на (шахматную) альфа-бета-обрезку по распределенным кластерам / параллелизму. также некоторые из ранних статей по шахматам, посвященным распределенным вычислениям, предшествуют многим базовым шаблонам параллельного проектирования и могут быть концептуализированы в этих рамках.
Основная идея DTS заключается в том, что деревья поиска распределяются между вычислительными узлами на основе сложности перемещения / размещения. неиспользуемые процессоры, которые «досрочно заканчивают», могут выполнять дополнительную работу помимо первоначального распределения, которое может быть распределено как можно более равномерно вначале, но окажется неравномерным. следовательно, это в основном своего рода очередь «балансировки нагрузки» и «производитель / потребитель» , или также похожая на планирование заданий.
Этот неработающий процессор передает (используя совместно используемую память), что он не используется, и доступен, чтобы «помочь» любому другому процессору завершить поиск в его дереве. Занятые процессоры собирают данные о «состоянии дерева» и сохраняют их в общей памяти для проверки незанятым процессором. Этот неработающий процессор анализирует эти данные и решает, какой из (если таковые имеется) занятых процессоров, по-видимому, имеет достаточно сложное дерево, чтобы эффективно помочь с поиском. Если такая позиция найдена, незанятый процессор информирует об этом процессор, которому принадлежит этот узел, и они «объединяют» силы.