규칙 기반 시스템

지식을 규칙의 형태로 표현하는 방법에 대해 알아봅니다.읽는데 4분 정도 걸려요.

추론

구축된 지식과 주어진 데이터, 정보를 이용해 새로운 사실을 생성하는 것으로 전향(순방향) 추론과 후향(역방향) 추론으로 나뉜다.

전향 추론

규칙의 조건부와 만족하는 사실이 있을 때 규칙의 결론부를 실행하거나 처리하는 방식으로 아래와 같이 순방향으로 추론하는 방식이다.

231022-200403

후향 추론

어떤 사실을 검증하거나 확인하고 싶은 경우에 관심 대상의 사실을 결론부에 갖고 있는 규칙을 찾아서 조건부가 만족하는지를 확힌하는 방식으로 아래와 같이 역방향으로 추론하는 방식이다.

231022-200616


규칙 기반 시스템

지식을 규칙과 사실로 기술하며 아래와 같은 구조로 관리된다.

231022-200851

문제 해결을 위한 지식규칙은 규칙 베이스에서 관리되며, 생성 메모리 라고도 불린다.

문제에 대해 알려진 데이터나 정보사실은 작업 메모리에서 관리된다.
참고로, 추론 과정의 중간 결과나 사용자로부터 받은 문제에 대한 정보 역시 여기서 관리된다.

추론 엔진

실행할 수 있는 규칙을 찾아 해당 규칙을 실행하는데 아래의 3단계의 과정을 반복한다.

  1. 패턴 매칭
    작업 메모리의 사실과 규칙 메모리에 있는 규칙의 조건부를 대조하여 일치하는 규칙을 찾아냄.

  2. 경합 해소
    찾아낸 규칙 중 경합되는 규칙(경합 집합)에 대해 하나의 규칙을 선택함.
    경합 해소 전략에는 다음과 같은 전략이 있음.

    1. 규칙 우선
      미리 규칙에 우선순위를 부여하고, 경합시 우선순위가 높은 규칙을 우선 선택
      우선순위 태그 기준
      231022-201805

    2. 최신 우선
      가장 최근에 입력된 데이터와 매칭된 규칙을 우선 선택
      시간 태그 기준
      231022-201845

    3. 최초 우선
      경합 집합에서 가장 먼저 매칭된 규칙을 우선 선택

    4. 상세 우선
      조건부가 가장 상세하거나 복잡한 규칙을 우선 선택
      태그말고 조건문의 길이 기준
      231022-201826

  3. 규칙 실행