맨위로가기

추론 엔진

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

추론 엔진은 IF-THEN 규칙 형태의 로직을 사용하여 정보를 처리하는 인공지능 시스템의 핵심 구성 요소이다. 순방향 또는 역방향 연쇄 방식으로 규칙을 적용하며, 규칙 일치, 선택, 실행 단계를 거쳐 지식 기반을 구축한다. 프로덕션 시스템 아키텍처에서 워킹 메모리, 추론 규칙, 추론 엔진으로 구성되며, 인터프리터, 스케줄러, 일관성 유지부 등의 구성 요소를 갖는다. 정방향 추론과 역방향 추론의 두 가지 추론 방법을 사용하며, 데이터 구동 방식의 제어를 통해 유연성을 확보한다.

더 읽어볼만한 페이지

  • 추론 - 추론 규칙
    추론 규칙은 전제가 참일 때 결론이 필연적으로 참임을 보이는 논리적 도출 과정을 형식적으로 표현한 규칙으로, 다양한 유형이 존재하며 명제 논리와 술어 논리에서 기본적인 추론을 수행하는 데 사용되고, 형식 체계의 핵심 요소이다.
  • 추론 - 함축
    함축은 언어학에서 화자가 명시적으로 언급하지 않았지만 청자가 발화로부터 도출하는 문맥상의 함축된 결론을 의미하며, 협력 원칙과 대화 격률에 기반한 대화 함축과 관습적 함축 등으로 나뉜다.
  • 전문가 시스템 - 지식 베이스
    지식 베이스는 특정 주제 정보를 체계적으로 저장 및 관리하며 규칙 기반 추론으로 새로운 지식 도출에 활용되고, 웹 콘텐츠 관리 및 지식 관리 시스템으로 확장되어 온톨로지를 이용, 인공지능 기술과 결합하여 문제 해결책을 제시하고 경험을 통해 학습하는 시스템이다.
  • 전문가 시스템 - BRMS
    BRMS는 비즈니스 규칙을 소프트웨어 시스템에 적용하는 방식으로, 기업 의사 결정 관리의 중요한 부분이며 모델 중심 엔지니어링과 관련이 깊고, BMM, SBVR, PRR, DMN 등의 표준과 RuleML 같은 규칙 마크업 언어가 활용될 수 있다.
  • 결정 이론 - 정책
    정책은 특정 목표 달성을 위해 조직이 마련한 의사 결정 지침이며, 대상, 기능, 효과, 도입 방식 등에 따라 분류되고, 다양한 분야에 존재하며, 정책 순환 모형을 통해 개발 과정을 분석한다.
  • 결정 이론 - 확률
    확률은 사건의 가능성을 수치화한 개념으로, 도박에서 시작되어 수학적으로 발전했으며, 다양한 해석과 요소, 응용 분야를 가지며 양자역학, 사회 현상 등에도 적용된다.
추론 엔진
개요
종류소프트웨어
분야인공지능
역할지식 기반을 사용하여 추론 수행
활용전문가 시스템
규칙 기반 시스템
온톨로지 기반 시스템
상세 정보
설명지식 공학의 핵심 요소
주어진 규칙과 사실을 바탕으로 새로운 결론 도출
작동 방식연역 추론, 귀납 추론, 유추 등 다양한 추론 방법 사용
검색 알고리즘과 패턴 매칭 기술 활용
구성 요소지식 표현
추론 규칙
작업 기억
활용 예시의료 진단 시스템
금융 분석 시스템
자동 계획 시스템
추가 정보
관련 기술지식 표현 언어 (예: OWL, RDF)
추론 규칙 언어 (예: SWRL, SPARQL)
고려 사항지식의 완전성과 정확성
추론 과정의 효율성
사용자와의 상호 작용

2. 아키텍처

추론 엔진은 일반적으로 IF-THEN 규칙을 사용하여 작동하며, 이는 "만약(IF) <논리 표현식> 이면(THEN) <논리 표현식>" 형태를 가진다. 초기 인공지능 연구자들은 정리 증명기 환경에 집중했지만, 이는 무한 루프와 같은 문제를 야기할 수 있었다. IF-THEN 규칙(논리학에서 ''전건 긍정''이라고 함)은 계산 자원을 효율적으로 사용하면서도 강력한 논리 표현을 가능하게 했다. 또한, 심리학 연구에 따르면 인간도 복잡한 지식을 IF-THEN 형태로 저장하는 것을 선호한다.[2]

