KR101354978B1 - Rule-based Inference Engine with Temporal Reasoning - Google Patents

Rule-based Inference Engine with Temporal Reasoning Download PDF

Info

Publication number
KR101354978B1
KR101354978B1 KR1020070006278A KR20070006278A KR101354978B1 KR 101354978 B1 KR101354978 B1 KR 101354978B1 KR 1020070006278 A KR1020070006278 A KR 1020070006278A KR 20070006278 A KR20070006278 A KR 20070006278A KR 101354978 B1 KR101354978 B1 KR 101354978B1
Authority
KR
South Korea
Prior art keywords
rules
facts
time
inference
information
Prior art date
Application number
KR1020070006278A
Other languages
Korean (ko)
Other versions
KR20080068453A (en
Inventor
김민수
이건수
김민구
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020070006278A priority Critical patent/KR101354978B1/en
Publication of KR20080068453A publication Critical patent/KR20080068453A/en
Application granted granted Critical
Publication of KR101354978B1 publication Critical patent/KR101354978B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

시간 표현을 고려한 규칙-기반 추론 시스템 및 방법이 개시된다. 본 발명의 실시예에 따른 추론 시스템은 사용자 인터페이스, 파서, 작업 메모리, 규칙 베이스, 및 추론 엔진을 포함한다. 사용자 인터페이스로 추론에 필요한 정보들을 입력된다. 파서는 상기 입력된 정보들을 분석하여 출력한다. 작업 메모리는 상기 정보들 중 팩트(fact)들을 저장한다. 규칙 베이스는 상기 정보들 중 규칙들을 저장한다. 추론 엔진은 상기 정보들 중 상기 팩트들과 상기 규칙들을 상기 작업 메모리와 상기 규칙 베이스로 각각 전송하고, 상기 정보들과 상기 작업 메모리에 저장된 팩트들, 및 상기 규칙 베이스에 저장된 규칙들을 이용하여 상기 규칙들이 만족되는지 추론한다. 이 때 상기 팩트들은 시간 팩트들을 포함하고, 상기 추론 엔진은 상기 시간 팩트들을 더 이용하여 상기 규칙들이 만족되는지 추론한다. 추론 시스템은 시간 인덱스와 네트워크를 통해 시간 추론을 제공하는 동시에 레테 네트워크를 이용하여 추론을 빠르게 할 수 있으므로 유비쿼터스 환경에 적합한 추론을 수행할 수 있으며, 다양한 애플리케이션에 사용됨으로써 전체 시스템의 성능을 향상시킬 수 있는 장점이 있다. Disclosed are a rule-based reasoning system and method that takes time representation into account. An inference system according to an embodiment of the present invention includes a user interface, a parser, a working memory, a rule base, and an inference engine. Information required for inference is entered into the user interface. The parser analyzes and outputs the input information. The working memory stores facts of the above information. The rule base stores the rules of the above information. The inference engine sends the facts and the rules of the information to the working memory and the rule base, respectively, and uses the rules stored in the information and facts stored in the working memory and the rules based on the rules. Infer whether they are satisfied. The facts then include time facts, and the inference engine further uses the time facts to infer whether the rules are satisfied. Inference system can provide time inference through time index and network, and can use intenet network to speed up inference, so that reasoning can be made suitable for ubiquitous environment, and it can be used for various applications to improve the performance of the whole system. There is an advantage.

Description

시간 표현을 고려한 추론 엔진 개발{Rule-based Inference Engine with Temporal Reasoning}Rule-based Inference Engine with Temporal Reasoning}

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다. BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.

도 1은 OPS5 에서 생성 규칙을 이용하여 레테 네트워크를 구성한 결과를 나타내는 도면이다. 1 is a diagram illustrating a result of configuring a Rete network using a generation rule in OPS5.

도 2는 7 가지 시간 관계들을 시간 축 위에 표현한 도면이이다. 2 is a diagram representing seven time relationships on the time axis.

도 3은 도 2의 시간 관계들을 이용하여 추론이 이루어지는 과정을 설명하기 위한 도면이다. FIG. 3 is a diagram for describing a process of making inference using the time relationships of FIG. 2.

도 4는 본 발명의 실시예에 따른 추론 시스템의 블록도이다. 4 is a block diagram of an inference system according to an embodiment of the present invention.

도 5는 세 노드들 사이에서 서로 다른 노드들 간에 두 가지 시간관계가 존재하는 경우에 나타나는 시간 관계에 대한 추론을 설명하기 위한 도면이다. FIG. 5 is a diagram for explaining inferences about a time relationship that occurs when two time relationships exist between three nodes.

본 발명은 추론 엔진에 관한 것으로서, 특히 시간 표현을 고려한 규칙-기반 추론 시스템 및 방법에 관한 것이다. FIELD OF THE INVENTION The present invention relates to inference engines, and more particularly to rule-based reasoning systems and methods that take time representation into account.

최근 전자통신 기술의 비약적인 발전에 따라, 유비쿼터스(ubiquitous) 컴퓨팅이 급속히 부상하고 있다. 이러한 유비쿼터스 컴퓨팅에서는 웰빙케어(well-being care), 메디칼(medical), 등의 서비스들이 중요하게 여겨지며, 이러한 서비스들이 지능적으로 제공되기 위해서는 사용자의 요구가 추론될 수 있어야 한다. BACKGROUND ART [0002] Ubiquitous computing is rapidly emerging as a result of the rapid development of electronic communication technology. In such ubiquitous computing, services such as well-being care, medical, and the like are considered important, and in order for these services to be intelligently provided, user needs must be deduced.

유비쿼터스(ubiquitous) 환경에서 사용자의 요구에 적합한 서비스를 제공하기 위해서는, 주어진 상황에 대한 인지와 추론을 위한 시스템이 필수적이다. 이러한 인지와 추론은, 예를 들어 응급환자의 발생 등 긴박한 상황에 대한 대처뿐만 아니라 유비쿼터스 공간에 존재하는 기기들의 효율적인 동작, 통신 등의 서비스를 지능적으로 제공하기 위한 기반이 된다. In a ubiquitous environment, a system for recognizing and reasoning about a given situation is essential to provide a service suited to the needs of the user. Such cognition and reasoning are the basis for intelligently providing services such as efficient operation and communication of devices in the ubiquitous space as well as coping with urgent situations such as emergence of emergency patients.

지능적인 서비스 제공을 위한 추론은 사용자 프로파일과 상황정보를 기반으로 하며, 때로는 많은 시간을 필요로 할 수도 있다. 예를 들어 메디칼 서비스의 경우, 자동차 사고, 심장 발작, 당뇨병 환자의 혈당량 부족으로 인한 쇼크 상태 등과 같이 시간을 다투는 일들이 발생할 수 있기 때문에 빠른 추론을 통한 서비스 제공이 절실히 필요하다. 나아가 이렇게 시간을 다투는 일들은 빠른 추론뿐만 아니라 어떤 지식에 대한 시간의 표현이 유용하게 사용될 수 있어야 한다. Reasoning for intelligent service delivery is based on user profiles and contextual information, and can sometimes take a lot of time. For example, medical services are urgently needed to provide services through fast reasoning, as time-consuming events can occur, such as car accidents, heart attacks, and shock conditions caused by a lack of blood sugar in diabetics. Furthermore, these time-quarning tasks should be useful not only for quick reasoning, but also for the representation of time about some knowledge.

이러한 서비스를 가능하게 하기 위한 중요한 요소로 규칙-기반 시스템(rule-based system)과 시간 추론이 사용된다. 규칙-기반 시스템은, 미리 정의된 생성 규칙(production rule)과 실제 일어나는 현상들을 팩트(fact)로 표현하고 팩트와 미 리 정의된 규칙의 조건을 비교함으로써, 규칙에서 정의한 새로운 팩트들을 이끌어내며, 시스템 또는 시스템을 이용한 애플리케이션들은 이 결과를 토대로 임의의 행동(action)을 취하게 된다. Rule-based systems and time inference are used as important factors to enable these services. Rule-based systems derive new facts defined by rules by representing facts with predefined production rules and actual phenomena as facts, and comparing facts with the conditions of predefined rules. Or applications using the system take arbitrary actions based on this result.

한편 이러한 규칙-기반 시스템은 전문가 시스템 구축에 주로 사용되어 시스템으로, 전향 추론 시스템이다. 전문가 시스템은 특정한 분야의 범위에서 발생하는 문제를 해결하는 전문가의 문제 해결 과정을 모방한 컴퓨터 프로그램이다. 즉 전문가 시스템은, 특정 분야의 전문가들이 전문 지식들을 수집하고 정리하여, 컴퓨터의 추론 능력을 이용하여 주어진 특정 전문 영역에 관한 문제를 해결하는 컴퓨터 자문 시스템이다. On the other hand, such a rule-based system is mainly used for building expert systems, and it is a forward inference system. An expert system is a computer program that mimics an expert's problem-solving process that solves problems that occur within a specific field of scope. In other words, the expert system is a computer advisory system in which experts in a specific field collect and organize expertises, and use a computer's reasoning ability to solve a problem related to a given specific area of expertise.

이러한 규칙-기반 시스템은, 지능형 에이전트 시스템에서 자동화된 의사결정을 내리거나, 유비쿼터스 컴퓨팅에서 사람의 필요를 추론하여 목표를 달성하기 위한 일련의 서비스들을 계획을 하는 등의 많은 분야에서 이용하고 있다. Such rule-based systems are used in many fields, such as making automated decisions in intelligent agent systems, or planning a set of services to achieve goals by inferring human needs in ubiquitous computing.

