[Knowledge Expression] 규칙 기반 시스템

2 minute read


규칙 기반 시스템 (Rule-based system)

  • 지식을 규칙의 형태로 표현
  • 주어진 문제 상황에 적용될 수 있는 규칙들을 사용하여 문제에 대한 해를 찾도록 하는 지식 기반 시스템
  • 전문가 시스템을 구현하는 전형적인 형태
    • 특정 문제영역에 대해서 전문가 수준의 해를 찾아주는 시스템


추론

규칙 기반 시스템에서 추론이란 구축된 지식과 주어진 데이터나 정보를 이용하여 새로운 사실을 생성하는 것을 말합니다.

추론에는 전향 추론후향 추론이 있습니다.


전향 추론

전향 추론순방향 추론이라고도 하며, 규칙의 조건부와 만족하는 사실이 있을 때 규칙의 결론부를 실행하거나 처리합니다.

주로 주어진 사실들로 부터 그 결과가 무엇인지 알고 싶을 때 사용합니다.

👍 예시

image-20211006183511937


후향 추론

후향 추론역방향 추론이라고도 하며, 어떤 사실을 확인하고 싶은 경우에관심 대상 사실을 결론부에 가지고 있는 규칙을 찾아서 조건부의 조건들이 모두 만족하는지 확인합니다.

주로 어떠한 결과를 주어진 사실들로부터 검증/확인하고 싶을 때 사용합니다.

👍 예시

image-20211006183754437



규칙 기반 시스템 구조

지식

  • 규칙과 사실로 기술
  • 규칙: 문제 해결을 위한 지식
  • 사실: 문제 영역에 대해 알려진 데이터나 정보


image-20211006183900478

규칙 베이스

  • 전체 규칙의 집합을 관리하는 부분
  • 생성 메모리라고도 함


작업 메모리

  • 사용자로부터 받은 문제에 대한 정보를 관리
  • 추론 과정의 중간 결과를 저장하고, 유도된 최종해 저장
  • 작업 메모리에 저장되는 모든 것을 사실이라 함.


추론 엔진

추론 엔진은 실행할 수 있는 규칙을 찾아서, 해당 규칙을 실행하는 역할을 합니다.

추론은 패턴 매칭 - 경합 해소 - 규칙 실행의 과정을 거칩니다.

  • 패턴 매칭
    • 전향 추론: 작업 메모리의 사실과 규칙 베이스에 있는 규칙의 조건부를 대조하여 일치하는 규칙을 탐색
    • 후향 추론: 작업 메모리의 사실과 규칙 베이스에 있는 규칙의 결론부를 대조하여 일치하는 규칙을 탐색
  • 경함 집합
    • 규칙들의 집합, 실행 가능한 규칙들의 집합
  • 경함 해소
    • 경합 집합에서 하나의 규칙을 선택
  • 사용자 인터페이스
    • 규칙베이스 및 작업 메모리 관리 및 추론 엔진 조작
  • 외부 인터페이스
    • 외부 데이터나 함수의 기능 사용 지원


경합 해소 전략

경합 해소 전략이란 경합 집합이 생성되었을 때 어떤 규칙을 선택할 것인지 경합 해소를 위한 방법입니다.

  • 규칙 우선 순위

    • 미리 각 규칙에 우선순위 부여
    • 경합 집합에서 우선순위가 가장 높은 규칙 선택
    • 예: 규칙 1 선택

    image-20211006185056085

  • 최신 우선

    • 가장 최근에 입력된 데이터와 매칭된 규칙 선택
    • 각 사실에 시간 태그를 부여

    • 예: 규칙 2 선택

    image-20211006185124874

  • 최초 우선

    • 경합 집합에서 가장 먼저 매칭된 규칙 선택
  • 상세 우선

    • 가장 상세한 조건부를 갖는 규칙 선택
    • 규칙의 조건부가 가장 복잡하게 기술된 것 선택
    • 예: 규칙 1 선택

    image-20211006185150979



지식 표현

개발 도구에 따라 고유한 형식의 지식 표현 방법을 사용합니다.

  • 사실

    • 객체(object)나 프레임(frame)처럼 여러 개의 속성 포함 가능
    • 예: 이름이 monkey인 원숭이가 나이가 세 살이고 거실에 있다.

    image-20211006185508131

  • 규칙

    • Jess의 규칙 표현 예

    image-20211006185532756



규칙 기반 시스템 개발 도구 (Shell)

  • 규칙 기반 시스템의 기본 컴포넌트들을 미리 제공하여 규칙 기반 시스템을 쉽게 구현할 수 있게 하는 소프트웨어
  • 문제 영역의 지식을 잘 획득하여 정해진 형태로 표현만 하면 규칙 기반 시스템을 비교적 쉽게 구현 가능
  • Jess, CLIPS, EXSYS, JEPOS 등



Leave a comment