박희인
박희인 · Ludology
2023/10/14

GDL


GDL은 논리 프로그래밍 언어이다. 스탠퍼드 로직 그룹의 너새니얼 러브와 마이클 게네세리스가 Datalog를 기반으로 게임을 기술하는 1차 술어 논리 언어를 발명한 이래로, GDL은 여러 차례 다른 보완된 형태로 이어져 왔다. 마이클 티엘셔는 불완전 정보 게임을 기술하는 GDL-II와 인식론적 게임에 대한 GDL-III을 개발했고, 카메론 브라운을 중심으로 진행된 디지털 루딤 프로젝트는 게임의 계보를 나타내는 요소 루딤(Ludeme)을 바탕으로 Ludii 시스템을 제시했다.

여러 GDL이 공유하는 요지는 상태 기계 게임 모델의 요소를 아래와 같은 특수한 관계들로 나타낸다는 것이다.
  • role
  • init
  • true
  • does
  • next
  • legal
  • goal
  • terminal

관계(Relation)는 수리논리학에서 하나 이상의 요소를 묶은 순서쌍의 집합으로 정의된다. 가령 2 < 3이라는 부등호식은 부등호 “<”라는 관계의 무수히 많은 예시 중 하나로, 자연수 2와 3 사이의 ‘관계’가 어떤지 나타낸다. 직관적으로 우리는 “2 < 3”을 3이 2보다 크다는 걸 보여주는 관계라고 파악할 수 있다.

GDL의 관계들은 임의로 구성된 게임 어휘(Vocabulary)를 묶은 순서쌍의 집합이라고 볼 수 있다. 예를 들어, “(cell 1 2 b)”은 1과 2, 그리고 b라는 항(Term)이 cell이라는 관계로 묶여있다고 말한다. 이 관계는 틱택토에서 몇 번째 행과 열의 상태가 O나 X, 아니면 비어있다(Blank)고 해석할 수 있다. 즉, “(cell 1 2 b)”이란 1행 2열에 놓인 칸이 비어있다는 뜻이다.

cell같이 임의로 작성된 관계 이외에 존재하는 role, init 같은 특수한 관계들은 게임을 나타내는 데에 필수 불가결하다. 그러한 관계들은 상수 관계라고 불리며, 게임을 올바르게 구성되도록 한다.
한번 예시를 통해 올바르게 구성된 게임을 GDL로 어떻게 표현하는지 알아보자. GDL 논문들은 흔히 틱택토를 예시로 드니, 틱택토에 GDL 표현을 적용해 보면 다음과 ...
얼룩패스
지금 가입하고
얼룩소의 모든 글을 만나보세요.
이미 회원이신가요? 로그인
게임을 연구합니다. 뉴 미디어 이론에서부터 형식적 게임 표현까지
28
팔로워 54
팔로잉 124