한편 시간 추론을 위해서는 시간을 포함한 지식이 표현되어야 한다. 일반적으로 사건은 시간과 공간의 변화에 따른 상태의 변화로 정의될 수 있기 때문에, 시간은 지식 표현에 있어서 중요한 요소 중 하나이다. 즉 시간의 변화에 따라 어떤 팩트에 대한 양상이 변할 수 있으므로, 시간의 표현과 추론에 관한 논의가 필요하다. On the other hand, knowledge including time is required for time inference. In general, time is one of the most important factors in knowledge expression, because an event can be defined as a change of state with changes in time and space. In other words, since the aspect of a fact may change with time, it is necessary to discuss the expression of time and reasoning.

규칙-기반 시스템에서 추론을 위해 가장 많은 시간을 요구하는 부분은 팩트와 규칙의 비교이며, 팩트와 규칙의 수가 증가할수록 시간이 길어져 추론 효율이 감소한다. 즉, 규칙-기반 시스템에서 컴퓨팅 시간이 가장 많이 필요한 부분은 작업 메모리(working memory)와 규칙 베이스(rule base)를 매칭(matching) 시키는 부분이다. 작업 메모리는 팩트를 나타내는 선언들인 팩트를 저장하는 공간이며, 규칙 베이스는 팩트에 대처하는 지식들인 규칙을 저장하는 공간이다. The most time consuming part of inference in rule-based systems is the comparison of facts and rules, and as the number of facts and rules increases, the length of time decreases reasoning efficiency. In other words, the most computing time required in a rule-based system is a matching part of a working memory and a rule base. The working memory is a space for storing facts, declarations that represent facts, and the rulebase is a space for storing rules, knowledge of how to deal with facts.

이러한 비교 시간을 단축하기 위해서 레테 네트워크(Rete network)라는 알고리즘이 제안되었으며, 레테 네트워크에 의해 작업 메모리와 규칙 베이스를 매칭 시키는 시간을 단축된다. 레테 네트워크는 시스템에 존재하는 모든 규칙들을 네트워크로 구성하고 네트워크에 존재하는 노드를 만족하는 팩트를 기억함으로서 매칭 시간을 단축시킨다. In order to shorten the comparison time, an algorithm called Rete network has been proposed, and the time required to match the working memory with the rule base is reduced by the Rete network. The Late network shortens the matching time by organizing all the rules existing in the system into the network and remembering the facts satisfying the nodes present in the network.

한편 팩트와 규칙, 그리고 시간표현 등을 정의하기 위해서는 시스템이 담당하고자 하는 환경을 표현할 수 있는 명확한 문법과 사용자가 사용하기 쉬운 언어가 필요하다. 이를 위해 JRM 시스템은 전향 추론이 가능한 언어를 정의하여 사용한다. 이 언어는 기본적인 팩트와 규칙에 대한 정의뿐만 아니라, 팩트에 대한 시간을 표현하는 인덱스(index)와 팩트 간의 시간관계, 함수 정의, 파일 관련 동작 등을 위한 특징들을 제공한다. To define facts, rules, and time expressions, on the other hand, you need a clear grammar that can represent the environment your system is in charge of and an easy-to-use language. For this purpose, the JRM system defines and uses a language that can make forward inference. In addition to defining the basic facts and rules, the language provides features for indexes and time relationships between facts, function definitions, file-related operations, and so on.

시간을 표현하는 방법으로, 시간을 나타내는 인덱스(index)를 이용해 서로 다른 사건들 간의 전후 관계를 추론하는 방법과 여러 사건들 간의 시간 관계들을 통해 기존에 존재하지 않는 시간 관계를 추론하는 방법이 있다. One way to express time is to infer the context between different events using an index of time and to infer time relationships that do not exist through time relationships between events.

그러나 인덱스를 이용하는 방법은 인덱스가 추가될 때마다 모든 인덱스를 검색해야 하는 문제점이 있다. 또한 사건들 간의 시간관계를 이용하는 방법은 정확한 시간을 알 수 없는 문제점이 있다. However, there is a problem in that an index is used to search all indexes every time an index is added. Also, there is a problem that the method using the time relation between events can not know the exact time.

따라서 두 가지 방법을 모두 이용함으로써, 인덱스를 이용하여 정확한 시간을 추론하고 네트워크를 통해 시간 관계를 추론하여 각각의 방법들의 단점을 보완할 필요가 있다. Therefore, by using both methods, it is necessary to compensate for the shortcomings of each method by inferring the correct time using the index and inferring the time relationship through the network.

본 발명이 이루고자하는 기술적 과제는 시간 표현을 고려한 규칙-기반 추론 시스템을 제공하는데 있다. An object of the present invention is to provide a rule-based reasoning system in consideration of time representation.

본 발명이 이루고자하는 다른 기술적 과제는 시간 표현을 고려한 규칙-기반 추론 방법을 제공하는데 있다. Another technical problem to be achieved by the present invention is to provide a rule-based reasoning method in consideration of the time representation.

상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 추론 시스템은 사용자 인터페이스, 파서, 작업 메모리, 규칙 베이스, 및 추론 엔진을 포함한다. 사용자 인터페이스로 추론에 필요한 정보들을 입력된다. 파서는 상기 입력된 정보들을 분석하여 출력한다. 작업 메모리는 상기 정보들 중 팩트(fact)들을 저장한다. 규칙 베이스는 상기 정보들 중 규칙들을 저장한다. 추론 엔진은 상기 정보들 중 상기 팩트들과 상기 규칙들을 상기 작업 메모리와 상기 규칙 베이스로 각각 전송하고, 상기 정보들과 상기 작업 메모리에 저장된 팩트들, 및 상기 규칙 베이스에 저장된 규칙들을 이용하여 상기 규칙들이 만족되는지 추론한다. 이 때 상기 팩트들은 시간 팩트들을 포함하고, 상기 추론 엔진은 상기 시간 팩트들을 더 이용하여 상기 규칙들이 만족되는지 추론한다. An inference system according to an embodiment of the present invention for achieving the above technical problem includes a user interface, a parser, a working memory, a rule base, and an inference engine. Information required for inference is entered into the user interface. The parser analyzes and outputs the input information. The working memory stores facts of the above information. The rule base stores the rules of the above information. The inference engine sends the facts and the rules of the information to the working memory and the rule base, respectively, and uses the rules stored in the information and facts stored in the working memory and the rules based on the rules. Infer whether they are satisfied. The facts then include time facts, and the inference engine further uses the time facts to infer whether the rules are satisfied.

한편 상기 정보들은 변수들 및 함수들을 더 포함할 수 있다. Meanwhile, the information may further include variables and functions.

또한 상기 추론 엔진은 시간 네트워크 및 레테 네트워크를 포함한다. 시간 네트워크는 상기 시간 팩트들을 이용하여 상기 팩트들의 시간 관계를 추론한다. 레테 네트워크는 상기 작업 메모리에 저장된 팩트들, 상기 규칙 베이스에 저장된 규칙들, 상기 입력된 정보들, 및 상기 추론된 시간 관계를 이용하여 상기 규칙들이 만족되는지 추론한다. The reasoning engine also includes a time network and a rete network. A time network uses the time facts to infer the time relationship of the facts. The Late network infers whether the rules are satisfied using the facts stored in the working memory, the rules stored in the rule base, the input information, and the inferred time relationship.

이 때 상기 시간 팩트들은 시점 및 시간 관계를 포함하는 것이 바람직하다. In this case, the time facts preferably include a time point and a time relationship.

한편 상기 규칙들이 만족되는 경우, 상기 추론 엔진은 상기 만족되는 규칙들로부터 발생하는 결과들을 충돌 세트로서 출력한다. On the other hand, when the rules are satisfied, the inference engine outputs the results from the satisfied rules as a collision set.

이 때 본 발명의 실시예에 따른 추론 시스템은 상기 충돌 세트를 수신하여, 상기 규칙들의 상세한 정도 또는 순서에 기초하여 수신된 충돌 세트에 대한 우선순위를 결정하고, 결정된 우선순위에 따라 상기 결과들을 출력하는 아젠다를 더 포함할 수 있다. At this time, the inference system according to the embodiment of the present invention receives the conflict set, determines the priority of the received conflict set based on the degree or order of detail of the rules, and outputs the results according to the determined priority. It may further include an agenda.

본 발명의 실시예에 따른 추론 시스템은 상기 우선순위에 따라 출력되는 결과들을 수신하여 수신된 결과들을 실행하는 실행 엔진을 더 포함할 수 있다. The inference system according to an embodiment of the present invention may further include an execution engine that receives the output results according to the priority and executes the received results.

상기 다른 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 추론 방법은, 추론에 필요한 정보들을 입력하는 단계, 상기 정보들 중 팩트(fact)들 및 규칙들을 저장하는 단계, 상기 정보들과 상기 저장된 팩트들 및 칙들을 이용하여 상기 규칙들이 만족되는지 추론하는 단계를 포함하며, 상기 추론하는 단계는 상기 팩트 들에 포함된 시간 팩트들을 더 이용하여 상기 규칙들이 만족되는지 추론한다. Inference method according to an embodiment of the present invention for achieving the other technical problem, the step of inputting the information required for inference, the fact (fact) of the information and the step of storing the information, the information and the stored Inferring whether the rules are satisfied using facts and rules, and inferring further infers whether the rules are satisfied using further time facts included in the facts.

