Jump to content

Язык описания игры

(Перенаправлено с языка описания игры )

Язык описания игр (GDL) — специализированный язык логического программирования, разработанный Майклом Дженезеретом . Цель GDL — обеспечить разработку агентов искусственного интеллекта, способных участвовать в обычных играх . Это часть проекта General Game Playing в Стэнфордском университете .

GDL — это инструмент для выражения тонкостей игровых правил и динамики в форме, понятной для систем искусственного интеллекта, посредством сочетания логических конструкций и декларативных принципов.

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

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

Цель GDL [ править ]

Цитируемый в статье в New Scientist Генесерет отметил, что, хотя Deep Blue может играть в шахматы на уровне гроссмейстера , он вообще не способен играть в шашки, поскольку является специализированным игроком. [1] И шахматы, и шашки можно описать в GDL. Это позволяет создавать обычных игроков, способных играть в обе эти игры, а также в любую другую игру, которую можно описать с помощью GDL.

Спецификация [ править ]

Синтаксис [ править ]

GDL — это вариант Datalog , синтаксис которого во многом тот же. Обычно он дается в префиксной записи . Переменные начинаются с " ?". [2]

Ключевые слова [ править ]

Ниже приводится список ключевых слов в GDL, а также краткое описание их функций:

distinct
Этот предикат используется, чтобы потребовать, чтобы два термина были синтаксически разными.
does
Предикат does(?r,?m) означает, что игрок (или роль ) ?r делает ход ?m в текущем состоянии игры.
goal
Предикат goal(?r,?n) используется для определения ценности цели ?n (обычно натуральное число от 0 до 100) для роли ?r в нынешнем состоянии.
init
Этот предикат относится к истинному факту начального состояния игры.
legal
Предикат legal(?r,?m) означает, что ?m это законный ход за роль ?r в нынешнем состоянии.
next
Этот предикат относится к истинному факту о следующем состоянии игры.
role
Этот предикат используется для добавления имени игрока.
terminal
Этот предикат означает, что текущее состояние является терминальным.
true
Этот предикат относится к истинному факту о текущем состоянии игры.

Правила [ править ]

Описание игры в GDL содержит полные правила для каждого из следующих элементов игры.

Игроки [ править ]

Факты, определяющие роли в игре. Следующий пример взят из описания GDL игры для двух игроков « Крестики-нолики» :

(role xplayer)
(role oplayer)

Исходное состояние [ править ]

Правила, которые включают в себя все факты об исходном состоянии игры. Пример:

(init (cell 1 1 blank))
...
(init (cell 3 3 blank))
(init (control xplayer))

Законные ходы [ править ]

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

(<= (legal ?player (mark ?m ?n))
    (true (cell ?m ?n blank))
    (true (control ?player)))

Обновление состояния игры [ править ]

Правила, которые описывают все факты о следующем состоянии относительно текущего состояния и ходов, предпринятых игроками. Пример:

(<= (next (cell ?m ?n x))
    (does xplayer (mark ?m ?n)))
(<= (next (cell ?m ?n o))
    (does oplayer (mark ?m ?n)))

Прекращение действия [ править ]

Правила, описывающие условия, при которых текущее состояние является терминальным. Пример:

(<= terminal
    (line x))
(<= terminal
    (line o))
(<= terminal
    not boardopen)

Состояния целей [ править ]

Целевые значения для каждого игрока в терминальном состоянии. Пример:

(<= (goal xplayer 100)
    (line x))
(<= (goal oplayer 0)
    (line x))

Расширения [ править ]

ГДЛ-II [ править ]

С помощью GDL можно описать конечные игры с произвольным числом игроков. Однако GDL не может описывать игры, содержащие элемент случайности (например, бросок кубиков) или игры, в которых игроки имеют неполную информацию о текущем состоянии игры (например, во многих карточных играх карты противников не видны). GDL-II , язык описания игр для игр с неполной информацией , расширяет GDL двумя ключевыми словами, которые позволяют описывать элементы случайности и неполной информации: [3]

sees
Предикат sees(?r,?p) означает, что роль ?r воспринимает ?p в следующем игровом состоянии.
random
Эта константа относится к заранее определенному игроку, который выбирает ходы случайным образом.

Ниже приведен пример описания карточной игры Техасский холдем в GDL-II :