''전건 긍정''의 예로 "만약 당신이 인간이라면 당신은 죽는다"라는 규칙을 들 수 있다. 의사 코드로는 `Human(x) => Mortal(x)`로 표현할 수 있다.


  • 순방향 연쇄: 추론 엔진은 지식 기반에서 `Human(x)`와 일치하는 사실을 찾아 `Mortal(x)`를 추가한다. 예를 들어, 소크라테스가 인간이면 소크라테스는 죽는다는 것을 추론한다.
  • 역방향 연쇄: 시스템은 목표를 받고, 지식 기반을 검색하여 목표 달성 여부를 확인한다. 예를 들어, 소크라테스가 죽는지 확인하기 위해 그가 인간인지 확인한다. 역방향 연쇄는 사용자 인터페이스와 통합되어 상호작용할 수 있다. 예를 들어, 소크라테스가 인간인지 묻는 창을 생성할 수 있다.


추론 엔진과 사용자 인터페이스의 통합은 설명 기능의 발전으로 이어졌다. 규칙 기반 지식 표현은 실시간 및 사후 설명을 가능하게 했다. 시스템은 사용자에게 질문하는 이유를 규칙 연쇄를 통해 설명할 수 있다. 처음에는 개발자의 디버깅 정보와 유사했지만, 자연어 처리 기술을 활용하여 자연어로 질문과 설명을 생성하는 연구가 진행되었다.[3]

추론 엔진을 독립적인 소프트웨어 컴포넌트로 분리한 것은 프로덕션 시스템의 아키텍처가 최초이다. 이 아키텍처는 문제에 관한 사실이나 명제를 나타내는 기호열의 데이터베이스인 워킹 메모리와, 추론 규칙군, 그리고 추론 엔진을 별도로 독립시킨다. 추론 엔진은 데이터베이스의 내용에 대해 어떤 추론 규칙을 적용해야 할지를 선택하며, 이를 "충돌 해결(conflict resolution)"이라고 부른다.[4]

2. 1. 구성 요소

추론 엔진은 주로 다음 세 가지 주요 구성 요소로 이루어진다.

# 인터프리터: 인터프리터는 주어진 과제를 실행하기 위해 대응하는 기본 규칙을 적용한다.[4]

# 스케줄러: 스케줄러는 추론 규칙 적용의 효과를 추정하고, 아이템 우선순위나 과제 관련 기준을 고려하여 과제에 대한 제어를 수행한다.[4]

# 일관성 유지부: 일관성 유지부는 얻어진 해결책에 대해 일관된 표현을 유지하려고 노력한다.[4]

추론 엔진은 프로덕션 시스템의 아키텍처를 따르며, 이는 데이터 저장부 (워킹 메모리)와 추론 규칙군, 그리고 추론 엔진을 독립적으로 분리한다. 추론 엔진은 데이터 저장부의 내용에 따라 적용할 규칙을 선택하며, 이 규칙 선택 제어 전략을 "충돌 해결(conflict resolution)"이라고 부른다.[4]

추론 엔진은 ''규칙 일치'', ''규칙 선택'', ''규칙 실행''의 세 단계를 순차적으로 거친다. 규칙 실행은 종종 지식 기반에 새로운 사실이나 목표를 추가하여 사이클을 반복하게 한다. 이 사이클은 새로운 규칙이 일치하지 않을 때까지 계속된다.[4]

  • 규칙 일치: 추론 엔진은 지식 기반의 현재 내용에 의해 트리거되는 모든 규칙을 찾는다. 순방향 연쇄에서는 선행 조건(왼쪽)이 지식 기반의 사실과 일치하는 규칙을, 역방향 연쇄에서는 현재 목표 중 하나를 충족하는 선행 조건을 찾는다.[4]
  • 규칙 선택: 추론 엔진은 실행 순서를 결정하기 위해 일치하는 규칙들의 우선순위를 정한다.[4]
  • 규칙 실행: 엔진은 결정된 순서대로 각 규칙을 실행하고, 다시 첫 단계로 돌아간다. 이 사이클은 새로운 규칙이 일치하지 않을 때까지 반복된다.[4]


추론 엔진에서 사용되는 로직은 보통 IF-THEN 규칙으로 표현된다. 예를 들어, "만약 당신이 인간이라면 당신은 죽는다"라는 규칙은 `Human(x) => Mortal(x)`와 같이 표현될 수 있다. 순방향 연쇄에서는 Human(x)와 일치하는 사실을 찾아 Mortal(x)를 지식 기반에 추가한다. 역방향 연쇄에서는 목표 (예: 소크라테스가 죽는지)를 받고, 지식 기반을 검색하여 조건(소크라테스가 인간인지)을 확인하고 결론을 도출한다. 또한, 사용자 인터페이스와 통합하여 사용자에게 질문을 하고 설명을 생성하는 기능도 제공한다.[2]