또한 상기 추론하는 단계는, 상기 시간 팩트들을 이용하여 상기 팩트들의 시간 관계를 추론하는 단계, 및 상기 작업 메모리에 저장된 팩트들, 상기 규칙 베이스에 저장된 규칙들, 상기 입력된 정보들, 및 상기 추론된 시간 관계를 이용하여 상기 규칙들이 만족되는지 추론하는 단계를 포함한다. The inferring may also include inferring a time relationship of the facts using the time facts, and the facts stored in the working memory, the rules stored in the rule base, the input information, and the inferred. Inferring whether the rules are satisfied using a temporal relationship.

또한 상기 추론하는 단계는 상기 규칙들이 만족되는 경우, 상기 만족되는 규칙들로부터 발생하는 결과들을 충돌 세트로서 출력하는 단계를 더 포함할 수 있다. In addition, the inferring may further include outputting results from the satisfied rules as a collision set when the rules are satisfied.

이 때, 본 발명의 실시예에 따른 추론 방법은 상기 충돌 세트를 수신하여, 상기 규칙들의 상세한 정도 또는 순서에 기초하여 수신된 충돌 세트에 대한 우선순위를 결정하는 단계, 및 결정된 우선순위에 따라 상기 결과들을 출력하는 단계를 더 포함할 수 있다. At this time, the inference method according to an embodiment of the present invention receives the conflict set, determining a priority for the received conflict set based on the degree or order of detail of the rules, and according to the determined priority The method may further include outputting the results.

또한 본 발명의 실시예에 따른 추론 방법은 상기 우선순위에 따라 출력되는 결과들을 수신하여 수신된 결과들을 실행하는 단계를 더 포함할 수 있다. In addition, the inference method according to the embodiment of the present invention may further include receiving the output results according to the priority and executing the received results.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다. In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

1-1. 추론기술1-1. Reasoning Technology

일반적으로 주어진 상황에 대한 지식을 가지고 새로운 팩트를 유도하는 과정은 실생활에서 매우 익숙한 과정이다. 실제로 우리가 알고 있는 모든 과학적 팩트들이 일정한 추론의 틀에서 비롯되었다고 하여도 과언이 아니다. 추론이란, 이미 알고 있는 명제를 기초로 하여 새로운 명제를 유도하는 과정으로 전제와 결론 간의 논리적 관계를 다루는 것이다. 여기서 결론이란 새로 유도된 명제를 말하며, 전제란 결론의 근거를 제공하는 이미 알려진 명제를 일컫는다.In general, the process of inducing new facts with knowledge of a given situation is a very familiar process in real life. In fact, it is no exaggeration to say that all the scientific facts we know come from a certain framework of reasoning. Inference is the process of deriving a new proposition based on a known proposition, dealing with the logical relationship between the premise and the conclusion. The conclusion here refers to a newly derived proposition and the premise refers to a known proposition that provides the basis for the conclusion.

추론의 종류로는 연역법(Deduction), 상정논법(Abduction), 귀납법(Induction) 등이 있다. 삼단논법으로 잘 알려진 연역법은 전제에서 결론을 이끌어내는 방법이다. 이를 위해 주 전제(major premise)와 부 전제(minor premise)를 서술해야 한다. 다음은 연역법으로 추론하는 과정이다. Types of inferences include deduction, assumption, and induction. Deduction, well known as three-stage reasoning, is a way of drawing conclusions from the premises. For this purpose, major premise and minor premise should be described. The following is the process of inference by deduction.

주전제: if X = 아버지, then X = 남자Main theme: if X = father, then X = man

부전제: 진호는 아버지이다. Subtitle: Jin Ho is the father.

결론: 진호는 남자이다. Conclusion: Jin Ho is a man.

일반적으로 연역의 결과는 항상 참이며, 이것을 추론의 건전함(soundness)이라 한다. 생성 규칙(production rule), 시맨틱 네트(semantic net), 로직(logic) 등은 모두 연역법에 속한다. In general, the result of deduction is always true, which is called the soundness of reasoning. Production rules, semantic nets, logic, etc. all belong to the deduction method.

상정논법은 어떤 규칙의 조건을 추측해 내는 것이다. 연역법에서 결론은 주 전제에 있는 조건들을 추측하는 것이므로, 그 결과는 거짓일 수 있다. 상정논법은 일종의 추측이며, 따라서 다수의 경우에 옳지만 항상 옳지는 않다. 따라서 상정논법은 유사 추론(plausible inference)이라고도 한다. Assuming argument is to guess the condition of a rule. In Deduction Law, the conclusion is to guess the conditions in the main premises, so the result can be false. Assumptions are a kind of conjecture, and therefore are right in many cases but not always right. The assumptions are therefore also called pseudo inferences.

귀납법은 구체적 팩트에서 일반적 결론을 이끌어 내는 방법으로, 증명으로부터 가설을 유도한다. 즉 결론은 얻어진 팩트로부터 추론된다. 구체적인 팩트들이 모든 경우를 전부 보여줄 수 없기 때문에, 결과는 거짓일 수 있다. 따라서 유도된 결론은 정확하지 않을 수 있고 또한 새로운 팩트가 알려질 경우 변할 수도 있다. Induction is a way to draw general conclusions from concrete facts and derive hypotheses from proof. That is, the conclusion is inferred from the facts obtained. Since concrete facts cannot show all the cases, the result can be false. Thus the derived conclusions may not be accurate and may change when new facts are known.

한편 대표적인 추론 전략으로 전향 추론(forward chaining)이 있다. 전향 추론은 규칙의 전제부와 작업 메모리 사이의 패턴을 비교하여, 결론부에서 지시된 내용에 따라 작업 메모리의 상태를 바꾸는 추론 방식이다. 즉, ‘A 이면 B 이다’ 라는 규칙이 존재할 때, 조건인 A 와 동일한 패턴이 작업 메모리에 있으면 B 가 수행된다. A representative reasoning strategy is forward chaining. Forward reasoning is a reasoning method that compares the pattern between the premise of the rule and the working memory and changes the state of the working memory according to what is indicated in the conclusion. That is, when the rule 'If A is B' exists, B is executed if the same pattern as the condition A exists in the working memory.

이러한 전향 추론은 추론의 종류로 보면 연역법에 속하며, 전제 구동형 추론(antecedent driven reasoning)이라고도 한다. 전향 추론 방식을 사용하는 시스템으로 규칙-기반 시스템(rule-based systemn)이 있으며, 대표적인 규칙-기반 시스템으로는 OPS5, CLIPS 그리고 JESS 등이 있다. This forward reasoning is a kind of reasoning, and it is called deduction law and also called antecedent driven reasoning. Prospective reasoning systems are rule-based systems, and representative rule-based systems include OPS5, CLIPS, and JESS.

역(backward) 방향의 진행은 많은 규칙들을 모두 수행하지 않고 조건을 만족하는 규칙을 찾아서 수행하기 위한 추론의 효율성 때문이다. 역 방향의 진행은 역 방향이라는 점에 의해 논리상으로는 상정논법에 가깝다. 그러나 상정논법은 ‘A 이면 B 이다’ 에서 B 로부터 A 를 유도하는 것이므로, 근본적으로 역 방향의 진행과 는 다르다. Progress in the backward direction is due to the efficiency of inference to find and perform a rule that satisfies the condition without performing all of the many rules. Progression in the reverse direction is logically close to the assumption theory due to the inverse direction. However, the assumption is to derive A from B in 'If A is B', which is fundamentally different from reverse progression.

1-2. 전문가 시스템1-2. Expert systems

1972년에 Newell과 Simon은 규칙 베이스(rule base), 추론 엔진, 및 작업 메모리를 포함하는 규칙-기반 시스템을 제안하였다. 이 시스템은 ‘A 이면 B 이다’ 형식의 규칙을 이용하여, 생성 규칙(production rule)에 의해서 표현된 지식을 추론하고 문제를 해결한다. In 1972, Newell and Simon proposed a rule-based system that included a rule base, an inference engine, and working memory. The system uses rules of the form A, B, and B to infer the knowledge represented by the production rule and solve the problem.

규칙-기반 시스템은 크게 두 가지 부분으로 포함된다. 즉 규칙-기반 시스템은 특정 분야의 지식을 저장하는 지식 베이스(knowledge base)와 이를 이용하여 문제를 해결하는 지식을 저장하는 추론 엔진(inference engine)을 포함한다. 추론 엔진은 패턴 매처(pattern matcher)와 아젠다(agenda)를 포함하고, 지식 베이스는 팩트를 저장하는 작업 메모리(working memory: WM)와 규칙을 저장하는 규칙 베이스를 포함한다. Rule-based systems fall into two major parts. That is, a rule-based system includes a knowledge base that stores knowledge of a specific field and an inference engine that stores knowledge that solves a problem using the knowledge base. The inference engine includes a pattern matcher and agenda, and the knowledge base includes a working memory (WM) for storing facts and a rule base for storing rules.

패턴 매처는 WM 과 규칙 베이스를 이용해서 어떤 규칙들이 충족되었는지를 아젠다에게 알려준다. 아젠다는 미리 정해진 정책(policy)이나 규칙의 우선순위에 따라서 규칙을 선택한다. The pattern matcher uses the WM and rule base to tell the agenda which rules have been met. The agenda selects a rule according to a predetermined policy or rule priority.