(<= (sees ?player ?card)
    (does random (deal_face_down ?player ?card)))
(<= (sees ?r ?card)
    (role ?r)
    (does random (deal_river ?card)))

ГДЛ-III [ править ]

Майкл Тильшер также создал дальнейшее расширение, GDL-III , общий язык описания игр с несовершенной информацией и самоанализом , который поддерживает спецификацию эпистемических игр — игр, характеризующихся правилами, зависящими от знаний игроков. [4]

представления Другие формализмы и языки игр

В классической теории игр игры могут быть формализованы в развернутой и нормальной формах. В теории кооперативных игр игры представляются с помощью характеристических функций. Некоторые подклассы игр допускают специальные представления меньших размеров, также известные как краткие игры . Некоторые из новейших разработок формализмов и языков для представления некоторых подклассов игр или представлений, адаптированных к потребностям междисциплинарных исследований, обобщены в следующей таблице. [5] Некоторые из этих альтернативных представлений также кодируют аспекты, связанные со временем:

Имя Год Означает Тип игр Время
Игра с пробками [6] 1973 функции подмножество игр для n человек, одновременные ходы Нет
Последовательная форма [7] 1994 матрицы Игры для двоих с несовершенной информацией Нет
Игры на время [8] [9] 1994 функции игры для двоих Да
Гала [10] 1997 логика игры с несовершенной информацией для n человек Нет
Графические игры [11] [12] 2001 графики, функции игры для n человек, одновременные ходы Нет
Игры с локальным эффектом [13] 2003 функции подмножество игр для n человек, одновременные ходы Нет
Игры Сети Петри [14] 2006 сеть Петри детерминированные игры для n человек, одновременные ходы Нет
Непрерывные игры [15] 2007 функции подмножество игр для двоих с несовершенной информацией Да
ПНСИ [16] [17] 2008 сеть Петри игры с несовершенной информацией для n человек Да
Графические игры действия [18] 2012 графики, функции игры для n человек, одновременные ходы Нет

Приложения [ править ]

В статье 2016 года «описывается многоуровневый алгоритм, компилирующий общее описание игры на GDL в оптимизированное средство рассуждения на языке низкого уровня». [19]

В статье 2017 года GDL используется для моделирования процесса посредничества в разрешении спора между двумя сторонами и представлен алгоритм, который эффективно использует для этого имеющуюся информацию. [20]

См. также [ править ]

