• Title/Summary/Keyword: prolog

Search Result 97, Processing Time 0.022 seconds

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

  • 신동하;김인영
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.8 no.5
    • /
    • pp.1108-1113
    • /
    • 2004
  • ‘Set’ is a tool that is used frequently in designing computer programs. Because of the reason, ‘set constraints languages’ have been developed recently. In this research, we introduce ‘(Ab)(Cl) set unification’ problem and implement it using the ‘set equation rewriting in Prolog’. In this research we shows that the set unification, that is considered to be difficult to be implemented in procedural languages, ran be implemented easily using the non-deterministic control structure and the list data structure in logic language like Prolog. Our research uses the Ciao Prolog with GNU GPL, this is compared with other existing implementations which used expensive commercial Prolog, so anyone can use the result freely. Currently the result is being used for implementing a set constraint language.

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

  • Shin, Dong-Ha;Son, Sung-Hoon
    • The KIPS Transactions:PartA
    • /
    • v.12A no.5 s.95
    • /
    • pp.385-390
    • /
    • 2005
  • Set constraints logic language is a language that adopts `set theory` in programming. In this paper, we introduce the procedure for solving set constraints proposed by A. Dovier and show how the procedure can be implemented in logic language Prolog. The procedure is represented in `rewriting rules` and this representation is characterized by having nondeterministic rule applicationsand mathematical variables that is difficult to be implemented in general programming languages. In this paper, we show that the representation can be easily implemented by using nondeterministic control, logical variables and data structure `list` provided in Prolog. Our implementation has following advantages.First we have implemented the full features of the language. Second we have described the implementation detail in thisresearch. Third other used the commercial Prolog called SICStus, but we are using CIAO Prolog with GNU GPL(General Public License) and anyone can use it freely. Forth the software of our implementation is open source so anyone can use, modify, and distribute it freely.

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

  • 김인영;신동하
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2003.10a
    • /
    • 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 (에필로그 테일러된 프로시저를 위한 프롤로그 테일러링 기법)

  • Jhi, Yoon-Chan;Kim, Ki-Chang
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.5
    • /
    • pp.1345-1356
    • /
    • 1998
  • Prolog tailoring technique, an optimization method to improve the execution speed of a procedure, is proposed in this paper. When a procedure is frequently and repeatedly called and the machine has a lot of callee-saved registers, optimizing prolog and epilog can become an important step of optimization. Epilg tailoring supported by IBM XL C Compiler has been known to improve procedure's execution speed by reducing register restore instructions on execution paths, but no algorithms for prolog tailoring has been proposed yet. The prolog generated by the prolog tailoring algorithm proposed in this paper executes considerably smaller number of register save instructions at run-time. This means the total number of instructions to be executed is decreased resulting in an improvement on the procedure's execution speed. To maintain the correctness of code, prolog code should not be inserted inside diamond structures of loop structures. This paper proposes a prolog tailoring technique which generates register save instructions at the best position in a control flow graph while not allowing the insertion of any prolog code inside diamond structures of loop structures.

  • PDF

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

  • 권순덕;이원조;이단영;고재진
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04b
    • /
    • pp.94-96
    • /
    • 2002
  • 본 논문에서는 EDI(Electronic Data Interchange)와 WorkFlow 시스템에서 가지고 있는 비즈니스 룰 (Business Rule)을 논리 프로그램인 Prolog를 이용해서 각 비즈니스 룰을 분석하고 각각의 프로세스를 완전한 수행을 할 수 있는 시스템을 설계한다.

  • PDF

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

  • Lee, Geuk;Jo, Dong-Seop;Hwang, Hui-Yung
    • Proceedings of the KIEE Conference
    • /
    • 1985.07a
    • /
    • 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 (프롤로그에서 증명의 수를 효과적으로 제어하기 위한 방법)

  • Nam, Young-Kwang
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.6
    • /
    • pp.1557-1564
    • /
    • 1997
  • We propose an extension to Prolog called the count term for controlling Prolog execution. The purpose is to allow the programmers as well as the users to have greater flexibility in controlling the execution behavior of Prolog programs and for limiting the number of answers or proofs retrieved when Prolog is used as a database query language. Both syntax and operational semantics of the count term are defined. An implementation strategy based on WAM (Warren Abstract Machine) by modifying instructions related to backtracking behavior has been suggested.

  • PDF

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

  • Kim, In-Young;Shin, Dong-Ha
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05a
    • /
    • 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

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

  • Kim, Jin-Seong
    • Proceedings of the Korean Institute of Intelligent Systems Conference
    • /
    • 2006.11a
    • /
    • 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