규칙은 조건부와 조건이 만족되는 경우 수행되는 결과부를 포함한다. 아젠다는 규칙 중 WM 에서 조건부를 만족시키는 것이 있는지 확인하고, 만족된 규칙 중 하나의 규칙을 선택하여 그 결과를 수행하면서 WM 을 수정한다. 따라서 규칙-기반 시스템이 동작하는 동안 WM 은 끊임없이 변경될 것이다. The rule includes a conditional part and a result part that is performed when the condition is met. The agenda checks whether any of the rules satisfy the conditional condition in the WM, selects one of the satisfied rules, and modifies the WM while performing the result. Thus, while the rule-based system is operating, the WM will be constantly changing.

1-3. 지식 표현(knowledge representation)1-3. Knowledge representation

인공지능에서 가장 핵심이 되는 부분은 지식이다. 따라서 지식을 어떻게 체계적으로 저장하고 효율적으로 사용할 수 있도록 하는가에 관한 지식 표현 방법은 매우 중요하다. 또한 지식 표현 방법에 따라 문제 영역에 적합하고 성능이 좋은 문제해결 방법이 나올 수 있다. The key to AI is knowledge. Therefore, how to express knowledge about how to systematically store and use it efficiently is very important. In addition, depending on how the knowledge is expressed, a problem solving method that is suitable for the problem area and has good performance may be produced.

지식 표현이란 지식을 컴퓨터와 사람이 동시에 이해할 수 있는 형태로 나타내는 것을 말한다. 만약 지식이 인간 언어, 즉 자연어만으로 표현된다면 컴퓨터에 의한 자연어의 처리는 완벽하지 못하므로 이러한 지식 표현은 구현될 수 없을 것이다. 반면, 지식이 컴퓨터 언어의 알고리즘과 자료 구조만으로 표현된다면 이러한 지식 표현을 사람이 이해하는 것은 어려운 일이다. 따라서 표현 방법은 인간 언어 구조와 컴퓨터 언어 구조 사이의 중간에서 절충된다. Knowledge expression refers to the representation of knowledge in a form that computers and people can understand at the same time. If knowledge is expressed only in human language, that is, natural language, the processing of natural language by computer is not perfect and such expression of knowledge cannot be realized. On the other hand, if knowledge is represented only by algorithms and data structures of computer language, it is difficult for humans to understand this expression of knowledge. Thus, the method of expression is a compromise between the human and computer language structures.

이러한 절충안으로 나온 지식 표현들로 규칙이나 프레임, 의미망(Semantic network), 그래프, 전치논리 형태 등이 있다. 또한 LISP, PROLOG 등과 같은 언어들이 이러한 절충적인 지식 표현을 위한 전문적인 컴퓨터 언어로 개발되어 있다. Knowledge representations resulting from these compromises include rules, frames, semantic networks, graphs, and transpositional forms. Also, languages like LISP and PROLOG have been developed as specialized computer languages for this eclectic representation of knowledge.

지식 표현의 역할은 크게 다섯 가지가 있다. 먼저, 지식 표현은 대용물 (surrogate)이다. 불완전한 대용물은 불가피하게 불완전한 추론을 야기한다. 다음으로, 지식 표현은 일련의 존재론적 약속이다(ontological commitments). 따라서 그 약속은 가장 초기에 선택되어지며 단계마다 축적된다. 즉 지식 표현은 자료구조가 아니다. 다음으로, 지식 표현은 지능적 추론의 단편적인 이론이다(fragmentary theory). 다음으로, 지식 표현은 효율적인 전산화(computation)를 위한 수단이다. 마지막으로, 지식 표현은 인간 표현의 수단이다. There are five major roles of knowledge expression. First, the knowledge representation is a surrogate. Incomplete substitutes inevitably lead to incomplete inference. Next, knowledge representation is a series of ontological commitments. Thus, the promise is chosen at the earliest and accumulates step by step. That is, knowledge representation is not a data structure. Next, knowledge representation is a fragmentary theory of intelligent reasoning. Next, knowledge representation is a means for efficient computation. Finally, knowledge representation is a means of human expression.

1-4. 레테 알고리즘(Rete algorithm)1-4. Rete algorithm

많은 양의 패턴이나 객체가 포함되는 경우, 시스템의 속도는 느려질 수 있다. 전형적인 규칙-기반 시스템은 규칙의 목록을 유지하면서 계속적으로 목록에 있는 규칙의 조건부를 테스트하고, 만족된 규칙의 결과부를 실행한다. 이런 작업들은 여러 번 반복되는 작업가운데, 지난번의 작업에서와 같은 결과가 나오는 테스트를 하기 때문에 비효율적이다. If a large amount of patterns or objects are involved, the system can slow down. A typical rule-based system maintains a list of rules while continuously testing the predicates of the rules in the list and executing the result of the satisfied rule. These tasks are inefficient because they run tests that produce the same results as in the last task.

지식 베이스(knowledge base)가 안정화되면, 대부분의 테스트가 반복될 것이다. 이 경우 규칙의 수를 R, 팩트의 수를 F, 그리고 조건부의 패턴들의 평균적인 수를 P 라고 할 때, 시간 복잡도(time complexity)는

Figure 112007005881003-pat00001
가 된다. Once the knowledge base has stabilized, most of the tests will be repeated. In this case, when the number of rules is R, the number of facts is F, and the average number of conditional patterns is P, the time complexity is
Figure 112007005881003-pat00001
.

레테 네트워크 알고리즘에서는, 네트워크의 형태로 지난 테스트의 결과를 저장한다. 따라서 레테 네트워크 알고리즘에서는, 같은 결과가 나오는 테스트가 반복되는 비효율성이 감소된다. 조건부에 대한 테스트는 단지 새로운 팩트가 선언되었을 때에만 그와 관계된 규칙의 조건부만을 테스트한다. 따라서 시간 복잡도는

Figure 112007005881003-pat00002
에 가까워진다. In the Rete network algorithm, the results of past tests are stored in the form of a network. Thus, in the Rete network algorithm, the inefficiency of repeating the same test is reduced. Tests on predicates only test the predicates of the rules involved when a new fact is declared. So the time complexity is
Figure 112007005881003-pat00002
Getting closer to

레테 알고리즘을 이용한 대표적인 규칙-기반 시스템으로 OPS 시리즈와 CLIPS, JESS 등이 있다. [표 1] 및 도 1은 OPS5 에서 생성 규칙을 이용하여 레테 네트워크를 구성한 결과를 나타낸다. Representative rule-based systems using the Latte algorithm include the OPS series, CLIPS, and JESS. Table 1 and FIG. 1 show the results of configuring a Rete network using a generation rule in OPS5.

Figure 112007005881003-pat00003
Figure 112007005881003-pat00003

도 1에 도시된 바와 같이 [표 1]에서의 두 개의 생성 규칙은, 클래스(Class)를 검사하는 노드, 타입(Type)을 검사하는 노드, Arg1을 검사하는 노드를 공유하고 있다. 이렇게 네트워크를 이용한 생성 규칙의 표현은 지식을 표현하기 위한 공간을 절약하는 동시에, 각 노드가 자신이 검사한 결과를 저장하면서 반복되는 검사의 수행을 방지함으로써 비교시간을 감소시킨다. As shown in FIG. 1, the two generation rules in Table 1 share a node that checks a class, a node that checks a type, and a node that checks Arg1. The expression of the generation rule using the network saves space for expressing knowledge and reduces the comparison time by preventing repeated execution of inspection while each node stores its inspection results.

1-5. 시간 추론(temporal reasoning)1-5. Temporal reasoning

시간 추론은 시간 속성을 가지는 상태의 변화에 대한 추론이다. 시간을 두고 발생하는 상태의 변화와 공간적 이동은 사건으로 정의되며, “언제 발생한 무엇”, 즉 시간 정보와 팩트의 이름으로 표현된다. 시간 정보는 정확한 순간을 나타내는 시각과 유지된 시간을 나타내는 시간 길이, 지정된 시작 시간부터 유지된 시간을 표현하는 시간 간격, 그리고 주기적인 시간을 위한 주기 표현 등으로 표현할 수 있다. 팩트가 발생한 시간을 사용하여 추론하기 위해서는 팩트의 이름으로 사건 발생 시간을 참조할 수 있는 시간 사건 통합 표현이 필요하다. Temporal reasoning is the reasoning for the change of state with temporal properties. State changes and spatial movements that occur over time are defined as events, and are expressed in terms of "what happened", namely time information and facts. The time information may be represented by a time indicating an accurate moment and a length of time indicating a maintained time, a time interval representing a time maintained from a specified start time, and a periodic representation for periodic time. In order to infer using the time the fact occurred, we need a time event integration expression that can refer to the event occurrence time in the name of the fact.

James F. Allen 은 어떤 사건들의 시간 관계에 대해서 13 가지로 정의를 내리고 정의된 시간 관계를 이용한 추론을 제안하였다. 이러한 시간관계들 중 동일 시간에 일어난 관계를 제외한 12 가지 관계들은 두 개씩 서로 짝을 이루는 역관계를 표현한다. 따라서 추론 시스템에 지식을 구축하고 이를 통해 시간 관계에 관한 추론을 할 때에는 역관계를 제외한 7 가지 관계만으로도 충분히 표현 가능하다. James F. Allen made 13 definitions of the temporal relationship of certain events and proposed reasoning using the defined temporal relationship. Among these time relationships, 12 relations except two occurred at the same time express two inverse pairs. Therefore, when constructing knowledge in inference system and making inferences about temporal relations through this, seven kinds of relations except inverse relations can be sufficiently expressed.