2. 2. 작동 방식

추론 엔진은 일반적으로 IF-THEN 규칙을 사용하여 작동한다. 이 규칙은 "만약(IF) <논리 표현식> 이면(THEN) <논리 표현식>" 형태를 가진다. 초기 인공지능 연구자들은 정리 증명기 환경에 집중했지만, 이는 무한 루프와 같은 문제를 야기할 수 있었다. IF-THEN 규칙(논리학에서 ''전건 긍정''이라고 함)은 계산 자원을 효율적으로 사용하면서도 강력한 논리 표현을 가능하게 했다. 또한, 심리학 연구에 따르면 인간도 복잡한 지식을 IF-THEN 형태로 저장하는 것을 선호한다.[2]

''전건 긍정''의 예로 "만약 당신이 인간이라면 당신은 죽는다"라는 규칙을 들 수 있다. 의사 코드로는 Human(x) => Mortal(x)로 표현할 수 있다.

  • 순방향 연쇄: 추론 엔진은 지식 기반에서 Human(x)와 일치하는 사실을 찾아 Mortal(x)를 추가한다. 예를 들어, 소크라테스가 인간이면 소크라테스는 죽는다는 것을 추론한다.
  • 역방향 연쇄: 시스템은 목표를 받고, 지식 기반을 검색하여 목표 달성 여부를 확인한다. 예를 들어, 소크라테스가 죽는지 확인하기 위해 그가 인간인지 확인한다. 역방향 연쇄는 사용자 인터페이스와 통합되어 상호작용할 수 있다. 예를 들어, 소크라테스가 인간인지 묻는 창을 생성할 수 있다.


추론 엔진과 사용자 인터페이스의 통합은 설명 기능의 발전으로 이어졌다. 규칙 기반 지식 표현은 실시간 및 사후 설명을 가능하게 했다. 시스템은 사용자에게 질문하는 이유를 규칙 연쇄를 통해 설명할 수 있다. 초기에는 개발자의 디버깅 정보와 유사했지만, 자연어 처리 기술을 활용하여 자연어로 질문과 설명을 생성하는 연구가 진행되었다.[3]

추론 엔진은 ''규칙 일치'', ''규칙 선택'', ''규칙 실행''의 세 단계를 거친다. 규칙 실행은 지식 기반에 새로운 사실이나 목표를 추가하여 사이클을 반복시킨다. 이 사이클은 새로운 규칙이 일치하지 않을 때까지 계속된다.

1. 규칙 일치: 지식 기반의 현재 내용에 의해 트리거되는 모든 규칙을 찾는다. 순방향 연쇄에서는 선행 조건(왼쪽)이 지식 기반의 사실과 일치하는 규칙을, 역방향 연쇄에서는 현재 목표를 충족하는 선행 조건을 찾는다.

2. 규칙 선택: 실행 순서를 결정하기 위해 일치하는 규칙들의 우선순위를 정한다.

3. 규칙 실행: 결정된 순서대로 각 규칙을 실행하고, 다시 첫 번째 단계로 돌아간다. 이 사이클은 새로운 규칙이 일치하지 않을 때까지 반복된다.[4]

추론 엔진을 독립적인 소프트웨어 컴포넌트로 분리한 것은 프로덕션 시스템의 아키텍처가 최초이다. 이 아키텍처에서는 문제에 관한 사실이나 명제를 나타내는 기호열의 데이터베이스인 워킹 메모리를 독립시키고, 추론 규칙군과 추론 엔진을 별도로 설치한다. 추론 엔진은 데이터 저장부의 내용에 대해 어떤 규칙을 적용할지 선택하며, 이를 "충돌 해결(conflict resolution)"이라고 한다.

추론 엔진은 주로 다음 세 부분으로 구성된다.

구성 요소설명
인터프리터대응하는 기본 규칙을 적용하여 지정된 과제를 실행한다.
스케줄러추론 규칙 적용 효과를 추정하여 과제에 대한 제어를 수행한다. (아이템 우선도 또는 과제 관련 기준 고려)
일관성 유지부얻어진 해결책에 대해 일관된 표현을 유지한다.



