• 제목/요약/키워드: 집합 제한 논리 언어

검색결과 6건 처리시간 0.022초

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

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

최적 자동동조 방법에 의한 하이브리드 퍼지제어기의 설계 (Design of a hybrid fuzzy controller with the optimal auto-tuning method)

  • 오성권;안태천;황형수;박종진;우광방
    • 제어로봇시스템학회논문지
    • /
    • 제1권1호
    • /
    • pp.63-70
    • /
    • 1995
  • 퍼지논리제어기는 산업응용에 광범위하게 연구되고 있으며, 계속적으로 사용되고 있다. 그러나 퍼지집합의 조정을 통해 최적규칙을 구축하기 위하여, 시행착오에 의한 매우 능숙한 기술이 요구된다. 이 논문에서는 첫째로, 퍼지논리제어기와 기존의 PID 제어기로 구성된 하이브리드 퍼지제어기를 제안한다. 즉, 시스템의 제어 입력은 퍼지변수로서, 과도상태에서의 FLC출력과 정상상태에서의 PID 출력의 컨벡스(convex) 결합이다. 둘째로, 간략추론법과 개선된 컴플렉스방법을 이용한 강력한 자동동조알고리즘이 퍼지논리제어기의 성능을 자동적으로 개선하기 위하여 사용된다. 이방법은 오차변화율및 제어출력의 제한조건에 의하여, 언어제어규칙, 퍼지계수(scaling factor), PID계수, 하이브리드 퍼지논리제어기의 하중계수의 최적값을 자동적으로 추정한다. 시뮬레이션은 시간지연 플랜트및 하수처리시스템의 활성오니공정과 같은 비선형 플랜트에서 실행되고, 시스템의 성능은 평가지수 ITAE로 평가된다.

  • PDF

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

규칙기반 한글 자동 프로그램을 위한 프로그램 변형기법 (A Program Transformational Approach for Rule-Based Hangul Automatic Programming)

  • 홍성수;이상락;심재홍
    • 한국정보처리학회논문지
    • /
    • 제1권1호
    • /
    • pp.114-128
    • /
    • 1994
  • 초고급 언어에 의한 자동 프로그래밍은 프로그램의 자료구조 이외에 많은 부분을 시스템이 관장함으로써 프로그램 명세의 표현이 추상적이지만 프로그램 의미소가 술 어논리, 집합, 사상, 혹은 제안된 자연언어를 사용하기 때문에 초고급 구조에 익숙하 지 않은 프로그래머들이 이를 이용하여 프로그램을 작성하는 경우 상당한 어려움이 따 르고, 이들 초고급언어 구조에 익숙하기까지 많은 시간이 요하게 된다. 왜냐하면 초 고급언어는 프로그램 명세의 표현이 추상적이지만 프로그램 의미소가 술어 논리, 집합, 사상, 혹은 제한된 자연언어를 사용하기 때문이다. 본 논문에서는 기존의 자동 프로 그램의 어려움을 줄이기 위해서 한글로 구성된 선언적구문, 절차적 구문, aggregate 구문으로 광역언어를 설계하고 구현한다. 본 논문에서는 제안하는 한글 자동 프로그래 밍 시스템(Hangul Automatic Programming)은 입력으로 순수한 한글로 구성되어 있으며 추상 알고리즘(Abstract Algorithm)과 자료형(Data Type)혹은 절차적 구문을 받아서 출력으로는 C 언어 프로그램을 만들어 낸다. 자동 프로그래밍 접근 방식은 프로그램 변형기법과 규칙기반에 바탕을 두고 문제영역은 일반적인 프로그램으로 한정 하였다. 시스템 제어구조는 한글 프로그램을 입력으로 받아서 지식베이스로부터 적절한 규칙 을 선택해서 이것을 변형한 다음 전체 데이타 베이스에 넣는데 이과정을 프로그램이 완성 될 때 까지 반복한다.

  • PDF