Винсент,
Во-первых, не чувствуйте себя глупо. Вы (я предполагаю) изучали основы информатики в течение трех лет; теперь вы применяете эти базовые методы к чему-то довольно специализированному — конкретному приложению (Stratego) в узкой области (искусственный интеллект).
Во-вторых, убедитесь, что ваш консультант полностью понимает правила Stratego. В Stratego играют на большей доске с большим количеством фигур (и типов фигур), чем в шахматах. Это дает ему гораздо большее пространство для легальных позиций и гораздо большее пространство для легальных ходов. Это также игра со скрытой информацией, что еще больше увеличивает сложность. Ваш консультант может захотеть ограничить объем проекта, например, сосредоточиться на варианте с полным наблюдением. Я не знаю, почему вы думаете, что это проще, разве что ходы фигур немного проще.
В-третьих, я думаю, что правильно сначала взглянуть на то, как игры в целом обрабатываются в области ИИ. Рассел и Норвиг, главы 3 (для общей информации) и 5 (для игр для двух игроков) довольно доступны и хорошо написаны. Вы увидите две основные идеи: во-первых, вы в основном выполняете огромный поиск в дереве в поисках выигрыша, и во-вторых, что для любой нетривиальной игры деревья слишком велики, поэтому вы ищете определенную глубину, а затем выкрутитесь с помощью «функции оценки доски» и найдите одну из них. Я думаю, что ваш третий пункт в этом ключе.
Функция оценки доски — это волшебство, и, вероятно, она является хорошим кандидатом на использование либо генетического алгоритма, либо генетической программы, любой из которых может использоваться в сочетании с нейронной сетью. Основная идея заключается в том, что вы пытаетесь спроектировать (или развить) функцию, которая принимает в качестве входных данных позицию на доске и выводит одно число. Большие числа соответствуют сильным позициям, а маленькие — слабым. Существует известная статья Челлапиллы и Фогеля, в которой показано, как это сделать для игры в шашки:
http://library.natural-selection.com/Library/1999/Evolving_NN_Checkers.pdf
Я думаю, что это отличная статья, связывающая воедино три основных направления ИИ: состязательный поиск, генетические алгоритмы и нейронные сети. Это должно вдохновить вас на то, как представлять свое правление, как думать об оценках правления и т. д.
Однако имейте в виду, что то, что вы пытаетесь сделать, значительно сложнее, чем работа Челлапиллы и Фогеля. Ничего страшного, в конце концов, прошло 13 лет, и вы еще какое-то время будете этим заниматься. У вас по-прежнему будут проблемы с представлением доски, потому что ИИ-игрок имеет неполное представление о состоянии своего противника; изначально ничего не известно, кроме позиций, но, в конце концов, по мере того, как фрагменты устраняются в конфликте, можно начать использовать логику первого порядка или связанные с ней методы, чтобы начать сужение отдельных фрагментов, и, возможно, даже вероятностные методы для получения информации обо всем наборе. (Некоторые из них могут выходить за рамки проекта бакалавриата.)
person
Novak
schedule
04.01.2012