РЕАЛИЗАЦИЯ ИГРЫ “POKER HOLDEM” НА ОСНОВЕ ИНТЕГРИРОВАНИЯ ФРЕЙМОВОЙ И ПРОДУКЦИОННОЙ ПАРАДИГМЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ - Студенческий научный форум

III Международная студенческая научная конференция Студенческий научный форум - 2011

РЕАЛИЗАЦИЯ ИГРЫ “POKER HOLDEM” НА ОСНОВЕ ИНТЕГРИРОВАНИЯ ФРЕЙМОВОЙ И ПРОДУКЦИОННОЙ ПАРАДИГМЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Проект представляет собой приложение игры в «Покер», позволяющее создавать иерархию различных комбинаций карт и иерархию ситуаций игры (этапов игры), хранящихся в базе знаний. Созданные иерархии имеют в своей основе фреймовую структуру, позволяющую проводить привязку ситуаций к игровому полю и производить вывод по сети фреймов. Над данной сетью фреймов можно осуществлять операции редактирования посредством удобного визуального интерфейса пользователя.

Фрейм по Минскому [2] - структура данных для представления стереотипной ситуации. В нашей системе фреймами являлись как обычные объекты, представляющие просто совокупность свойств (например, игрок со слотами «имя», «деньги», «опыт» и пр.), так и специфические: отражающие ситуации (комбинация для игрока - пара, тройка и т.д.), элементы сценария (раздача карт, игрок сделал ставку и пр.) и даже фреймы, обозначающие начало и конец игры. По устоявшемуся мнению фреймы - оптимальное сочетание декларативного и процедурного знания; в нашем приложении декларативность заключается в поддержках родовых связей (is-a, sub) фреймов, а так же задание некоторой логики посредством интеграции фреймов с продукционной оболочкой.

Продукционные правила устанавливают сложные ограничения в маркерах, которых невозможно добится стандартными заданиями отсутствия (как это используется в классическом выводе на иерархии фремов), при этом они интуитивно понятны пользователю - логика декларативна, не зашита в коде или процедуре. С другой стороны, продукционные правила можно считать и процедурной составляющей нашей системы, поскольку наряду с присоединенными процедурами, которые используются в качестве демонов (аналог тригеров в БД), можно использовать и продукции.

Таким образом, в приложении интегрируются фреймовая, продукционная и процедурная парадигмы, обеспечивающие декларативность и достаточную мощь логического вывода [2].

Компонента объяснения (КО), Механизм Логического Вывода (МЛВ), Компонента Приобретения Знаний (КПЗ), База Знаний (БЗ), как известно, являются основными компонентами любой системы, относящейся к когнитивному направлению искусственного интеллекта [1].

В общем случае работа системы выглядит следующим образом (рис. 1). Сначала производится заполнение БЗ посредством КПЗ (Диспетчера объектов). С помощью редактора сети фреймов, использующего библиотеку UGML[3], реализованного на WPF, рисуется сеть фреймов. Далее редактируются слоты фреймов (Редактор слотов), процедуры (Редактор процедур), продукции (Редактор продукций), домены (Редактор доменов) и комбинации (Редактор комбинации). Затем можно сохранить полученную БЗ или загрузить ранее созданную БЗ с помощью модуля Сериализации / Десериализации БЗ в Менеджере игры, а также изменить настройки игры с помощью Модуля настроек.  

Теперь можно начинать игру. С помощью МЛВ производится вывод на сети фреймов, имеющей такие типы связей, как is_a (наследование), sub (часть-целое), next (переход между фреймами сценариями), успех / не успех (переход на следующий фрейм при привязке комбинации). Результаты вывода отображаются на Игровом поле посредством процедурных событий. Таким образом имитируется игра нескольких игроков в Poker Holdem. Работу МЛВ можно посмотреть с помощью КО (Компоненте отображения сети фреймов с текущими значениями слотов,  также использующего UGML [3]) с пошаговой подсветкой тех фреймов, которые привязались к данному моменту. Каждый привязанный фрейм-экземпляр выделяется цветом и можно посмотреть значения его слотов и те продукционные правила, которые  сработали при логическом выводе. Объяснение хода игры производится с помощью Лога событий и Отладчика правил, в котором показывается результат срабатывания правил (Лог сработавших правил).

Разработанное приложение показывает применимость и практическую значимость предложенного подхода к созданию когнитивных приложений искусственного интеллекта. Интеграция фреймовой, продукционной и процедурной парадигм обеспечивает, с одной стороны, декларативность, а с другой - достаточную мощь логического вывода.

Литература

1.   Уэно Х. Представление и использование знаний: Пер. с япон. / Под ред. Х. Уэно, М. Исидзука. - М.: Мир, 1989. С. 29‑98.

2.   Минский М. Фреймы для представления знаний. М.: Мир, 1979.

3.   Соколов Г.В., Ланин В.В. Библиотека для визуализации произвольных моделей на графах и её применение // Материалы всероссийской конференции молодых ученых «Технологии Microsoft в теории и практике программирования» / Нижегородский государственный университет. Нижний Новгород, 2010. С. 348‑350.

Просмотров работы: 2