Default  Reasoning

 

비단조 추론 (Nonmonotonic Reasoning) 은 어떤 사실에 대해 확실한 근거가 아직 없는 경우 달리 대안이 없으면 특정 사실을 임시적으로 인정하는 경우에도 필요하다. 이러한 것을 특별히 기본값추론 (Default Reasoning) 이라 한다.

예를 들어, Tweety 라는 새가 있을 때 달리 Tweety 에 대한 정보가 없으면 이 새는 날 수 있다고 보는 것이다. 그러나 나중에 알고 보니 Tweety 가 펭귄으로 밝혀졌다면 Tweety 는 날 수 있다는 것은 틀린 사실이 되는 것이다. 이렇게 뚜렷이 반박할 다른 증거가 없는 경우 임시로 어떤 결론을 내리는 것이다. 이는 지식이 모든 상황에 다 정확한 해답을 줄 수 없는 경우가 있기 때문이다. 이는 정보의 부재 등으로 일어난다. 이러한 경우 인간이 상식에 의해 추론하듯 기본값추론을 적용할 수 있다.

IF X 가 새 THEN X 는 날 수 있다.

라는 기본적 지식으로서 기본값추론을 할 수 있다.

또 다른 예를 보자. 어떤 집에 화재경보가 울렸다. 이러한 경우 그 집에 불이 났기 때문이라고도 할 수 있지만 지진이 일어나서일 수도 있고 아이들이 장난을 친 것일 수도 있는 것이다. 그러나 달리 특별한 증거나 정보가 없는 한 "IF 화재경보가 울리면 THEN 화재가 났다" 라는 규칙을 작동하여 임시적으로 그 집에 화재가 난 것으로 결론 지을 수 있다.

그러나 이러한 기본값추론은 나중에 보다 정확한 증거가 수집되는 대로 부정될 여지가 얼마든지 있는 것이다. 이렇게 기본값 추론도 한번 추론된 결과가 나중에 번복될 수 있다는 점에서 비단조추론에 포함된다.

라이터의 초기화 논리 (default logic) : 정영기 : 라이터 (R.Reiter) 는 일관성에 기초하여 비단조 추리에 접근하며 초기화 논리를 개발하였다 ....... 초기화 추리의 초기화는 다르게 증명되지 않는 한 (또는 다르게 증명될 때까지) 어떤 언명이 믿어질 수 있다는 언명이거나 규칙이다. 초기화 S 는 S 가 아니라고 증명되지 않는 한 S 는 추리될 수 있다고 해석된다. 초기화는 큰 변화없이 예외가 인정될 수 있는 일반성을 진술할 때 사용된다. 예를 들어 초기화 규칙이 '모든 새는 날 수 있다' 라면, 이 경우 예외는 펭귄이나 타조이다....... 예를 들어 보자. 창수는 전산학과 교수이다. 그러므로 창수는 박사 학위를 갖고 있다. 물론 그가 박사 학위를 갖고 있지 않을 수 있다. 만일 그가 박사 학위를 갖고 있지 않다는 믿을만한 정보를 듣는다면 우리는 그 결론을 철회한다. 창수의 예는 초기화 추리의 일반적인 패턴을 예시해 준다. 그 예는 다음과 같이 분석된다.

x 가 전산학과 교수이고 x 가 박사 학위를 갖고 있지 않다고 증명되지 않는 한, 우리는 x 가 박사 학위를 갖고 있다고 추리할 수 있다.

그런 추리의 결론 부분을 초기화라고 부른다. 새로운 부분은 "라고 증명되지 않는 한" 부분이다. 이 부분이 의미하는 것을 형식화하는 데에는 생각보다 세밀한 것이 요구된다. 그러나 실제 프로그램에 그것을 작용시키는 것은 어렵지 않다. "라고 증명되지 않는 한" 부분은 "consistent" 라는 기호를 도입하여 표현할 수 있다. 즉 (~P) 라고 추리될 수 없으면 (consistent P) 는 참이다. 반대되는 정보가 없는 한, 기존 정보에 기초하여 일정한 결론을 주장할 수 있다는 것이다.....