Комбинаторная теория игр измеряет сложность игры несколькими способами:
Эти меры включают понимание игровых позиций, возможных результатов и вычислений, необходимых для различных игровых сценариев.
Сложность игры в пространстве состояний — это количество допустимых игровых позиций, достижимых из начальной позиции игры. [1]
Когда это слишком сложно подсчитать, верхнюю границу часто можно вычислить, подсчитав также (некоторые) нелегальные позиции, то есть позиции, которые никогда не могут возникнуть в ходе игры.
Размер дерева игры — это общее количество возможных игр, в которые можно сыграть: количество конечных узлов в дереве игры, корнем которого является начальная позиция игры.
Дерево игры обычно намного больше пространства состояний, поскольку одни и те же позиции могут возникать во многих играх, если делать ходы в разном порядке (например, в игре в крестики-нолики с двумя X и одним O на доске эта позиция могла быть достигнута двумя разными способами в зависимости от того, где был помещен первый X). Верхнюю границу размера дерева игры иногда можно вычислить, упростив игру таким образом, что размер дерева игры увеличится только до тех пор, пока оно не станет управляемым.
Для игр, где количество ходов не ограничено (например, размером доски или правилом о повторении позиции), игровое дерево, как правило, бесконечно.
Следующие две меры используют идею дерева решений , которое является поддеревом дерева игры, в котором каждая позиция помечена как «игрок A выигрывает», «игрок B выигрывает» или «ничья», если можно доказать, что эта позиция имеет это значение (предполагая лучшую игру обеих сторон) путем изучения только других позиций в графе. (Конечные позиции могут быть помечены напрямую; позиция с игроком A, который должен сделать ход, может быть помечена как «игрок A выигрывает», если любая последующая позиция является выигрышной для A, или помечена как «игрок B выигрывает», если все последующие позиции являются выигрышными для B, или помечена как «ничья», если все последующие позиции либо ничьей, либо выигрышными для B. И соответственно для позиций с B, который должен сделать ход.)
Сложность принятия решения в игре — это количество конечных узлов в наименьшем дереве решений, устанавливающем значение начальной позиции.
Сложность игрового дерева игры — это количество конечных узлов в наименьшем дереве решений полной ширины , которое устанавливает значение начальной позиции. [1] Дерево полной ширины включает все узлы на каждой глубине.
Это оценка количества позиций, которые необходимо оценить при минимаксном поиске, чтобы определить значение начальной позиции.
Трудно даже оценить сложность игрового дерева, но для некоторых игр можно дать приближение, возведя средний фактор ветвления игры b в степень числа слоев d в средней игре, или:
.
Вычислительная сложность игры описывает асимптотическую сложность игры по мере ее произвольного увеличения, выраженную в нотации O большое или как принадлежность к классу сложности . Эта концепция не применима к конкретным играм, а скорее к играм, которые были обобщены так, чтобы их можно было сделать произвольно большими, как правило, играя в них на доске n -на- n . (С точки зрения вычислительной сложности игра на доске фиксированного размера является конечной задачей, которая может быть решена за O(1), например, с помощью таблицы поиска от позиций до наилучшего хода в каждой позиции.)
Асимптотическая сложность определяется наиболее эффективным (с точки зрения любого рассматриваемого вычислительного ресурса ) алгоритмом решения игры; наиболее распространенная мера сложности ( время вычисления ) всегда ограничена снизу логарифмом асимптотической сложности пространства состояний, поскольку алгоритм решения должен работать для каждого возможного состояния игры. Она будет ограничена сверху сложностью любого конкретного алгоритма, который работает для семейства игр. Аналогичные замечания применимы ко второй по частоте использования мере сложности, объему пространства или компьютерной памяти, используемой вычислением. Неочевидно, что существует какая-либо нижняя граница пространственной сложности для типичной игры, поскольку алгоритм не должен хранить игровые состояния; однако известно, что многие интересующие нас игры являются PSPACE-hard , и из этого следует, что их пространственная сложность также будет ограничена снизу логарифмом асимптотической сложности пространства состояний (технически граница является только полиномом от этой величины; но обычно известно, что она линейна).
Для крестиков-ноликов простая верхняя граница размера пространства состояний равна 3 9 = 19 683. (Для каждой ячейки есть три состояния и девять ячеек.) Это число включает в себя множество незаконных позиций, таких как позиция с пятью крестиками и без ноликов или позиция, в которой у обоих игроков есть ряд из трех. Более тщательный подсчет, удаляющий эти незаконные позиции, дает 5 478. [2] [3] И когда вращения и отражения позиций считаются идентичными, есть только 765 существенно различных позиций.
Чтобы ограничить игровое дерево, есть 9 возможных начальных ходов, 8 возможных ответов и т. д., так что всего игр не более 9! или 362 880. Однако игры могут занять менее 9 ходов для разрешения, и точное перечисление дает 255 168 возможных игр. Если считать вращения и отражения позиций одинаковыми, то всего игр может быть 26 830.
Вычислительная сложность игры в крестики-нолики зависит от того, как она обобщена . Естественным обобщением является m , n , k -игры : играются на доске m на n , где победителем становится первый игрок, набравший k в ряд. Сразу становится ясно, что эту игру можно решить в DSPACE ( mn ) путем поиска по всему игровому дереву. Это помещает ее в важный класс сложности PSPACE . Приложив еще немного усилий, можно показать, что она является PSPACE-полной . [4]
Из-за большого размера сложности игры эта таблица дает потолок их логарифма по основанию 10. (Другими словами, количество цифр). Все следующие числа следует рассматривать с осторожностью: кажущиеся незначительными изменения в правилах игры могут изменить числа (которые в любом случае часто являются грубыми оценками) в огромных масштабах, которые могут легко оказаться намного больше, чем показанные числа.
Примечание: сортируется по размеру игрового дерева.
Игра | Размер доски (позиции) | Сложность пространства состояний (как логарифм по основанию 10) | Сложность игрового дерева (как логарифм по основанию 10) | Средняя продолжительность игры ( слои ) | Фактор разветвления | Ссылка | Класс сложности подходящей обобщенной игры |
---|---|---|---|---|---|---|---|
Крестики-нолики | 9 | 3 | 5 | 9 | 4 | PSPACE-полный [5] | |
Сим | 15 | 3 | 8 | 14 | 3.7 | PSPACE-полный [6] | |
Пентамино | 64 | 12 | 18 | 10 | 75 | [7] [8] | ?, но в PSPACE |
Калах [9] | 14 | 13 | 18 | 50 | [7] | Обобщение неясно. | |
Соедини Четыре | 42 | 13 | 21 | 36 | 4 | [1] [10] | ?, но в PSPACE |
Властный (8 × 8) | 64 | 15 | 27 | 30 | 8 | [7] | ?, но в PSPACE ; в P для определенных измерений [11] |
Конгкак | 14 | 15 | 33 | [7] | |||
Английские шашки (8x8) (чекерс) | 32 | 20 или 18 | 40 | 70 | 2.8 | [1] [12] [13] | EXPTIME-завершено [14] |
Авари [15] | 12 | 12 | 32 | 60 | 3.5 | [1] | Обобщение неясно. |
Кубик | 64 | 30 | 34 | 20 | 54.2 | [1] | PSPACE-полный [5] |
Двойной фиктивный мост [nb 1] | (52) | <17 | <40 | 52 | 5.6 | PSPACE-полный [16] | |
Фанорона | 45 | 21 | 46 | 44 | 11 | [17] | ?, но в EXPTIME |
Девять мужских моррисов | 24 | 10 | 50 | 50 | 10 | [1] | ?, но в EXPTIME |
Таблут | 81 | 27 | [18] | ||||
Международные шашки (10x10) | 50 | 30 | 54 | 90 | 4 | [1] | EXPTIME-завершено [14] |
Китайские шашки (2 комплекта) | 121 | 23 | 180 | [19] | EXPTIME -полный [20] | ||
Китайские шашки (6 комплектов) | 121 | 78 | 600 | [19] | EXPTIME -полный [20] | ||
Реверси (Отелло) | 64 | 28 | 58 | 58 | 10 | [1] | PSPACE-полный [21] |
OnTop (базовая игра 2 человека) | 72 | 88 | 62 | 31 | 23.77 | [22] | |
Линии действия | 64 | 23 | 64 | 44 | 29 | [23] | ?, но в EXPTIME |
Гомоку (15x15, свободный стиль) | 225 | 105 | 70 | 30 | 210 | [1] | PSPACE-полный [5] |
Шестигранник (11x11) | 121 | 57 | 98 | 50 | 96 | [7] | PSPACE-полный [5] |
Шахматы | 64 | 44 | 123 | 70 | 35 | [24] | EXPTIME-complete (без правила розыгрыша в 50 ходов ) [25] |
Драгоценности и конфеты Crush (8x8) | 64 | <50 | 70 | [26] | NP-трудный | ||
ГИПФ | 37 | 25 | 132 | 90 | 29.3 | [27] | |
Подключить6 | 361 | 172 | 140 | 30 | 46000 | [28] | PSPACE-полный [29] |
Нарды | 28 | 20 | 144 | 55 | 250 | [30] | Обобщение неясно. |
Сянци | 90 | 40 | 150 | 95 | 38 | [1] [31] [32] | ?, считается EXPTIME-завершенным |
Абалон | 61 | 25 | 154 | 87 | 60 | [33] [34] | PSPACE-hard и в EXPTIME |
Гаванна | 271 | 127 | 157 | 66 | 240 | [7] [35] | PSPACE-полный [36] |
Твикст | 572 | 140 | 159 | 60 | 452 | [37] | |
Чанги | 90 | 44 | 160 | 100 | 40 | [32] | ?, считается EXPTIME-завершенным |
Коридор | 81 | 42 | 162 | 91 | 60 | [38] | ?, но в PSPACE |
Каркассон (базовая игра для 2 игроков) | 72 | >40 | 195 | 71 | 55 | [39] | Обобщение неясно. |
Амазонки (10x10) | 100 | 40 | 212 | 84 | 374 или 299 [40] | [41] [42] | PSPACE-полный [43] |
Сёги | 81 | 71 | 226 | 115 | 92 | [31] [44] | EXPTIME-завершено [45] |
Турн и Таксис (2 игрока) | 33 | 66 | 240 | 56 | 879 | [46] | |
Перейти (19x19) | 361 | 170 | 360 | 150 | 250 | [1] [47] [48] | EXPTIME-complete (без правила суперко ) [49] |
Аримаа | 64 | 43 | 402 | 92 | 17281 | [50] [51] [52] | ?, но в EXPTIME |
Стратего | 92 | 115 | 535 | 381 | 21.739 | [53] | |
Бесконечные шахматы | бесконечный | бесконечный | бесконечный | бесконечный | бесконечный | [54] | Неизвестно, но мат-в-n разрешим [55] |
Магия: Сбор | [56] | AH-жесткий [57] | |||||
Вордл | 5 | 12,972 | 6 | [58] | NP-трудная , неизвестно, является ли она PSPACE-полной с параметризацией. |
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{cite arXiv}}
: CS1 maint: несколько имен: список авторов ( ссылка )