• 제목/요약/키워드: prolog

검색결과 97건 처리시간 0.024초

(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를 사용하였기 때문에 누구나 무료로 사용할 수 있다는 장점도 가지고 있다. 현재 본 연구의 결과를 사용하여 ‘집합제한 언어’가 구현 중이다.

공개 집합 제한 논리 언어의 구현 방법 (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를 사용하여 구현하였기 때문에 누구나 자유롭게 사용할 수 있는 점이다. 넷째 본 연구에서 개발된 소스 코드는 공개 소프트웨어이기 때문에 누구나 자유롭게 사용, 수정 및 배포할 수 있다는 점이다.

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

에필로그 테일러된 프로시저를 위한 프롤로그 테일러링 기법 (Prolog Tailoring Technique on Epilog Tailored Procedures)

  • 지윤찬;김기창
    • 한국정보처리학회논문지
    • /
    • 제5권5호
    • /
    • pp.1345-1356
    • /
    • 1998
  • 본 논문은 컴파일러에 의해 생성된 목적 코드상의 프로시저의 수행 속도를 향상시키기 위한 방안으로, 프롤로그 테일러링 알고리즘을 제안한다. 레지스터의 수가 많은 기계에서 반복 수행되는 프로시저의 경우, 프롤로그와 에필로그에서 실행되는 레지스터 저장 및 복원 명령어를 줄이는 것은 프로시저 실행 속도 향상의 주요 작업이 된다. IBM XL C 컴파일러에서 제공되는 에필로그 테일러링은 실행 경로상의 레지스터 복원 명령어를 줄임으로써, 프로시저 성능 향상에 기여해왔으나, 프롤로그 테일러링에 대한 구체적 알고리즘은 현재 제안되어 있지 않다. 본 논문이 제안하는 알고리즘에 의해 생성된 프롤로그는 각각의 실행 경로에 대해 현저히 감소된 수의 레지스터 저장 명령을 실행하도록 함으로써, 프로시저의 실행 속도를 개선시킨다. 테일러된 프롤로그를 갖는 프로시저가 바르게 실행되기 위해서는, 다이아몬드 구조나 반복 구조 내분에 레지스터 저장 명령을 생성해서는 안된다. 그러므로, 본 논문은 다이아몬드 구조나 반복 구조 내부가 아닌 최적의 위치에 레지스터 저장 명령을 생성하는 알고리즘을 제안한다.

  • PDF

Prolog/XML를 이용한 비즈니스 룰(Business Rule) 분석 시스템 설계 (Using Prolog/XML for business rules implementation system design)

  • 권순덕;이원조;이단영;고재진
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.94-96
    • /
    • 2002
  • 본 논문에서는 EDI(Electronic Data Interchange)와 WorkFlow 시스템에서 가지고 있는 비즈니스 룰 (Business Rule)을 논리 프로그램인 Prolog를 이용해서 각 비즈니스 룰을 분석하고 각각의 프로세스를 완전한 수행을 할 수 있는 시스템을 설계한다.

  • PDF

Prolog를 이용한 State Diagram의 처리 (State Diagram Management Using Prolog)

  • 이극;조동섭;황희융
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 1985년도 하계학술회의논문집
    • /
    • pp.234-237
    • /
    • 1985
  • 본 논문은 득정한 하드웨어를 구성함에 앞서 그 시스템이 State-diagram으로 표현된 것을 입력으로 받아 state-diagram이 맞는지를 verify하는 방법을 제시하며 equivalence state를 찾아 reduce해준다. Program의 실현은 Prolog로 하였다.

  • PDF

프롤로그에서 증명의 수를 효과적으로 제어하기 위한 방법 (An Efficient Method for Controlling the Number of Proofs in Prolog)

  • 남영광
    • 한국정보처리학회논문지
    • /
    • 제4권6호
    • /
    • pp.1557-1564
    • /
    • 1997
  • 본 논문에서는 프롤로그 프로그램의 수행을 제어하기 위한 하나의 기능으로서 수항목(count term)이라는 새로운 기능을 제안한다. 그 목적은 사용자와 프로그래머에게 답 또는 증명의 수를 제한하는 기능과 프롤로그 프로그램의 수행을 제어하는 데 편리함을 주기 위한 것이다. 따라서 그를 위한 구문과 작동적 의미를 제시하였으며 WAM(Warren Abstract Machine)에서 백트랙킹시 관련된 명령어를 수정하여 수항목의 구현 방법을 제시한다.

  • PDF

Prolog 언어를 사용한 집합 일치화의 구현 (An Implementation of Set Unification Using Prolog)

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

  • PDF

PROLOG와 개념 그래프를 이용한 협동 온톨로지의 설계 (Design of Cooperation Ontology by using PROLOG and Conceptual Graph)

  • 김진성
    • 한국지능시스템학회:학술대회논문집
    • /
    • 한국퍼지및지능시스템학회 2006년도 추계학술대회 학술발표 논문집 제16권 제2호
    • /
    • pp.314-317
    • /
    • 2006
  • This study proposes an ontology design framework to support the cooperation among devices by using PROLOG, Conceptual Graph (CG), and Resource Description Framework (RDF). Quite a large number of representation languages for representing ontology on the Web have been established over the last decade. Most of these researches are focused on design of independent resources description. In Semantic Web, however, cooperation ontology will be needed. In this study, the CG could make an entire conceptual view of knowledge and RDF can represent that knowledge. Then the PROLOG could support the natural inference based on that knowledge. Therefore, our proposed ontology will be used in the designing of Semantic Web-based cooperation systems.

  • PDF