도 2는 7 가지 시간 관계들을 시간 축 위에 표현한 도면이고, 도 3은 도 2의 시간 관계들을 이용하여 추론이 이루어지는 과정을 설명하기 위한 도면이다. 도 2에 도시된 시간 관계 표현을 이용하면, 사건들의 전후 관계가 추론될 수 있다. 예를 들어 사건 A, B, C 가 존재할 때, A 와 B 가 Meets 관계이고, B 와 C 가 Finishes 관계인 경우 A 와 C 는 Before 관계라는 것이 추론될 수 있다. FIG. 2 is a diagram illustrating seven time relationships on a time axis, and FIG. 3 is a view for explaining a process of making inference using the time relationships of FIG. 2. Using the temporal relationship representation shown in FIG. 2, the context of events can be inferred. For example, when events A, B, and C exist, it can be inferred that A and C are Before relationships when A and B are Meets and B and C are Finishes.

시간 간격이나 시간 길이에 기반을 둔 추론은 서로 다른 모든 팩트에 대한 추론을 요구한다. 즉, N 개의 팩트가 존재하는 경우 N(N-1) 번의 추론이 필요하다. 그러나 시간 관계에 기반을 둔 추론은 서로 다른 모든 팩트 간의 추론이 필요하지 않다. 예를 들어, A와 B가 Meet 관계일 때, B 와 Before, Meets, Overlaps, During, Finishes 관계인 팩트들은 모두 A 와는 Before 관계라는 것이 추론될 수 있다. Allen 은 이것을 상대적인 시간 관계에 의한 추론이라고 하였다. 이 경우 다른 시간 표현 방법에 의한 추론에 비해 컴퓨팅 시간을 아낄 수 있다. Reasoning based on time intervals or lengths of time requires reasoning for all different facts. That is, if there are N facts, N (N-1) inferences are needed. However, reasoning based on time relationships does not require reasoning between all the different facts. For example, when A and B are in a Meet relationship, it can be inferred that all facts with Before, Meets, Overlaps, During, and Finishes with B are Before. Allen calls this a reasoning by relative time relationship. This saves computing time compared to inference by other time representation methods.

도 4는 본 발명의 실시예에 따른 추론 시스템의 블록도이다. 도 4의 추론 시스템(400)은 시간 표현을 고려한 추론 시스템으로, 규칙-기반 추론 시스템이다. 추론 시스템(400)은 사용자 인터페이스(user interface, 410), 파서(parser,420), 추론 엔진(inference engine, 430), 작업 메모리(working memory, 440), 규칙 베이스(rule base, 450), 아젠다(agenda, 460), 및 실행 엔진(execution engine, 470)을 포함한다. 또한 추론 엔진(430)은 레테 네트워크(431) 및 시간 네트워크(433)를 포함한다. 4 is a block diagram of an inference system according to an embodiment of the present invention. The reasoning system 400 of FIG. 4 is a reasoning system considering a time representation, and is a rule-based reasoning system. The inference system 400 includes a user interface 410, a parser 420, an inference engine 430, a working memory 440, a rule base 450, and an agenda. (agenda, 460), and execution engine (470). Inference engine 430 also includes a rete network 431 and a time network 433.

본 발명의 실시예에 따른 추론 시스템(400)의 동작을 개괄적으로 설명하면, 사용자 인터페이스(410)를 통해 입력된 내용(즉, 규칙 및 팩트)은 파서(420)를 통해 분석되어 작업 메모리(440) 또는 규칙 베이스(450)에 저장되거나 수정되어 저장된다. 이 때, 저장되는 내용은 레테 네트워크(421)에 반영되어 수정되며, 만약 어떤 규칙들이 만족된 경우 아젠다(460)는 만족된 규칙들을 소정의 우선순위로 실행 엔진(470)으로 전달함으로써 만족된 규칙들이 실행되도록 한다. 이하에서 도 4를 참조하여 본 발명의 실시예에 따른 추론 시스템의 구조 및 동작에 대해 상세히 설명한다. Referring to the operation of the inference system 400 according to an embodiment of the present invention, the contents (ie, rules and facts) input through the user interface 410 are analyzed by the parser 420 and the working memory 440. ) Or the rule base 450 or may be modified and stored. In this case, the stored content is reflected in the network 421 and modified, and if certain rules are satisfied, the agenda 460 delivers the satisfied rules to the execution engine 470 at a predetermined priority, thereby satisfying the satisfied rules. To be executed. Hereinafter, the structure and operation of an inference system according to an embodiment of the present invention will be described in detail with reference to FIG. 4.

사용자는 사용자 인터페이스(410)를 이용하여 추론에 필요한 정보들, 예를 들어 규칙, 팩트, 변수, 함수 등을 입력한다. 파서(420)는 사용자 인터페이스(410)를 통해 입력된 정보들을 분석하고, 분석된 정보들을 추론 엔진(430)으로 전달함으로써 정보들이 작업 메모리(440)를 작업 메모리, 규칙 베이스(450) 또는 변수나 함수 등을 처리하기 위한 다른 모듈(미도시)로 전달한다. The user inputs information necessary for inference, for example, rules, facts, variables, functions, etc. using the user interface 410. The parser 420 analyzes the information input through the user interface 410, and passes the analyzed information to the inference engine 430 so that the information may be transferred to the working memory 440 from the working memory, rule base 450, or variable. Pass to another module (not shown) for processing functions.

본 발명의 실시예에서는, 작업 메모리(440)에는 팩트들이 저장되고, 규칙 베이스(450)에는 규칙들이 저장된다. 그러나 도 4에 도시된 정보들이 저장되는 구성은 설명의 편의를 위한 것이며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 입력된 정보들, 즉 규칙, 팩트, 변수, 함수 등이 임의의 저장 모듈이나 추론 엔진과 같은 동작 모듈에 저장되도록 구현될 수도 있음을 이해할 수 있을 것이다. In an embodiment of the present invention, facts are stored in the working memory 440 and rules are stored in the rule base 450. However, the configuration in which the information shown in FIG. 4 is stored is for convenience of description, and those skilled in the art may store the input information, that is, rules, facts, variables, functions, and the like. It will be appreciated that it may be implemented to be stored in an operating module such as a module or an inference engine.

추론 엔진(430)은 파서(420)로부터 전달된 입력 정보들(즉 규칙, 팩트, 변수, 함수 등)과 작업 메모리(440)에 저장된 팩트들, 그리고 규칙 베이스(450)에 저장된 규칙들을 이용하여 규칙이 만족되었는지 추론한다. 도 4에 도시된 바와 같이 본 발명의 실시예에서는, 기존의 규칙-기반 추론(즉, 레테 네트워크(431))뿐만 아니라 시간 표현을 고려한(즉 시간 네트워크(433)) 추론이 함께 수행된다. The inference engine 430 uses input information (ie rules, facts, variables, functions, etc.) transmitted from the parser 420, facts stored in the working memory 440, and rules stored in the rule base 450. Infer whether the rule is satisfied. As shown in FIG. 4, in addition to the existing rule-based reasoning (ie, the rete network 431), inference taking into account the time representation (ie, the time network 433) is performed together.

추론 엔진(430)은 레테 네트워크(431) 및 시간 네트워크(433)를 포함한다. 레테 네트워크(431)는 규칙-기반 추론 시스템이고, 시간 네트워크(433)는 시간 표현에 대한 추론 시스템이다. 레테 네트워크(431)와 시간 네트워크(433)의 구체적인 동작을 설명하기에 앞서, 본 발명의 실시예에서 이용되는 레테 네트워크(431)와 시간 네트워크(433)의 구성에 대해 설명하고, 추론을 위한 정보들, 즉 규칙, 팩트, 변수,함수, 시간 등이 본 발명에서 어떻게 표현되는지에 대해 설명한다. The inference engine 430 includes a rete network 431 and a time network 433. Latte network 431 is a rule-based reasoning system, and time network 433 is a reasoning system for time representations. Before explaining the specific operations of the Rete network 431 and the time network 433, the configuration of the Rete network 431 and the time network 433 used in the embodiment of the present invention will be described, information for inference Ie rules, facts, variables, functions, time, etc. are described in the present invention.

본 발명의 실시예에서는, 레테 네트워크(431)를 구성하기 위해 다음과 같은 노드들을 이용한다. In the embodiment of the present invention, the following nodes are used to configure the Lete network 431.

Figure 112007005881003-pat00004
Figure 112007005881003-pat00004

본 발명의 실시예에서, 하나의 패턴은 일련의 1-입력 노드(one input node)들로 구성된다. 여러 개의 패턴들로 이루어진 규칙은 2-입력 노드(two input node)를 이용하여 여러 개의 패턴을 하나로 묶는다. In an embodiment of the invention, one pattern consists of a series of one input nodes. A rule consisting of several patterns combines two patterns into one using two input nodes.

먼저 하나의 패턴에 대한 표현에 대해 설명한다. 아래의 표는 단일 패턴을 레테 네트워크(431)에서 표현한 예이다. First, the expression of one pattern will be described. The table below is an example of expressing a single pattern in the network 431.

Figure 112007005881003-pat00005
Figure 112007005881003-pat00005

다음으로, 여러 개의 패턴들로 이루어진 규칙에 대한 표현에 대해 설명한다. 아래의 표는 AND 연산으로 묶인 패턴을 레테 네트워크(431)에서 표현한 예이다. Next, the expression of a rule composed of several patterns will be described. The table below is an example of expressing a pattern bounded by an AND operation in the network 431.

Figure 112007005881003-pat00006
Figure 112007005881003-pat00006

아래의 표는 OR 연산으로 묶인 패턴을 레테 네트워크(431)에서 표현한 예이다. The table below is an example of expressing the pattern bound by the OR operation in the network 431.