Ссылки [ править ]

  1. ^ Бивер, Селеста (29 июля 2006 г.). «Создание совершенных игровых ботов — технологии — 29 июля 2006 г. — New Scientist Tech» . Архивировано из оригинала 11 августа 2007 года.
  2. ^ Любовь, Н; Генесерет, М; Хинрикс, Т. (2006). «Общая игра: спецификация языка описания игры. Технический представитель LG-2006-01» (PDF) . Стэнфордский университет . Стэнфордский университет, Стэнфорд . Проверено 1 июля 2019 г.
  3. ^ Тильшер, М. (2010). Фокс, М; Пул, Д. (ред.). «Общий язык описания игр для игр с неполной информацией» . Материалы двадцать четвертой конференции AAAI по искусственному интеллекту, AAAI 2010 . Атланта: AAAI Press . Проверено 1 июля 2019 г.
  4. ^ Тильшер, Майкл (2017). «GDL-III: язык описания для эпистемических общих игр» (PDF) . Материалы двадцать шестой Международной совместной конференции по искусственному интеллекту . IJCAI. ISBN  978-0-9992411-0-3 . Проверено 1 июля 2019 г.
  5. ^ Тагиев, Рустам (3 мая 2011 г.). «Если для прогнозирования стратегического взаимодействия реальных агентов необходимо нечто большее, чем аналитическое моделирование». arXiv : 1105.0558 [ cs.GT ].
  6. ^ Розенталь, Роберт В. (декабрь 1973 г.). «Класс игр, обладающих чисто стратегическим равновесием Нэша». Международный журнал теории игр . 2 (1): 65–67. дои : 10.1007/BF01737559 . S2CID   121904640 .
  7. ^ Коллер, Дафна ; Мегиддо, Нимрод ; фон Стенгель, Бернхард (1994). «Быстрые алгоритмы поиска рандомизированных стратегий в деревьях игр». Материалы двадцать шестого ежегодного симпозиума ACM по теории вычислений - STOC '94 . стр. 750–759. дои : 10.1145/195058.195451 . ISBN  0-89791-663-8 . S2CID   1893272 .
  8. ^ Алур, Раджив; Дилл, Дэвид Л. (апрель 1994 г.). «Теория синхронизированных автоматов» . Теоретическая информатика . 126 (2): 183–235. дои : 10.1016/0304-3975(94)90010-8 .
  9. ^ Томлин, CJ; Лигерос, Дж.; Шанкар Шастри, С. (июль 2000 г.). «Теоретико-игровой подход к проектированию контроллеров для гибридных систем». Труды IEEE . 88 (7): 949–970. CiteSeerX   10.1.1.129.8347 . дои : 10.1109/5.871303 . S2CID   1844682 .
  10. ^ Коллер, Дафна; Пфеффер, Ави (1997). «Представления и решения теоретико-игровых задач» (PDF) . Искусственный интеллект . 94 (1–2): 167–215. дои : 10.1016/S0004-3702(97)00023-4 .
  11. ^ Майкл, Майкл Кернс; Литтман, Майкл Л. (2001). «Графические модели для теории игр». В УАИ : 253–260. CiteSeerX   10.1.1.22.5705 .
  12. ^ Кернс, Майкл; Литтман, Майкл Л.; Сингх, Сатиндер (7 марта 2011 г.). «Графические модели для теории игр». arXiv : 1301.2281 [ cs.GT ].
  13. ^ Лейтон-Браун, Кевин; Тенненхольц, Моше (2003). «Игры с локальным эффектом» . IJCAI'03: Материалы 18-й Международной совместной конференции по искусственному интеллекту : 772–777.
  14. ^ Клемпнер, Хулио (2006). «Моделирование игр по кратчайшему пути с помощью сетей Петри: теория, основанная на Ляпунове» . Международный журнал прикладной математики и информатики . 16 (3): 387–397. ISSN   1641-876X .
  15. ^ Санников, Юлий (сентябрь 2007 г.). «Игры с несовершенно наблюдаемыми действиями в непрерывном времени» (PDF) . Эконометрика . 75 (5): 1285–1329. дои : 10.1111/j.1468-0262.2007.00795.x .
  16. ^ Тагиев, Рустам (декабрь 2008 г.). «Мультиагентные игры Петри». 2008 Международная конференция по вычислительному интеллекту для моделирования управления и автоматизации . стр. 130–135. дои : 10.1109/CIMCA.2008.15 . ISBN  978-0-7695-3514-2 . S2CID   16679934 .
  17. ^ Тагиев, Рустам (2009). «О многоагентных моделях сетей Петри для вычисления обширных конечных игр». Новые вызовы в области вычислительного коллективного разума . Исследования в области вычислительного интеллекта. Том. 244. Спрингер. стр. 243–254. дои : 10.1007/978-3-642-03958-4_21 . ISBN  978-3-642-03957-7 .
  18. ^ Бхат, Навин; Лейтон-Браун, Кевин (11 июля 2012 г.). «Вычисление равновесия Нэша в играх с графом действий». arXiv : 1207.4128 [ cs.GT ].
  19. ^ Ковальски, Якуб; Шикула, Марек (2013). «Создание компилятора языка описания игры» . AI 2013: Достижения в области искусственного интеллекта: 26-я Австралазийская совместная конференция, Данидин, Новая Зеландия, 1–6 декабря 2013 г. Материалы . стр. 234–245 . Проверено 1 июля 2019 г.
  20. ^ де Йонге, Дэйв; Трескак, ​​Томас; Сьерра, Карлес; Симофф, Симеон; Лопес де Мантарас, Рамон (2017). «Использование языка описания игры для опосредованного разрешения споров». ИИ и общество . 2017 (4). Спрингер: 767–784. дои : 10.1007/s00146-017-0790-8 . S2CID   22738517 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 44d31c46bbb4e33991ed5869d812967b__1717306200
URL1:https://arc.ask3.ru/arc/aa/44/7b/44d31c46bbb4e33991ed5869d812967b.html
Заголовок, (Title) документа по адресу, URL1:
Game Description Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)