프로덕션시스템

개념
프로덕션 시스템(Production System)의 정의 - 인공지능에서 자주 사용되는 지식표현 방법으로 주어진 조건에 대한 권고, 지시, 전략 등을 나타내는 정형화된 지식 표현 방법 - 지식을 조건(condition)-행동(action) 또는 전제(antecedent)-결론(consequent)의 형태로 표현하는 프로덕션 규칙을 기반으로 관리하기 위한 체계

I. 인공지능의 지식표현, 프로덕션 시스템의 개요

가.프로덕션 시스템(Production System)의 정의

- 인공지능에서 자주 사용되는 지식표현 방법으로 주어진 조건에 대한 권고, 지시, 전략 등을 나타내는 정형화된 지식 표현 방법

- 지식을 조건(condition)-행동(action) 또는 전제(antecedent)-결론(consequent)의 형태로 표현하는 프로덕션 규칙을 기반으로 관리하기 위한 체계

 

나. 프로덕션 규칙(Rule)의 예제

- IF 비가올 확률이 50%이상이면 THEN 우산을 가지고 나가는 것이 좋다

 

II. 프로덕션시스템(Production System)의 구성과 인식행동 사이클

구성요소

설명

프로덕션 메모리

(Product memory)

- 규칙의 집합이 저장되는 기억장소로 규칙베이스, 지식베이스로 불림

작업 메모리

(Woking memory)

- 규칙에 의해 참조/갱신의 대상이 되는 데이터의 결합이 저장되는 기억장소로 데이터베이스 또는 단기 메모리라고 함

인터프리터

(Interpreter)

- 인식-행동 사이클에 따라 추론의 실행과 상태를 감시하는 기구로서 추론엔진 제어기구라고 불림

센서

(Sensor)

- 외부환경의 상태를 감시하여 변화에 반응하고 필요한 정보를 작업 메모리에 전달하는 역할을 하는 기구

모터

(Motor)

- 작업 메모리의 상태를 감시하고 반응하여 필요한 정보 또는 조작을 외부 환경에 전달하는 기구

외부환경

(External environment)

- 프로덕션 시스템의 조작 대상(프린터, 기계설비, 인간 등)이 되는 실세계

 

나. 프로덕션 시스템(Production System)의 인식행동 사이클

- 프로덕션 시스템의 실행은 인식-행동사이클의반복을 기본으로 함

절차

설명

패턴 매칭

(Pattern matching)

- 프로덕션 메모리 상의 각 규칙의 전제부와 작업 메모리 상의 데이터 사이의 패턴을 비교하여 전제부를 만족하는 규칙을 모두 찾아냄

- 규칙과 사실을 매칭하는 단계로 전체 시간의 90%를 차지

경합 해소

(Conflict resolution)

- 미리 설정되어 있는 경합해소 전략에 따라 경합 집합 중에서 하나의 규칙을 선택함. 매칭된 규칙들 중 선택하는 단계

실행

(Action)

- 경합 해소 단계에서 선택한 규칙의 행동부의 동작을 실행하고 작업 메모리의 내용을 갱신

 

Ⅲ. 프로덕션시스템(Production System)의 추론방식

가. 전향추론(forward Chaining)

1)전향추론(forward Chaining)의 정의

- 규칙의 전제부와 작업 메모리 사이의 패턴을 비교하여 결론부에 지시된 내용에 따라 작업 메모리의 상태를 바꾸는 추론방식

- 원인으로부터 전향으로 규칙을 적용해 결과를 추론하는 것으로 적용할 규칙의 수가 적은 경우 효율적으로 추론가능하고 목표규칙이 참이 될 때까지 반복함

 

2) 전향추론(forward Chaining)의 사례

나. 후향추론(Backward Chaining)

1) 후향추론(Backward Chaining)의 정의

- 규칙의 결론부와 작업 메모리 사이에서 패턴을 비교하여 전제부에서 지시된 내용에 따라 작업 메모리의 상태를 바꾸는 추론 방식

- 결과로부터 후향으로 규칙을 적용해 원인을 추론하는 방식으로 목표 규칙 중의 하나를 참으로 가정하고 추론을 시작

- 지식베이스의 규칙의 수가 많은 경우 추론 시간을 단축하는데 큰 효과

 

2) 후향추론(Backward Chaining) 사례

 

Ⅳ. 프로덕션 시스템(Production System)의 장단점

장단점

설명

장점

- 지식 표현이 용이하고 이해가 쉽고 지식의 모듈화로 새로운 지식의 추가 및 변경이 용이함

- 지식베이스를 한꺼번에 만들지 않고 서서히 확장 가능

단점

- 지식의 전체적인 구조 파악이 힘들고 지식의 제어가 용이하지 않음

- 지식표현과 제어가 분리된 상태에서 지식을 표현하여 제어 문제를 고려하지 않아도 지식 표현이 가능하나 다량의 지식을 이용하는 제어 구조는 중요한 문제가 발생 가능

댓글