• 제목/요약/키워드: set constraints logic language

검색결과 4건 처리시간 0.023초

Prolog 언어를 사용한 집합 제한 논리 언어의 구현 (An Implementation of Set Constraints Logic Language Using Prolog)

  • 김인영;신동하
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2003년도 추계종합학술대회
    • /
    • pp.183-187
    • /
    • 2003
  • In this paper, we describe an implementation method of "set constraints logic language" using the logic language Prolog. "Set constraints logic language" is a programming language with a new paradigm that uses the "set theory" in programming. In this paper, we explain "set constraints problem solver" that has been proposed by A. Dovier and his researchers and we describe an implementation method of this solver using Prolog. We ran easily implement the "set constraints problem solver" in Prolog, since Prolog easily implements nondeterministic problems and provides a data structure railed list. We have applied the language to several application fields to show the usefulness of the language.

  • PDF

공개 집합 제한 논리 언어의 구현 방법 (An Implementation of Open Set Constraint Logic Language)

  • 신동하;손성훈
    • 정보처리학회논문지A
    • /
    • 제12A권5호
    • /
    • pp.385-390
    • /
    • 2005
  • `집합 제한 논리 언어`는 `집합 이론`을 프로그래밍에 도입한 언어이다. 본 논문은 A. Dovier 연구팀이 제안한 집합 제한 문제 풀이(solver) 절차를 소개하고, 이 절차가 논리 언어 Prolog 상에서 어떻게 구현 가능한 지를 보인다. 이 절차는 `다시쓰기 규칙(rewrite rule)`으로 표현되어 있는데 이 표현의 특징은 일반 프로그래밍 언어가 표현하기 힘든 비결정적 규칙 적용(nondeterministic rule application)과 수학적 변수 (mathematical variable)를 사용한다는 점이다. 본 연구에서는 이들 특징이 Prolog 언어에서 제공되는 비결정적 제어 (nondeterministic control), 논리적 변수(logical variable) 및 리스트(list) 자료구조의 사용으로 쉽게 구현 가능함을 보인다. 본 연구의 구현은 다음과 같은 의의를 가지고 있다. 첫째 본연구는 이 언어의 모든 기능을 완전하게 구현하였다는 점이다. 둘째 본 연구에서는 이 언어의 구현 방법을 누구나 알기 쉽게 기술하였다는 점이다. 셋째 기존의 구현이 상업적 Prolog인 SICStus Prolog를 사용하여 구현한 것과는 달리 본 구현은GNU GPL(General Public License)을 가지는CIAO Prolog를 사용하여 구현하였기 때문에 누구나 자유롭게 사용할 수 있는 점이다. 넷째 본 연구에서 개발된 소스 코드는 공개 소프트웨어이기 때문에 누구나 자유롭게 사용, 수정 및 배포할 수 있다는 점이다.

(Ab)(Cl) 집합 일치화의 구현에 관한 연구 (An Implementation of (Ab)(Cl) Set Unification)

  • 신동하;김인영
    • 한국정보통신학회논문지
    • /
    • 제8권5호
    • /
    • pp.1108-1113
    • /
    • 2004
  • ‘집합’은 컴퓨터 프로그램의 설계에 자주 사용되는 도구이다. 이런 이유 때문에 최근 ‘집합 제한 언어’도 등장하였다. 본 연구에서는 ‘(Ab)(Cl) 집합 일치화’ 문제를 소개하고 ‘집합 등식 다시쓰기(rewrite)’를 사용하여 집합 일치화를 Prolog 언어를 사용하여 구현하였다. 본 연구에서는 순차적 언어에서는 구현하기 힘들었던 집합 일치화가 Prolog 언어와 같은 논리 언어에서는 비결정성 제어 구조와 리스트 자료 구조를 사용하여 쉽게 구현 가능함을 보였다. 본 연구는 기존 구현이 고가의 상업용 Prolog를 사용한 것과는 달리 GNU 일반 공용 라이센스(GPL)를 가지는 Ciao Prolog를 사용하였기 때문에 누구나 무료로 사용할 수 있다는 장점도 가지고 있다. 현재 본 연구의 결과를 사용하여 ‘집합제한 언어’가 구현 중이다.

온톨로지 Open World 추론과 규칙 Closed World 추론의 통합 (Integration of Ontology Open-World and Rule Closed-World Reasoning)

  • 최정화;박영택
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권4호
    • /
    • pp.282-296
    • /
    • 2010
  • OWL 온톨로지는 실세계의 도메인 지식을 모델링 하는데 적합하다. 또한 명백하게 정의된 지식으로부터 암시적인 새로운 지식을 추론할 수 있다. 하지만 이 모델링된 지식은 완전할 수 없다. 사람이 가지고 있는 모든 상식을 모델링 할 수 없기 때문이다. 온톨로지는 완전한 지식표현을 위한 무결성 제약조건과 예외 처리와 같은 비단조 추론을 지원할 방법이 없다. 디폴트 규칙은 온톨로지 안의 특정 클래스에 대한 예외를 처리할 수 있다. 또한 무결성 제약은 온톨로지에 정의된 클래스의 제한조건(restriction)에 인스턴스가 일관되게 할 수 있다. 본 논문에서는 Open World Assumption(OWA) 기반의 온톨로지와 Closed World Assumption(CWA) 기반의 비단조 추론을 지원하는 규칙의 지식베이스를 통합하여 Open World 와 Closed World 추론을 모두 지원하는 실질적인 추론 시스템을 제안한다. 이 시스템은 온톨로지에 정의된 불완전한 개념을 다룰 때 OWA기반이라서 발생하는 문제점을 ASP(Answer Set Programming)를 사용하여 해결방안을 제안한다. ASP는 논리 프로그래밍 언어로써 비단조 추론을 허용하며, 서술 논리 지식베이스에 CWA 기반의 질의를 가능하게 한다. 제안하는 시스템은 Protege에서 제공하는 Pizza 온톨로지를 예로써 비단조 추론이 필요한 경우를 보이고, 잘 알려진 온톨로지들로 성능 평가하여 본 시스템의 정당(sound)하고 완전(complete)함을 증명한다.