Условие: Есть игра, а точнее набор правил которые описывают правила хода. Игра конечна и с открытой информацией. Играют 2 человека. Задача: Построить граф игры.
Рассматриваем общий случай(для любой игры). Подскажите, пожалуйста, общие методы построения графа. По возможности хорошую литературу. Заранее спасибо.
http://e-maxx.ru/algo/sprague_grundy По переходам в новые состояния функции Гранди можно посторить граф.
Спасибо. Я смотрел статью, меня интересует сам автомат построения, а точнее различные альтернативы-методы построения. Так-же интересны технические аспекты. Они не особо описные на емаксе(Методы хранения графа-игры, а также механизмы работы с его частями. Мне не всегда нужен весь граф).
В общем случае, каждая вершина графа — это некое состояние в игре, соответственно вершина должна содержать всю необходимую информацию про это состояние. Ну а рёбра, то-бишь переходы между состояниями, это и есть возможные ходы игроков. Их можно хранить явно для каждой вершины, а можно и не хранить, если, зная информацию про вершину, можно быстро определить, куда из этой вершины можно пойти.
Хранить вершины можно по-разному. В олимпиадах чаще всего это либо обыкновенный граф, либо массив по типу динамики, либо, если вершины довольно сложные по структуре, их можно хранить в map'е или set'е.
Спасибо, это больше помогло. Какую теорию посоветовал бы почитать?
Я посоветую статью Андрея Станкевича "Игры на графах". Шикарная статья с глубоким теоретическим анализом комбинаторных игр. Я оттуда извлёк массу полезной информации. Жаль, только, что она сейчас как-то не гуглится. Или я плохо искал...
Возможно, Вы это имели в виду.
Да, спасибо! Надеюсь, всем пригодится.
Спасибо! А видео лекции возможно где-то достать?
Вы про видео — лекции по данной тематике или видео — лекции ЛКШ?
По данной тематике.
================================
Вот