추론 엔진은 세 가지 동작 단계(규칙 매칭, 규칙 선택, 규칙 실행)를 가진 유한 상태 기계로 표현할 수 있다.

규칙 매칭 단계에서 추론 엔진은 데이터 저장부의 내용을 만족하는 모든 규칙을 찾는다. "조건-행동" 형식의 규칙에서 조건부와 워킹 메모리 내용의 매칭을 의미한다. 매칭된 규칙은 모두 실행 후보("충돌 집합(conflict set)")가 된다. 규칙과 데이터 부분 집합의 조합은 규칙의 인스턴스라고 한다.

충돌 집합을 구하는 처리는 복잡할 수 있다. 초기 연구에서는 찰스 포기가 개발한 Rete 알고리즘(OPS5 등에 사용)과 같은 알고리즘이 개발되었다. Daniel P. Miranker는 관계형 데이터베이스 최적화 기법을 도입한 TREAT 알고리즘을 개발했다.

충돌 집합이 얻어지면, 규칙 선택 단계에서 선택 전략을 적용하여 실행할 규칙을 결정한다. 이 전략은 엔진 내에 코드로 있거나 외부에서 지정될 수 있다. 인공지능에서는 앨런 뉴웰의 ''Unified theory of cognition''에 따라 휴리스틱이라고 부른다.

OPS5에서는 LEX(데이터 시각 태그 순서, 조건부 복잡성 고려) 또는 MEA(첫 번째 조건에 매칭되는 워킹 메모리 요소의 새로움 중시, 수단-목표 분석에 유용) 전략을 선택할 수 있다.

선택된 인스턴스는 규칙 실행 단계에서 실행된다. 추론 엔진은 선택된 규칙을 인스턴스 내 데이터를 인수로 실행한다. 규칙의 우변에 있는 액션은 데이터 저장부를 변화시키거나 외부 처리를 변화시킬 수 있다. 데이터 저장부는 규칙 실행에 의해 갱신되어 다음 사이클에서 매칭되는 규칙 집합이 변화한다.

이상의 단계를 거쳐 추론 엔진은 다음 "인지-행동 사이클"을 시작한다. 정지 조건은 지정 횟수 실행, 사용자 정지 요구, 매칭 규칙 없음 등이다.

3. 추론 방법

추론 엔진은 정방향 추론과 역방향 추론 두 가지 주요 전략을 사용한다. 추론은 언제나 정돈되어 있다.[2]

추론 엔진이 사용하는 논리는 일반적으로 IF-THEN 규칙으로 표현된다. 이 규칙의 일반적인 형식은 "IF <논리 표현식> THEN <논리 표현식>"이다. 전문가 시스템과 추론 엔진이 개발되기 전, 인공 지능 연구자들은 일차 논리의 더 완전한 구현을 제공하는 더 강력한 정리 증명기 환경에 집중했다. 예를 들어, 전칭 양화(모든 X에 대해 어떤 명제가 참이다) 및 존재 양화(어떤 X가 존재하여 어떤 명제가 참이다)를 포함하는 일반적인 명제가 있었다. 그러나 이러한 정리 증명 환경의 강력함은 곧 단점으로 드러났다. 1965년 당시에는 무한정 또는 무한한 시간이 걸릴 수 있는 논리 표현식을 만드는 것이 매우 쉬웠다. 예를 들어, 전칭 양화에서 모든 자연수의 집합과 같이 무한한 집합에 대한 명제를 만드는 것이 일반적이었다. 이러한 명제는 완벽하게 합리적이며 수학적 증명에도 필요했지만, 컴퓨터에서 실행되는 자동 정리 증명기에 포함되면 컴퓨터가 무한 루프에 빠질 수 있었다. IF-THEN 문에 집중하는 것(논리학자들이 ''전건 긍정''이라고 부르는 것)은 개발자들에게 여전히 논리를 표현할 수 있는 매우 강력한 일반적인 메커니즘을 제공했지만, 계산 자원을 효율적으로 사용할 수 있는 메커니즘이었다. 게다가, 인간도 복잡한 지식을 저장할 때 IF-THEN 표현을 선호한다는 심리적 연구도 있다.[2]

논리 입문서에서 자주 사용되는 ''전건 긍정''의 간단한 예는 "만약 당신이 인간이라면 당신은 죽는다"이다. 이것은 의사 코드로 표현할 수 있다.[2]

규칙1: Human(x) => Mortal(x)