Figure 112007005881003-pat00007
Figure 112007005881003-pat00007

AND 로 묶은 패턴들과 달리, OR 로 묶인 패턴들에서는 각 경우 중 하나만 만족해도 해당 조건이 만족된 것이 되므로 각 패턴마다 터미널 노드가 추가된다. Unlike the patterns enclosed in AND, in the patterns enclosed in OR, the terminal condition is added to each pattern because only one of the cases is satisfied.

또한 본 발명의 실시예에서는, 시간 네트워크(433)를 구성하기 위해 다음과 같은 노드 구조를 이용한다. In addition, in the embodiment of the present invention, the following node structure is used to construct the time network 433.

Figure 112007005881003-pat00008
Figure 112007005881003-pat00008

충분한 추론에 관한 정보가 없는 경우, 서로 다른 두 노드 간의 시간 관계는 여러 가지로 나타날 수 있다. 도 5는 세 노드들 사이에서 서로 다른 노드들 간에 두 가지 시간관계가 존재하는 경우에 나타나는 시간 관계에 대한 추론을 설명하기 위한 도면이다. 도 5에 도시된 바와 같이 본 발명에서는, 추론에 필요한 충분한 정보가 없는 경우 여러 가지 관계가 될 수 있다는 가능성을 표현하기 위해서 복수의 시간 정보를 기록하기 위한 자료구조를 이용한다. In the absence of sufficient inference information, the time relationship between two different nodes can appear in many ways. FIG. 5 is a diagram for explaining inferences about a time relationship that occurs when two time relationships exist between three nodes. As shown in Fig. 5, in the present invention, a data structure for recording a plurality of time information is used to express the possibility that there may be various relations when there is not enough information necessary for inference.

앞서 살펴본 바와 같이, 규칙-기반 시스템에서는 규칙 베이스에 저장된 규칙과 작업 메모리에 저장된 팩트(fact)가 지식으로 다루어지므로, 추론하기에 적절한 형태로 지식을 표현하기 위한 언어가 필요하다. 지식을 표현하기 위해서, 본 발명에서는 언어를 표현하기 위한 메타 표현으로 BNF를 사용했다. 다음 표에 본 발명에서 사용되는 BNF 가 표시되어 있다. As discussed above, in a rule-based system, the rules stored in the rulebase and the facts stored in the working memory are treated as knowledge, so a language is needed to express the knowledge in a form suitable for inference. In order to express knowledge, the present invention uses BNF as a meta-expression for expressing language. The following table shows the BNFs used in the present invention.

Figure 112007005881003-pat00009
Figure 112007005881003-pat00009

이하에서는, 위의 표를 참조하여, 지식을 표현하는 방법에 대해 더 구체적으로 설명한다. Hereinafter, the method of expressing knowledge will be described in more detail with reference to the above table.

본 발명에서는 기본적으로 원소, 숫자와 문자열, 그리고 변수가 표현되어야 한다. 본 발명에서 이용되는 원소의 표현은 다음과 같다. In the present invention, elements, numbers, strings, and variables should be basically expressed. The expression of the element used by this invention is as follows.

<digit> ::= 0 | 1 | … | 9<digit> :: = 0 | 1 | ... | 9

<letter> ::=a | b | … | z | A | B | … | Z<letter> :: = a | b | ... | z | A | B | ... | Z

<punctuation> ::= _ | - | # | $ | = | + | * | > | < | ? | . | , | / | % | @ | ! <punctuation> :: = _ | -| # | $ | = | + | * | > | <| ? | . | , | / | % | @ | !

<char> ::= <digit> | <letter> | <punctuation><char> :: = <digit> | <letter> | <punctuation>

<symbol> ::= <letter><char>*<symbol> :: = <letter> <char> *

<null> ::= NULL<null> :: = NULL

<true> ::= TRUE<true> :: = TRUE

<false> :: FALSE<false> :: FALSE

<ascii> ::= \ <positive-integer><ascii> :: = \ <positive-integer>

| \<letter> | \ <letter>

<white-space> ::= \32<white-space> :: = \ 32

본 발명에서 이용되는 숫자와 문자열의 표현은 다음과 같다. The representation of numbers and strings used in the present invention is as follows.

<integer> ::= <positive-integer><integer> :: = <positive-integer>

| <negative-integer>| <negative-integer>

<positive-integer> ::= <digit>+ <positive-integer> :: = <digit> +

<negative-integer> ::= -<digit><digit>*<negative-integer> :: =-<digit> <digit> *

<float> ::= <integer>.<digit>+ <float> :: = <integer>. <digit> +

<number> ::= <integer><number> :: = <integer>

| < float>| <float>

<string> ::= "<char>+"<string> :: = "<char> + "

또한 본 발명에서 이용되는 변수의 표현은 다음과 같다. In addition, the expression of the variable used in the present invention is as follows.

<variable> ::= ?<symbol><variable> :: =? <symbol>

위의 표현으로부터 알 수 있는 바와 같이, 변수는 물음표(?)로 시작한다. 또한 지역 변수를 선언하기 위해서, 본 발명에서는 다음과 같은 ‘defvariable’ 이라는 함수(function)를 이용한다. As you can see from the expression above, the variable starts with a question mark (?). In addition, in order to declare a local variable, the present invention uses a function called 'defvariable' as follows.

(defvariable ?a)(defvariable? a)

그리고 선언된 변수에 값을 배정하기 위해서, 본 발명에서는 다음과 같은 ‘bind’ 라는 함수를 이용한다. In order to assign a value to the declared variable, the present invention uses the function 'bind' as follows.

(bind ?a "abc")(bind? a "abc")

한편 본 발명에서, 변수에 배정되는 값들은 다음과 같이 표현된다. Meanwhile, in the present invention, the values assigned to the variables are expressed as follows.

<value> ::= <integer><value> :: = <integer>

| <float> | <float>

| <number>  | <number>

| <string> | <string>

| <symbol> | <symbol>

다음으로, 본 발명에서 이용되는 팩트의 표현은 다음과 같다. Next, the expression of the fact used in the present invention is as follows.

<fact> ::= <ordered-fact><fact> :: = <ordered-fact>

| <unordered-fact>| <unordered-fact>

<ordered-fact> ::= (<fact-name> <term>*) <ordered-fact> :: = (<fact-name> <term> *)

<fact-name> ::= <symbol> <fact-name> :: = <symbol>

<term> ::= <value><term> :: = <value>

| <variable> | <variable>

| :<function-call> | : <function-call>

| =<function-call> | = <function-call>

<unordered-fact> ::= (<fact-name> <valued-slot>*) <unordered-fact> :: = (<fact-name> <valued-slot> *)

<valued-slot> ::= (<slot-name> <term>) <valued-slot> :: = (<slot-name> <term>)

(deftemplate <slot-definition>*)(deftemplate <slot-definition> *)

<template-name> ::= <symbol> <template-name> :: = <symbol>

<slot-definition> ::= (slot <slot-name> <slot-value>*) <slot-definition> :: = (slot <slot-name> <slot-value> *)

<slot-name> ::= <symbol> <slot-name> :: = <symbol>

<slot-value > ::= <value> <slot-value> :: = <value>

| <default-value> | <default-value>

| <type-value> | <type-value>

||

<default-value> ::= (default <null>) <default-value> :: = (default <null>)

| (default <value>) | (default <value>)

<type-value> ::= (type <type-specification>) <type-value> :: = (type <type-specification>)

<type-specification> ::= <allowed-type>+ <type-specification> :: = <allowed-type> +

| <variable> | <variable>

<allowed-type> ::= SYMBOL|STRING|INTEGER|FLOAT<allowed-type> :: = SYMBOL | STRING | INTEGER | FLOAT

|NUMBER|<fact-name> | NUMBER | <fact-name>

<allowed-constraint-attribute> :: = (allowed-symbols <symbol-list>) <allowed-constraint-attribute> :: = (allowed-symbols <symbol-list>)

|(allowed-strings <string-list>) (allowed-strings <string-list>)

| (allowed-integers <integer-list>) | (allowed-integers <integer-list>)

|floats <float-list>) floats <float-list>)

| (allowed-numbers <number-list>) | (allowed-numbers <number-list>)

| (allowed-values <value-list>) | (allowed-values <value-list>)

<symbol-list> ::= <symbol> + <symbol-list> :: = <symbol> +

<string-list> ::= <string> + <string-list> :: = <string> +

<integer-list> :: = <integer> + <integer-list> :: = <integer> +

<float-list> ::= <float> + <float-list> :: = <float> +

<number-list> ::= <number> + <number-list> :: = <number> +

<value-list> ::= <value> + <value-list> :: = <value> +

다음으로, 본 발명에서 이용되는 규칙의 표현은 다음과 같다. Next, the expression of the rule used in the present invention is as follows.

<defrule> ::= (defrule <rule-name>[<rule-priority>|0]<defrule> :: = (defrule <rule-name> [<rule-priority> | 0]

<conditional-element>* <conditional-element> *

=> =>

<action>*) <action> *)

<rule-priority> ::= (priority <integer>) <rule-priority> :: = (priority <integer>)

<conditional-element> ::= <template-pattern> <conditional-element> :: = <template-pattern>

| <not-pattern> | <and-pattern> | | <not-pattern> | <and-pattern> |

<template-pattern> ::= (<deftemplate-name> <single-LHS-slot>*) <template-pattern> :: = (<deftemplate-name> <single-LHS-slot> *)

