[Knowledge Expression] 규칙 기반 시스템
규칙 기반 시스템 (Rule-based system)
- 지식을 규칙의 형태로 표현
- 주어진 문제 상황에 적용될 수 있는 규칙들을 사용하여 문제에 대한 해를 찾도록 하는 지식 기반 시스템
- 전문가 시스템을 구현하는 전형적인 형태
- 특정 문제영역에 대해서 전문가 수준의 해를 찾아주는 시스템
추론
규칙 기반 시스템에서 추론
이란 구축된 지식과 주어진 데이터나 정보를 이용하여 새로운 사실을 생성하는 것을 말합니다.
추론에는 전향 추론
과 후향 추론
이 있습니다.
전향 추론
전향 추론
은 순방향 추론
이라고도 하며, 규칙의 조건부와 만족하는 사실이 있을 때 규칙의 결론부를 실행하거나 처리합니다.
주로 주어진 사실들로 부터 그 결과가 무엇인지 알고 싶을 때 사용합니다.
👍 예시
후향 추론
후향 추론
은 역방향 추론
이라고도 하며, 어떤 사실을 확인하고 싶은 경우에관심 대상 사실을 결론부에 가지고 있는 규칙을 찾아서 조건부의 조건들이 모두 만족하는지 확인합니다.
주로 어떠한 결과를 주어진 사실들로부터 검증/확인하고 싶을 때 사용합니다.
👍 예시
규칙 기반 시스템 구조
지식
- 규칙과 사실로 기술
규칙
: 문제 해결을 위한 지식사실
: 문제 영역에 대해 알려진 데이터나 정보
규칙 베이스
- 전체 규칙의 집합을 관리하는 부분
- 생성 메모리라고도 함
작업 메모리
- 사용자로부터 받은 문제에 대한 정보를 관리
- 추론 과정의 중간 결과를 저장하고, 유도된 최종해 저장
- 작업 메모리에 저장되는 모든 것을 사실이라 함.
추론 엔진
추론 엔진
은 실행할 수 있는 규칙을 찾아서, 해당 규칙을 실행하는 역할을 합니다.
추론은 패턴 매칭 - 경합 해소 - 규칙 실행
의 과정을 거칩니다.
- 패턴 매칭
- 전향 추론: 작업 메모리의 사실과 규칙 베이스에 있는 규칙의 조건부를 대조하여 일치하는 규칙을 탐색
- 후향 추론: 작업 메모리의 사실과 규칙 베이스에 있는 규칙의 결론부를 대조하여 일치하는 규칙을 탐색
- 경함 집합
- 규칙들의 집합, 실행 가능한 규칙들의 집합
- 경함 해소
- 경합 집합에서 하나의 규칙을 선택
- 사용자 인터페이스
- 규칙베이스 및 작업 메모리 관리 및 추론 엔진 조작
- 외부 인터페이스
- 외부 데이터나 함수의 기능 사용 지원
경합 해소 전략
경합 해소 전략
이란 경합 집합이 생성되었을 때 어떤 규칙을 선택할 것인지 경합 해소를 위한 방법입니다.
-
규칙 우선 순위
- 미리 각 규칙에 우선순위 부여
- 경합 집합에서 우선순위가 가장 높은 규칙 선택
- 예: 규칙 1 선택
-
최신 우선
- 가장 최근에 입력된 데이터와 매칭된 규칙 선택
-
각 사실에 시간 태그를 부여
- 예: 규칙 2 선택
-
최초 우선
- 경합 집합에서 가장 먼저 매칭된 규칙 선택
-
상세 우선
- 가장 상세한 조건부를 갖는 규칙 선택
- 규칙의 조건부가 가장 복잡하게 기술된 것 선택
- 예: 규칙 1 선택
지식 표현
개발 도구에 따라 고유한 형식의 지식 표현 방법을 사용합니다.
-
사실
- 객체(object)나 프레임(frame)처럼 여러 개의 속성 포함 가능
- 예: 이름이 monkey인 원숭이가 나이가 세 살이고 거실에 있다.
-
규칙
- Jess의 규칙 표현 예
규칙 기반 시스템 개발 도구 (Shell)
- 규칙 기반 시스템의 기본 컴포넌트들을 미리 제공하여 규칙 기반 시스템을 쉽게 구현할 수 있게 하는 소프트웨어
- 문제 영역의 지식을 잘 획득하여 정해진 형태로 표현만 하면 규칙 기반 시스템을 비교적 쉽게 구현 가능
- Jess, CLIPS, EXSYS, JEPOS 등
Leave a comment