추론 엔진을 사용자 인터페이스와 통합하는 혁신은 전문가 시스템의 두 번째 초기 발전인 설명 기능으로 이어졌다. 규칙이 아닌 코드로 지식을 명시적으로 표현함으로써 사용자에게 설명을 생성하는 것이 가능해졌다. 실시간 및 사후 설명을 모두 제공할 수 있었다. 시스템이 사용자에게 질문을 할 때, 사용자는 왜 그 질문을 받는지 궁금해할 수 있으며, 시스템은 규칙의 연쇄를 사용하여 현재 해당 지식을 확인하려고 하는 이유를 설명할 수 있었다. 처음에는 이러한 설명이 개발자가 모든 시스템을 디버깅할 때 처리하는 표준 디버깅 정보와 크게 다르지 않았다. 그러나 활발한 연구 분야는 자연어 기술을 활용하여 컴퓨터 형식 대신 자연어를 사용하여 질문과 설명을 묻고 이해하고 생성하는 것이었다.[3]

추론 엔진은 ''규칙 일치'', ''규칙 선택'', ''규칙 실행''의 세 가지 단계를 순차적으로 거친다. 규칙 실행은 종종 지식 기반에 새로운 사실이나 목표를 추가하여 사이클이 반복되도록 한다. 이 사이클은 새로운 규칙이 일치할 수 없을 때까지 계속된다.[4]

전문가 시스템이 연구 프로토타입에서 실제 시스템으로 발전하면서 속도와 안정성과 같은 문제에 더 많은 초점이 맞춰졌다. 전문가 시스템이 비즈니스 세계에서 상당한 관심을 받으면서, 에드워드 페이겐바움의 지도를 받은 Intellicorp와 같은 다양한 회사들이 추론 엔진의 제품화된 버전을 만들었다. 이러한 추론 엔진 제품은 처음에는 Lisp로 개발되는 경우가 많았다. 그러나 더 저렴하고 상업적으로 실행 가능한 플랫폼에 대한 요구로 인해 결국 개인용 컴퓨터 플랫폼이 매우 인기를 얻게 되었다.[5]

3. 1. 정방향 추론 (Forward Chaining)

사용자가 입력한 정보에서 시작하여 결론에 도달할 때까지 지식베이스를 검색한다. 규칙 조건(if) 부분이 참이면 그 규칙의 실행(then) 부분이 수행된다. 처리 과정은 수행할 명령문이 없을 때까지 계속된다.[2]

추론 엔진은 순방향 연쇄에서 선행 조건(왼쪽)이 지식 기반의 일부 사실과 일치하는 규칙을 찾는다.[4]

간단한 예로, ''순방향 연쇄''에서 추론 엔진은 지식 기반에서 Human(x)에 일치하는 모든 사실을 찾고, 찾은 각 사실에 대해 새로운 정보 Mortal(x)를 지식 기반에 추가한다. 따라서 소크라테스가 인간임을 발견하면 소크라테스가 죽는다는 것을 추론한다.[2]

초창기 추론 엔진은 주로 정방향 연쇄에 중점을 두었다. 이러한 시스템은 일반적으로 Lisp 프로그래밍 언어로 구현되었다. 최초이자 가장 인기 있는 정방향 연쇄 엔진 중 하나는 규칙 실행의 효율성을 최적화하기 위해 Rete 알고리즘을 사용한 OPS5였다.[5]

3. 2. 역방향 추론 (Backward Chaining)

역방향 추론은 지식베이스 검색을 위한 전략으로, 가설에서 시작하여 그 가설이 채택되거나 기각될 때까지 사용자에게 선택된 사실을 질문하는 방식이다.[2] 이 추론의 시작점을 목표라고 하며, 추론은 이 목표를 지지하는 하위 목표 또는 사실들이 참인지 확인하는 방향으로 진행된다. 예를 들어, 동물원에서 어떤 동물이 치타인지 알고 싶다면, 질문 또는 추론의 목표는 치타가 된다. 이는 지식에서 "THEN 치타이다"를 결론으로 하는 규칙의 THEN 부분부터 시작하여 거꾸로 추론이 진행되어 그 규칙의 조건 부분이 참인지 확인하는 것이다.[2]

''전건 긍정''의 간단한 예로 "만약 당신이 인간이라면 당신은 죽는다"라는 규칙이 있다. 이를 의사 코드로 표현하면 다음과 같다.[2]

규칙1: Human(x) => Mortal(x)