<single-LHS-slot> ::= (<slot-name> <constraint>) <single-LHS-slot> :: = (<slot-name> <constraint>)

<constraint> ::= <connected-constraint> <constraint> :: = <connected-constraint>

<connected-constraint> ::= <single-constraint> | <connected-constraint> :: = <single-constraint> |

<single-constraint>&<connected-constraint> | <single-constraint> & <connected-constraint> |

<single-constraint> | <connected-constraint> <single-constraint> | <connected-constraint>

<single-constraint> ::= <term> | ~<term> <single-constraint> :: = <term> | ~ <term>

<term> ::= <value> | <variable> | :<function-call> | <term> :: = <value> | <variable> | : <function-call> |

<function-call> ::= (<function-name><argument>*)<function-call> :: = (<function-name> <argument> *)

<argument> :: = <term> | ~<term> <argument> :: = <term> | ~ <term>

<not-pattern> ::= (not (<conditional-element>))<not-pattern> :: = (not (<conditional-element>))

<and-pattern> ::= (and (<conditional-element>) (<conditional-element>)) <and-pattern> :: = (and (<conditional-element>) (<conditional-element>))

<or-pattern> ::= (or (<conditional-element>) (<conditional-element>))<or-pattern> :: = (or (<conditional-element>) (<conditional-element>))

다음으로, 본 발명에서 이용되는 시간의 표현은 다음과 같다. Next, the expression of time used in the present invention is as follows.

<month-digit> ::= 0 | 1 <month-digit> :: = 0 | One

<day-digit> ::= 0 | 1 | 2 | 3<day-digit> :: = 0 | 1 | 2 | 3

<hour-digit> ::= 0 | 1 | 2<hour-digit> :: = 0 | 1 | 2

<minute-digit> ::= 0 | 1 | … | 6<minute-digit> :: = 0 | 1 | ... | 6

<time-point> ::= (At (<fact-id> (<start-time> <end-time>)))<time-point> :: = (At (<fact-id> (<start-time> <end-time>)))

<fact-id> ::= <integer><fact-id> :: = <integer>

<start-time> ::= <time><start-time> :: = <time>

<end-time> ::= <time><end-time> :: = <time>

<time> ::= <year><month><day><hour><minute><time> :: = <year> <month> <day> <hour> <minute>

<year> ::= <digit><digit><digit><digit><year> :: = <digit> <digit> <digit> <digit>

<month> ::= <month-digit><digit><month> :: = <month-digit> <digit>

<day> ::= <day-digit><digit><day> :: = <day-digit> <digit>

<hour> ::= <hour-digit><digit><hour> :: = <hour-digit> <digit>

<minute> ::= <minute-digit><digit><minute> :: = <minute-digit> <digit>

<time-relation> ::= (<relation-expression> (<fact-id> <fact-id>))<time-relation> :: = (<relation-expression> (<fact-id> <fact-id>))

<relation-expression> ::= Before | Meets | Starts | Finishes | Overlap | During | Equal | InverseBefore | InverseMeets | InverseStarts | InverseFinishes | InverseOverlap | InverseDuring<relation-expression> :: = Before | Meets | Starts | Finishes | Overlap | During | Equal | InverseBefore | InverseMeets | InverseStarts | InverseFinishes | InverseOverlap | InverseDuring

시간 추론을 위해 필요한 시간 표현은 크게 시점(time point)과 시간 관계(time relation)의 두 가지로 분류된다. 시점은 어떤 사건이 정확히 언제 일어났는지에 관한 정보를 포함한다. 한편 앞에서 설명한 바와 같이, 시간 관계는 서로 다른 사건들의 13 가지 시간 관계에 대해서 표현한다. The time expressions required for time inference are classified into two types: time point and time relation. The point of view includes information about exactly when and when an event occurred. On the other hand, as described above, the time relationship expresses about 13 time relationships of different events.

시간 관계에 대한 추론뿐만 아니라 시점에 대한 추론 역시 시간 관계 표현을 필요로 한다. Meets, Starts, Finishes, Equal, InverseBefore, InverseMeets, InverseStarts, InverseFinishes 의 7 가지 시간 관계들로부터, 서로 다른 두 사건의 시작 시간과 끝나는 시간 중 하나 또는 두 가지 모두가 동일한 시각에 이루어 졌다는 것이 유추될 수 있다. 이를 통해 아직 정확한 시점에 대한 선언이 이루어지지 않은 팩트에 대한 정보가 추론될 수 있다. Inference about time as well as inference about time need to express time relationship. From the seven time relationships of Meets, Starts, Finishes, Equal, InverseBefore, InverseMeets, InverseStarts, and InverseFinishes, it can be inferred that one or both of the start and end times of the two different events were at the same time. . This allows us to deduce information about facts that have not yet been declared for the exact time.

Allen 의 제안에서는 시점에 대한 고려가 없었다. 이와 유사하게 하기 위해서, 시점에 대한 표현을 시간 관계와 분리시키거나 시점 추론에 이용되는 시간 관계에서 Inverse 관계에 대한 표현을 제공하지 않는 경우 시점에 대한 추론은 어려울 것이다. Allen's proposal did not consider the timing. Similarly, inference to viewpoint would be difficult if the representation of the viewpoint was separated from the temporal relation or if the representation of the inverse relation was not provided in the temporal relation used for viewpoint inference.

7 가지 시간관계로 충분히 시간추론이 가능하다는 Allen 의 제안과 달리, 본 발명에서는, 시점에 대한 추론을 제공하기 위해서 Inverse 관계를 포함한 13 가지의 모든 시간 관계에 대한 선언을 한다. Contrary to Allen's suggestion that seven time relationships are sufficient to infer time, the present invention declares all thirteen time relationships, including the Inverse relationship, to provide inference about the viewpoint.

다시 도 4를 참조하면, 시간 네트워크(433)는 파서(420)로부터 입력되는 팩트들 중 시간 팩트들(구체적으로, 시간 인덱스에 기초하는 시점과 13 가지의 시간 관계)에 기초하여 모든 팩트들의 시간 관계를 추론한다. 규칙-기반 추론 시스템인 레테 네트워크(431)는 팩트들이 규칙을 만족하는지 여부를 추론한다. 이 때 레테 네트워크(431)는 작업 메모리(440)에 저장된 팩트들, 규칙 베이스(450)에 저장된 규칙들, 파서(420)로부터 입력되는 변수들 및 함수들, 그리고 시간 네트워크(433)에서 추론된 시간 관계를 모두 고려하여 추론을 수행한다. Referring back to FIG. 4, the time network 433 is the time of all facts based on time facts (specifically, 13 time relationships based on time index based on time index) among the facts input from the parser 420. Infer the relationship. Let's network 431, a rule-based reasoning system, infers whether facts satisfy a rule. At this time, the network 431 is inferred from the facts stored in the working memory 440, the rules stored in the rule base 450, the variables and functions input from the parser 420, and the time network 433. Inference is performed considering all time relationships.

