역방향 체인

역방향 체인은 목표 목록(또는 가설)에서 시작하여 결과에서 선행으로 거꾸로 작동하여 데이터가 이러한 결과 중 하나를 지원하는지 확인합니다. 역 체인을 사용하는 추론 엔진은 원하는 목표와 일치하는 결과(절)가있는 것을 찾을 때까지 추론 규칙을 검색합니다. 그 규칙의 선행(조항 인 경우)이 참인 것으로 알려진 경우 목표 목록에 추가됩니다(목표를 확인하기 위해이 새로운 규칙을 확인하는 데이터도 제공해야합니다).

예를 들어,프리츠에 대한 두 가지 사실과 함께 새 애완 동물 프리츠가 불투명 한 상자에 전달된다고 가정합니다:

  • 프리츠 까악 까악 우는 소리
  • 프리츠는 파리를 먹는다

목표는 다음 네 가지 규칙이 포함 된 룰 베이스에 따라 프리츠가 녹색인지 여부를 결정하는 것입니다:

뒤로 체인의 예.
역방향 체인의 예입니다.

  1. 경 X croaks 및 X 먹는 파리–다음 X 은 개구리
  2. 경 X 울어와 노래 X–X 는 카나리아
  3. 경우에는 개구리 다음 X 그린
  4. 경 X 는 카나리아–그 X 은 노란

뒤로 추론, 는 유추 엔진 여부를 확인할 수 있습 Fritz 은 네 단계가 있습니다. 시작하려면,쿼리는 입증 할 목표 주장으로 표현된다:”프리츠는 녹색”.

1. 프리츠 대신 엑스 규칙#3 의 결과가 목표와 일치하는지 확인하기 위해 규칙#3 이됩니다:

 If Fritz is a frog – Then Fritz is green

결과적으로 목표가 일치하기 때문에(“프리츠는 녹색”)규칙 엔진은 이제 선행(“프리츠는 개구리입니다”)이 입증 될 수 있는지 확인해야합니다. 따라서 선행은 새로운 목표가됩니다:

 Fritz is a frog

2. 다시 프리츠…에 대한 엑스,규칙#1 이됩니다:

 If Fritz croaks and Fritz eats flies – Then Fritz is a frog

결과가 현재 목표(“프리츠는 개구리”)와 일치하기 때문에 추론 엔진은 이제 선행(“프리츠가 파리를 먹고 파리를 먹는다”)이 입증 될 수 있는지 확인해야합니다. 따라서 선행은 새로운 목표가됩니다:

 Fritz croaks and Fritz eats flies

3. 이 목표는 두 문장의 결합이기 때문에 추론 엔진은 두 개의 하위 목표로 나누어지며 둘 다 입증되어야합니다:

 Fritz croaks Fritz eats flies

4. 이러한 두 하위 목표를 증명하기 위해 추론 엔진은 이러한 두 하위 목표가 모두 초기 사실로 주어 졌다고 봅니다. 따라서,결합은 사실이다:

 Fritz croaks and Fritz eats flies

그러므로 규칙#1 의 선행은 사실이고 그 결과물은 사실이어야 한다.:

 Fritz is a frog

그러므로 규칙#3 의 선행은 사실이고 그 결과물은 사실이어야 한다.:

 Fritz is green

따라서 이 파생은 추론 엔진이 프리츠가 녹색임을 증명할 수 있게 한다. 규칙#2 와#4 는 사용되지 않았습니다.

목표는 항상 의미의 결과의 확인 된 버전과 일치하며(잠정 톨렌에서와 같이 부정 된 버전이 아님),그 후에도 그 선행은 새로운 목표로 간주되며(결과를 확인하는 결론이 아님),궁극적으로 알려진 사실과 일치해야합니다(일반적으로 그 선행이 항상 사실 인 결과로 정의 됨);따라서 사용 된 추론 규칙은 잠정 포 넨스.

목표 목록이 선택되고 사용되는 규칙을 결정하기 때문에 데이터 기반 순방향 체인 추론과 달리 이 방법을 목표 기반이라고 합니다. 역 체인 접근 방식은 종종 전문가 시스템에 의해 사용됩니다.

프롤로그,지식 기계 및 이클립스와 같은 프로그래밍 언어는 추론 엔진 내에서 역 체인을 지원합니다.

답글 남기기

이메일 주소는 공개되지 않습니다.