Prolog 언어를 사용한 집합 일치화의 구현

An Implementation of Set Unification Using Prolog

  • 김인영 (상명대학교 일반대학원 컴퓨터과학과) ;
  • 신동하 (상명대학교 소프트웨어학부)
  • Kim, In-Young (Dept. of Computer Science, Sangmyung University) ;
  • Shin, Dong-Ha (Division of Computer Software, Sangmyung University)
  • 발행 : 2003.05.16

초록

본 논문은 "집합 일치화 문제(set unification problem)"를 논리 언어 Prolog를 사용하여 구현한다. 집합 일치화 문제는 고전적 논리 언어(logic languages)의 일치화 문제(unification problem)에서 집합을 표현할 수 있도록 확장한 것으로 최근 연구되고 있는 "집합 제한 논리 언어(set constraints logic languages)"를 구현하기 위하여 풀어야 하는 문제이다. 본 논문에서는 최근 A. Dovier 연구팀이 제안한 집합 일치화 문제의 풀이(solver)를 소개하고, 이 풀이를 논리 언어 Prolog를 사용하여 구현하는 방법을 기술한다. Prolog 언어는 비결정성(nondeterminism)을 표현할 수 있는 기능과 리스트(list)라는 자료 구조를 제공하는 기능 때문에 다른 어떤 언어에서보다 쉽게 집합 일치화 문제 풀이를 구현할 수 있다. 본 연구의 결과는 집합 제한 논리 언어의 수행기(interpreter) 개발에 직접 이용될 수 있다.

키워드