추론을 수행하여 규칙을 만족하는 경우가 발생하면, 추론 엔진(430)(구체적으로는 추론 엔진(430)에 포함된 레테 네트워크(431) 만족된 규칙들로부터 나오는 결과를 아젠다(460)로 전송한다. 만족된 규칙으로부터의 결과가 복수개 존재할 수 있으므로, 본 발명의 실시예에서 레테 네트워크(431) 만족된 규칙들로부터 의 결과들을 충돌 세트(conflict set)로 출력하는 것이 바람직하다. When the inference is performed to satisfy the rule, the result from the inference engine 430 (specifically, the network 431 included in the inference engine 430) is transmitted to the agenda 460. Since there may be a plurality of results from the satisfied rule, in the embodiment of the present invention, it is preferable to output the results from the Let network 431 satisfied rules to a conflict set.

아젠다(460)는 충돌 세트를 수신하여, 규칙의 상세한 정도 또는 순서에 기초하여 수신된 충돌 세트에 대한 우선순위를 결정한다. 우선순위가 결정되면, 아젠다(460)는 결정된 우선순위에 따라 결과들을 실행 엔진(470)으로 전달한다. 실행 엔진(470)은 우선순위에 따라 수신되는 결과들을 실행한다. Agenda 460 receives the conflict set and determines priorities for the received conflict set based on the degree or order of detail of the rule. Once the priority is determined, the agenda 460 delivers the results to the execution engine 470 according to the determined priority. Execution engine 470 executes the received results according to priority.

이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. As described above, an optimal embodiment has been disclosed in the drawings and specification. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

상술한 바와 같이 본 발명에 따른 추론 시스템은 시간 인덱스와 네트워크를 통해 시간 추론을 제공하는 동시에 레테 네트워크를 이용하여 추론을 빠르게 할 수 있으므로 유비쿼터스 환경에 적합한 추론을 수행할 수 있으며, 다양한 애플리케이 션에 사용됨으로써 전체 시스템의 성능을 향상시킬 수 있는 장점이 있다. As described above, the inference system according to the present invention can provide time inference through a time index and a network, and at the same time can quickly infer using a network to perform reasoning suitable for a ubiquitous environment, and can be used for various applications. This has the advantage of improving the performance of the overall system.

Claims (14)

추론에 필요한 정보들을 입력하기 위한 사용자 인터페이스; A user interface for inputting information necessary for inference; 상기 입력된 정보들을 분석하여 출력하는 파서; A parser for analyzing and inputting the input information; 상기 정보들 중 팩트(fact)들을 저장하는 작업 메모리; A working memory for storing facts of the information; 상기 정보들 중 규칙들을 저장하는 규칙 베이스; A rule base for storing rules of the information; 상기 정보들 중 상기 팩트들과 상기 규칙들을 상기 작업 메모리와 상기 규칙 베이스로 각각 전송하고, 상기 정보들과 상기 작업 메모리에 저장된 팩트들, 및 상기 규칙 베이스에 저장된 규칙들을 이용하여 상기 규칙들이 만족 되는지 추론하는 추론 엔진을 포함하며, Transmitting the facts and the rules of the information to the working memory and the rule base, respectively, and whether the rules are satisfied using the information and facts stored in the working memory and the rules stored in the rule base. Includes an inference engine 상기 규칙들이 만족되는 경우, 상기 추론 엔진은 상기 만족되는 규칙들로부터 발생하는 결과들을 충돌 세트로서 출력하며, If the rules are satisfied, the inference engine outputs the results arising from the satisfied rules as a conflict set, 상기 충돌 세트를 수신하여, 상기 규칙들의 상세한 정도 또는 순서에 기초하여 수신된 충돌 세트에 대한 우선순위를 결정하고, 결정된 우선순위에 따라 상기 결과들을 출력하는 아젠다를 포함하며, An agenda for receiving the conflict set, determining a priority for the received conflict set based on the degree or order of detail of the rules, and outputting the results according to the determined priority, 상기 팩트들은 시간 팩트들을 포함하고, 상기 추론 엔진은 상기 시간 팩트들을 더 이용하여 상기 규칙들이 만족되는지 추론하는 것을 특징으로 하는 추론 시스템. The facts include time facts, and the inference engine further uses the time facts to infer that the rules are satisfied. 제 1 항에 있어서, 상기 정보들은, The method of claim 1, wherein the information is, 변수들 및 함수들을 더 포함하는 것을 특징으로 하는 추론 시스템. An inference system further comprising variables and functions. 제 1 항에 있어서, 상기 추론 엔진은, The inference engine of claim 1, 상기 시간 팩트들을 이용하여 상기 팩트들의 시간 관계를 추론하는 시간 네트워크; 및 A time network that infers the time relationship of the facts using the time facts; And 상기 작업 메모리에 저장된 팩트들, 상기 규칙 베이스에 저장된 규칙들, 상기 입력된 정보들, 및 상기 추론된 시간 관계를 이용하여 상기 규칙들이 만족되는지 추론하는 레테 네트워크를 포함하는 것을 특징으로 하는 추론 시스템. An inference network that infers whether the rules are satisfied using the facts stored in the working memory, the rules stored in the rule base, the input information, and the inferred time relationship. 제 3 항에 있어서, 상기 시간 팩트들은, The method of claim 3, wherein the time facts are: 시점 및 시간 관계를 포함하는 것을 특징으로 하는 추론 시스템. An inference system comprising a time point and a time relationship. 삭제delete 삭제delete 제 1 항에 있어서, The method of claim 1, 상기 우선순위에 따라 출력되는 결과들을 수신하여 수신된 결과들을 실행하는 실행 엔진을 더 포함하는 것을 특징으로 하는 추론 시스템. And an execution engine for receiving the output results according to the priority and executing the received results. 사용자로부터 추론에 필요한 정보들을 사용자 인터페이스를 통해 입력받는 단계; Receiving information necessary for inference from a user through a user interface; 상기 정보들 중 팩트(fact)들 및 규칙들을 각각 작업 메모리 및 규칙 베이스에 저장하는 단계; Storing facts and rules of the information in a working memory and a rule base, respectively; 상기 정보들과 상기 저장된 팩트들 및 규칙들을 이용하여 상기 규칙들이 만족되는지 추론하는 단계;Infer that the rules are satisfied using the information and the stored facts and rules; 상기 규칙들이 만족되는 경우, 상기 추론하는 단계가 상기 만족되는 규칙들로부터 발생하는 결과들을 충돌 세트로서 출력하며, If the rules are satisfied, the inferring outputs the results arising from the satisfied rules as a conflict set, 상기 충돌 세트를 수신하여, 상기 규칙들의 상세한 정도 또는 순서에 기초하여 수신된 충돌 세트에 대한 우선순위를 결정하는 단계; 및 Receiving the conflict set to determine a priority for the received conflict set based on a degree or order of detail of the rules; And 결정된 우선순위에 따라 상기 결과들을 출력하는 단계를 포함하며,Outputting the results according to the determined priority, 상기 추론하는 단계는 상기 팩트들에 포함된 시간 팩트들을 더 이용하여 상기 규칙들이 만족되는지 추론하는 것을 특징으로 하는 추론 방법. And the inferring step further infers whether the rules are satisfied by further using the time facts included in the facts. 제 8 항에 있어서, 상기 정보들은, The method of claim 8, wherein the information, 변수들 및 함수들을 더 포함하는 것을 특징으로 하는 추론 방법. The method of inference further comprising variables and functions. 제 8 항에 있어서, 추론하는 단계는, The method of claim 8, wherein the inferring step comprises: 상기 시간 팩트들을 이용하여 상기 팩트들의 시간 관계를 추론하는 단계; 및 Infer the time relationship of the facts using the time facts; And 상기 작업 메모리에 저장된 팩트들, 상기 규칙 베이스에 저장된 규칙들, 상기 입력된 정보들, 및 상기 추론된 시간 관계를 이용하여 상기 규칙들이 만족되는지 추론하는 단계를 포함하는 것을 특징으로 하는 추론 방법. Inferring whether the rules are satisfied using the facts stored in the working memory, the rules stored in the rule base, the inputted information, and the inferred time relationship. 제 10 항에 있어서, 상기 시간 팩트들은, The method of claim 10, wherein the time facts are: 시점 및 시간 관계를 포함하는 것을 특징으로 하는 추론 방법. An inference method comprising a time point and a time relationship. 삭제delete 삭제delete 제 8 항에 있어서, 9. The method of claim 8, 상기 우선순위에 따라 출력되는 결과들을 수신하여 수신된 결과들을 실행하는 단계를 더 포함하는 것을 특징으로 하는 추론 방법. And receiving the output results according to the priority and executing the received results.
KR1020070006278A 2007-01-19 2007-01-19 Rule-based Inference Engine with Temporal Reasoning KR101354978B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070006278A KR101354978B1 (en) 2007-01-19 2007-01-19 Rule-based Inference Engine with Temporal Reasoning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070006278A KR101354978B1 (en) 2007-01-19 2007-01-19 Rule-based Inference Engine with Temporal Reasoning

Publications (2)

Publication Number Publication Date
KR20080068453A KR20080068453A (en) 2008-07-23
KR101354978B1 true KR101354978B1 (en) 2014-02-06

Family

ID=39822273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070006278A KR101354978B1 (en) 2007-01-19 2007-01-19 Rule-based Inference Engine with Temporal Reasoning

Country Status (1)

Country Link
KR (1) KR101354978B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063326A (en) * 2004-12-07 2006-06-12 한국전자통신연구원 Intellectual management apparatus and method of digital home network system
KR20070009134A (en) * 2005-07-15 2007-01-18 주식회사 케이티 System and method for management of context data in ubiquitous computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063326A (en) * 2004-12-07 2006-06-12 한국전자통신연구원 Intellectual management apparatus and method of digital home network system
KR20070009134A (en) * 2005-07-15 2007-01-18 주식회사 케이티 System and method for management of context data in ubiquitous computing environment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문1:한국정보과학회 2006 가을 학술발표논문집 제33권 제2호(B), 2006.10 *
논문2:정보과학회논문지 : 컴퓨팅의 실제 제 8 권 제 6 호(2002.12) *

Also Published As

Publication number Publication date
KR20080068453A (en) 2008-07-23

Similar Documents

Publication Publication Date Title
Horrocks et al. A tableau decision procedure for
US6389405B1 (en) Processing system for identifying relationships between concepts
Alejandro Gomez et al. Reasoning with inconsistent ontologies through argumentation
Horrocks et al. Reasoning support for expressive ontology languages using a theorem prover
Rakib et al. A logic for context-aware non-monotonic reasoning agents
Michael Cognitive Reasoning and Learning Mechanisms.
Armentano et al. Plan recognition for interface agents: state of the art
Potyka A polynomial-time fragment of epistemic probabilistic argumentation
Meytus Problems of constructing intelligent systems. Knowledge representation
Chatzikonstantinou et al. Efficient parallel reasoning on fuzzy goal models for run time requirements verification
KR101354978B1 (en) Rule-based Inference Engine with Temporal Reasoning
Rubin et al. Naval intelligent authentication and support through randomization and transformative search
Funk Concept-by-example in EL knowledge bases
Gámez et al. One iteration CHC algorithm for learning Bayesian networks: an effective and efficient algorithm for high dimensional problems
Hammoudeh et al. A reflection on learning from data: epistemology issues and limitations
Dapoigny et al. Modeling contexts with dependent types
Kacem et al. Ramoli: A generic knowledge-based systems shell for symbolic data
Kern-Isberner et al. Knowledge Discovery by Reversing Inductive Knowledge Representation.
Kakas et al. Argumentation: Reconciling Human and Automated Reasoning.
Rezk et al. Formalizing production systems with rule-based ontologies
da Costa et al. Monadic Reasoning using Weak Completion Semantics.
Locher et al. Design patterns for modeling first-order expressive Bayesian networks
Demin et al. Machine learning with probabilistic law discovery: a concise introduction
Yan et al. A multi-agent system for nested inquiry dialogues
Klarman et al. Towards unsupervised ontology learning from data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 6