본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

전방향 추론(Forward Chaining, Forward Reasoning)은 알려진 사실에서 출발해 조건이 맞는 규칙을 차례로 적용하며 새로운 사실을 이끌어 내 결론에 이르는 추론 방식이다.

전문가 시스템 같은 규칙 기반 시스템은 지식을 IF 조건 THEN 결론 형태의 프로덕션 규칙(Production Rule)으로 저장한다. 이 규칙들로 결론을 얻는 방향에 따라 두 방식이 있다. 사실에서 결론 쪽으로 나아가면 전방향 추론, 확인하고 싶은 결론(목표)에서 그것을 성립시키는 사실 쪽으로 거슬러 가면 후방향 추론(Backward Chaining)이다. 전진 추론·순방향 추론, 후진 추론·역방향 추론이라고도 부른다.

프로덕션 시스템의 구성

편집 원본 편집
구성 요소 역할
규칙 베이스(지식 베이스) IF … THEN … 규칙의 모음. 전문가의 지식이다
작업 메모리(사실 베이스) 현재 알려진 사실. 추론하면서 새 사실이 더해진다
추론 엔진 사실과 규칙을 맞춰 보고 규칙을 골라 실행한다

추론 엔진은 매칭 → 충돌 해결 → 실행을 되풀이한다.

  1. 매칭: 조건부가 작업 메모리의 사실과 맞는 규칙을 모두 찾는다(이 규칙 집합을 충돌 집합이라 한다).
  2. 충돌 해결: 여러 규칙이 맞으면 우선순위·최근 사실·조건의 구체성 같은 기준으로 하나를 고른다.
  3. 실행: 고른 규칙의 결론부를 작업 메모리에 더하거나 동작을 수행한다.

데이터가 추론을 이끈다(데이터 구동, Data-driven).

  1. 작업 메모리의 사실로 조건이 만족되는 규칙을 찾는다.
  2. 그 규칙을 실행해 결론을 새 사실로 더한다.
  3. 더 이상 적용할 규칙이 없거나 목표 사실이 나올 때까지 되풀이한다.

규칙

  • R1: IF 털이 있다 THEN 포유류다
  • R2: IF 포유류다 AND 고기를 먹는다 THEN 육식동물이다
  • R3: IF 육식동물이다 AND 황갈색이다 AND 검은 줄무늬가 있다 THEN 호랑이다

사실: 털이 있다, 고기를 먹는다, 황갈색이다, 검은 줄무늬가 있다

  • 1회: R1 만족 → '포유류다' 추가
  • 2회: R2 만족 → '육식동물이다' 추가
  • 3회: R3 만족 → '호랑이다' 추가. 더 적용할 규칙이 없어 끝난다

관측된 증상·센서 값이 들어오면 거기서 가능한 결론을 모두 이끌어 내야 하는 상황, 예컨대 감시·제어, 설정 구성, 계획 수립에 맞다.

목표가 추론을 이끈다(목표 구동, Goal-driven).

  1. 증명하려는 목표(가설)를 정한다.
  2. 그 목표를 결론부로 가진 규칙을 찾고, 그 규칙의 조건부를 하위 목표로 삼는다.
  3. 하위 목표가 작업 메모리의 사실과 맞으면 참이다. 맞는 사실이 없으면 그 하위 목표를 결론으로 하는 규칙을 다시 찾거나 사용자에게 묻는다.
  4. 모든 하위 목표가 참이면 목표가 참이다.

위와 같은 규칙에서 목표 '호랑이인가?'를 확인한다.

  • '호랑이다'를 결론으로 가진 R3 → 하위 목표: 육식동물인가, 황갈색인가, 검은 줄무늬가 있는가
  • '육식동물이다'를 결론으로 가진 R2 → 하위 목표: 포유류인가, 고기를 먹는가
  • '포유류다'를 결론으로 가진 R1 → 하위 목표: 털이 있는가 → 사실과 일치
  • 모든 하위 목표가 사실로 확인되어 '호랑이다'가 참이다

가설이 정해져 있고 그것을 확인하는 진단에 맞다. 질병 진단 전문가 시스템 MYCIN 이 후방향 추론을 썼다.

구분 전방향 추론 후방향 추론
출발점 사실(데이터) 목표(가설)
진행 방향 조건부 → 결론부 결론부 → 조건부
구동 방식 데이터 구동 목표 구동
탐색 형태 폭이 넓다. 목표와 관계없는 사실까지 만들어 낼 수 있다 목표와 관련된 규칙만 따라가 탐색이 좁다
적합한 문제 결론 후보가 많고 데이터가 적은 문제, 감시·계획·구성 결론 후보가 적고 확인할 데이터가 많은 문제, 진단·분류
사례 XCON(컴퓨터 구성), 생산 규칙 엔진 MYCIN(감염 진단), Prolog

두 방식을 섞는 양방향 추론도 있다. 사실에서 앞으로, 목표에서 뒤로 동시에 진행해 중간에서 만나게 한다.

연역법과 귀납법

편집 원본 편집

추론의 방향(전방향·후방향)과 별개로, 추론의 논리 형식에 따라 연역법과 귀납법을 나눈다.

구분 연역법(Deduction) 귀납법(Induction)
방향 일반 원리 → 개별 사례 개별 사례 → 일반 원리
결론의 성격 전제가 참이면 결론도 반드시 참 결론이 그럴듯할 뿐 반드시 참은 아니다
새로운 지식 전제에 이미 들어 있는 것을 끌어낸다 관찰을 넘어서는 새 일반화를 만든다
예 모든 포유류는 폐로 숨쉰다. 고래는 포유류다. 그러므로 고래는 폐로 숨쉰다 관찰한 백조 1,000마리가 모두 희다. 그러므로 백조는 희다
시스템에서 규칙 기반 전문가 시스템의 추론 엔진 기계 학습, 결정 트리 학습, 규칙 학습
  • 전문가 시스템의 전방향·후방향 추론은 모두 규칙을 적용해 결론을 끌어내는 연역적 추론이다.
  • 귀납법은 사례 데이터에서 규칙을 만들어 지식 베이스를 채우는 데 쓴다.
  • 관찰된 결과를 가장 잘 설명하는 원인을 추정하는 가추법(Abduction)도 있으며, 진단 추론이 이에 가깝다.