역방향 연쇄에서 시스템은 목표를 받는다. 예를 들어 소크라테스가 죽는지에 대한 질문에 답하기 위해 지식 기반을 검색하고 소크라테스가 인간인지 확인한 다음, 그렇다면 그가 죽는다고 주장한다. 일반적인 역방향 연쇄 기술은 추론 엔진을 사용자 인터페이스와 통합하는 것이다. 시스템이 소크라테스가 죽었는지에 대한 질문에 답하는 목표를 받았고 아직 그가 인간인지 모른다면, 사용자에게 "소크라테스가 인간입니까?"라는 질문을 하는 창을 생성한 다음 그 정보를 적절하게 사용한다.[2]

Prolog는 주로 역방향 연쇄에 중점을 둔 논리 프로그래밍 언어이며, 효율성과 안정성을 위한 다양한 상용 버전과 최적화 기능을 갖추고 있었다.[5]

4. 구현

초창기 추론 엔진은 주로 정방향 연쇄에 중점을 두었으며, Lisp 프로그래밍 언어로 구현되었다. Lisp는 기호 조작 능력이 뛰어나 초기 인공지능 연구의 주요 플랫폼이었고, 인터프리터 언어로서 복잡한 프로그램의 디버깅에 적합한 개발 환경을 제공했다. 그러나 Lisp 프로그램은 C와 같은 컴파일 언어보다 속도가 느리고 안정성이 떨어지는 경향이 있었다.[1]

MYCIN은 의료 진단을 위한 초기 전문가 시스템이었으며, EMYCIN은 MYCIN에서 파생되어 다른 연구자들이 사용할 수 있도록 제공된 추론 엔진이었다.[1] 전문가 시스템이 연구 프로토타입에서 실제 시스템으로 발전하면서, Rete 알고리즘을 사용한 OPS5와 같은 정방향 연쇄 엔진과 Prolog 논리 프로그래밍 언어와 같은 역방향 연쇄를 위한 기술이 개발되었다.[5]

전문가 시스템이 비즈니스 세계에서 관심을 받으면서, 에드워드 페이겐바움이 지도한 Intellicorp와 같은 회사들이 추론 엔진의 제품화된 버전을 만들었다. 이러한 제품은 처음에는 Lisp로 개발되었으나, 더 저렴하고 상업적으로 실행 가능한 플랫폼에 대한 요구로 인해 개인용 컴퓨터 플랫폼이 매우 인기를 얻게 되었다.

4. 1. 오픈 소스 구현

CLIPS(ClipsRules)와 RefPerSys(RefPerSys) (자크 피트라의 연구와 CAIA(CAIA)에서 영감을 받았으며[6], Frama-C(Frama-C) 정적 소스 코드 분석기도 일부 추론 엔진 기술을 사용한다.

5. 데이터 구동 처리와 절차적 제어

추론 엔진의 제어는 데이터 저장부의 상태를 빈번하게 평가하는 것에 기반하며, 정적인 프로그램의 제어 구조에는 의존하지 않는다. 이러한 처리를 "데이터 구동" 또는 "패턴 유도"라고 하며, 일반적인 절차적 제어와 대비된다. 규칙은 데이터를 통해서만 상호 작용이 발생하며, 일반적인 프로그래밍 언어에서는 절차나 함수가 명시적으로 서로 호출한다. 명령과는 달리, 규칙은 순차적으로 실행되지 않으며, 규칙 집합만 봐서는 어느 것이 다음에 실행될지 알 수 없고, 추론 엔진이 언제 정지할지도 알 수 없다.

절차적 처리에서는 문제 영역에 대한 지식이 제어 구조 안에 명령으로 흩어져 있지만, 추론 엔진에서는 지식(규칙)과 제어(추론 엔진)가 더 명확하게 분리되어 있다. 객체 지향 프로그래밍은 그 중간 수준의 분리가 이루어졌다고 할 수 있다.

참조

[1] 서적 Building Expert Systems https://archive.org/[...] Addison-Wesley
[2] 서적 The Handbook of Artificial Intelligence, Volume I https://archive.org/[...] Addison-Wesley 1986-09-01
[3] 간행물 A New Approach to Expert System Explanations https://apps.dtic.mi[...]
[4] citation A Rule-Based Inference Engine which is Optimal and VLSI Implementable University of Kentucky.
[5] 서적 The Art of Prolog https://archive.org/[...] MIT
[6] 서적 Artificial Beings, the conscience of a conscious machine Wiley
[7] 서적 Management Information Systems 12/E: Managing the Digital Firm, CHAPTER 11, 445P Pearson Education Asia
[8] 서적 유비쿼터스 시대의 정보기술과 경영정보시스템 P.326 대경



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com