비단조논리적인 행위 설명

 

과학적 설명과 비단조 논리 : 정영기 지음, 엘맨, 1996, Page 126~153

 

1. 닫힌세계 가정 (closed world assumption)

2. 승계 추리

3. 비단조논리적인 신념수정

4. 비단조논리적인 행위설명

     (1) 법칙과 초기화 규칙 (default) 의 차이

     (2) 비단조 논리적인 행위설명

 

우리의 상식적인 추리는 예외적일 수 있는 일반적인 규칙을 사용하는 능력에 깊이 의존하고 있다. 우리가 일상생활에서 내리는 의사결정 중에 완전한 확실성을 갖고 있는 것은 거의 없다. 그러나 일상생활 속에서 우리는 의사결정을 내리지 않을 수 없다. 우리는 불확실성에도 불구하고 계속 행위하기 위해 결정을 내린다. 단조논리는 이런 상식적인 우리의 임시적인 성격을 포착하는데 한계를 갖고 있다.

비단조 논리는 우리가 완전한 정보가 없는 상황에서 행위할 수 있도록 해 주기 때문에 매우 중요하다. 예를 들어, 우리는 일과 후에 집으로의 자동차 운전을 생각하며 암암리에 다음과 같이 가정한다. 자동차는 마지막에 주차한 곳에 주차해 있으며, 배터리는 잘 작동하고 있으며, 길은 막혀 있지 않으며 등등. 그러나 이런 기대는 초기화에 의해 유지되며, 그 기대가 깨질 때 우리는 기존의 신념을 재평가할 준비를 해야 한다.

인공지능 연구자들은 상황에 대해 완전하고 정확한 지식이 없는 가운데에서 합리적으로 행위하는 능력을 매우 중요시하였다. 상식적인 추리에서 우리는 지지하는 증거와 모순되는 증거의 부재에 기초하여 가정을 세운다. 전통 논리는 지식의 부재를 고려하는 수단을 갖추고 있지 않기 때문에 이런 형식의 추리와 필적할 수 없다. 비단조 논리는 전통적인 1 차 술어논리에 구체적인 지식의 부재에 기초하여 결론을 내리는 메카니즘을 보충하였다.

이 장에서 필자는 헴펠의 행위설명에 대한 대안을 비단조 논리적인 입장에서 제시한다. 그러나 그 대안은 헴펠의 주장에 대한 보완적인 대안이며 상충되는 대안은 아니다. 헴펠은 기대 효용을 최대화하는 행위가 합리적 행위라고 주장한다. 이에 대해 필자는 가능한 모든 경우를 고려하는 행위보다 전형적인 경우를 고려하는 (비단조 논리적인) 행위가 합리적 행위임을 주장한다. 그리고 헴펠이 법칙에 의해 인간의 행위를 설명하는 것에 대해 필자는 초기화 규칙에 의해 행위를 설명하는 비단조 논리적 모델을 제시한다. 인간의 행위를 설명하는 경우에 법칙의 발견이 용이하지 않을 때 초기화 규칙에 의해 행위를 설명할 수 있다.

아래에서 필자는 합리성 문제와 관련하여 닫힌세계 가정과 승계추리와 신념수정체계를 1,2,3 절에서 살펴보고자 하며 행위설명모델과 관련하여 디폴트 모델 (default model) 을 4 절에서 살펴보고자 한다.

1. 닫힌세계 가정 (closed world assumption)

우리가 직면한 상황에서 합리적인 행위는 확률적인 계산보다는 비확률적인 규범에 의지하는 것이 바람직할 수 있다. 그런 규범은 명확하게 제시되는 경우와 암묵적으로 제시되는 경우가 있다. 명확하게 제시되는 경우는 닫힌세계 가정이다. 닫힌세계-열린세계 가정은 라이터가 도입하였다. 라이터는 다음과 같이 주장하였다.

연역적인 질문/대답 체계는 두 개의 가정 -- 열린세계 가정과 닫힌세계 가정 -- 중 한 개의 가정 하에서 질문을 평가한다. 열린세계 가정은 질문 평가에 대한 보통의 제 1 차 접근과 일치한다. 데이타 베이스 DB 와 질문 Q 가 주어지면 Q 에 대한 대답만은 가설로서의 DB 와 Q 의 증명으로부터 얻어지는 것들이다. 닫힌세계가정 하에서 어떤 대답들은 증명을 발견할 수 없는 결과 (a result of failure to find a proof) 로서 인정된다.

열린세계에서 데이타는 절 (clause) 에 의해 표현되며 부정적인 데이타는 데이타 베이스에 명확하게 표현된다. 데이타베이스는 대상들과 대상들의 관계에 대한 정보를 효과적으로 저장하고 수정하기 위해 계획된 체계이다. 데이터 베이스가 부정적인 데이터에 관한 가정을 따를 때 그 데이터 베이스는 열린세계 가정을 만족시킨다고 말한다. 열린세계에 대한 대안은 닫힌세계 데이터 베이스이다. 닫힌세계 안의 데이터 베이스는 부정적인 정보를 포함하지 않는다. 그 데이터 베이스로부터 부정적인 사실을 도출할 수 있는가를 결정하기 위해서는 긍정적인 사실의 참을 증명해 보아야 한다. 긍정적인 사실의 참을 증명하지 못했을 경우 부정적인 사실이 참이라고 가정된다. 다시 말하면 닫힌세계 가정하에서 어떤 대답은 증명을 발견하지 못하는 결과로서 인정된다.

많은 경우 닫힌세계 가정은 적절하다. 왜냐하면 오직 긍정적인 지식만을 명확하게 표현하고 부정적인 사실의 참을 초기화로 가정하는 것이 자연스럽기 때문이다. 닫힌 세계 가정을 비행기 운행 스케줄의 예를 통해 설명해 보자. 가령 비행 횟수와 비행하는 도시들을 표현하는 비행기 운행 스케줄을 위한 데이터 베이스가 있다고 해보자. 비형식적으로는 이 데이터베이스 (database) 에 상업적으로 운행 가능한 모든 비행 항로를 적어둘 수 있을 것이다. 그러나 우리는 모든 비행기 운행과 그 운행에 의해 연결되지 않는 도시들을 데이터 베이스에 포함하길 원하지 않을 것이다. 이유는 그 정보의 양이 대단히 많을 것이기 때문이다. 예를 들어, 대한 항공 707 은 런던과 파리를 연결하지 않으며 토론토와 몬트리올을 연결하지 않으며, 동경과 아테네를 연결하지 않는다. 명확하게 표현해야 할 부정적인 정보의 양은 너무나 많다. 이것은 실제 데이터 베이스에서 참일 것이다.

데이터 베이스는 그런 부정적인 정보를 명확하게 표현하는 대신, 닫힌 세계 가정에 의해 부정적인 정보를 암묵적으로 표현한다. 닫힌 세계 가정은 모든 관련된 긍정적인 정보가 명확하게 표현되었다는 것을 말한다. 만일 긍정적인 사실이 데이터 베이스에 명확하게 표현되지 않는다면 그 부정이 참이라고 전제된다. 따라서 A 도시에서 B 도시로의 비행기 운행에 관한 정보가 없다면 그런 비행은 존재하지 않는다. 즉 반대되는 정보가 없다면 A 도시로부터 B 도시로의 비행기 운행은 없다고 가정할 수 있다. 우리가 여행사 직원에게 오쉬코쉬 (Oshkosh) 에서 민스크 (Minsk) 로 가는 항공편에 대해 물었을 때, 그는 자신의 비행기 운행 데이터 베이스에는 그런 항공편이 언급되지 않았으며 자신이 가진 정보로는 그런 항공편이 있다는 것을 증명할 수 없다고 대답한다. 그러므로 부정은 증명할 수 없음으로 간주된다. (Negation is treated as a failure to prove).

우리는 일상생활에서 수많은 문제에 직면한다. 그런데 우리가 직면한 문제상황을 정확하게 표현하기는 불가능하다. 이 경우 지식의 무가가 필요한데 그것은 비단조논리적인 부가이어야 한다. 맥카시는 비단조 추리가 필요한 이유를 설명하기 위해 선교사와 식인종 예를 사용하였다.

세 사람의 선교사와 세 명의 식인종이 강가에 있다. 두 사람이 탈 수 있는 노를 젓는 보트가 있다. 강가 어느 쪽에든 식인종이 선교사보다 많으면 선교사는 잡아먹힐 것이다. 그들은 어떻게 강을 건널 것인가?

이 문제에 접한 사람들은 보트를 저어서 모두 무사하게 강을 건너게 하고 불행을 피하는 전략을 고안하려고 할 것이다. 그런데 어떤 사람에게 문제를 주었는데 그가 잠시 생각한 후에 강 위로 1 마일 올라가서 다리를 건너간다는 제안을 하였다고 해보자. 이에 대해 나는 다음과 같이 말할 것이다. "무슨 다리냐? 그 문제의 표현에는 다리가 언급되지 않았다." 그러나 그 바보는 "너는 다리가 없다고 말하지 않았다." 라고 대답할 것이다. 이에 대해 다리가 없다고 말하지 않은 것을 인정하고, 나는 다리가 배제하도록 문제를 수정한다. 그 바보에게 그 문제를 다시 주었다. 그는 헬리콥터를 제안한다. 헬리콥터를 배제하였더니 이번에는 그가 날개 달린 말을 제안한다.

그가 정상적인 자세로 그 문제를 풀도록 만드는 것에 지쳐서 나는 그에게 해결책을 알려 주었다. 이에 대해 그는 그 보트에 물이 세거나 노가 없을 수 있다는 이유로 나의 해결책을 공격한다. 나는 다시 문제의 표현에 생략된 부분을 보충하지만, 그는 바다 공룡이 강을 헤엄치거나 보트를 삼킬 수 있다는 지적을 한다. 나는 이제 그가 꼼짝 못하는 추리 양식을 찾는다. 아무리 그 바보에 대해 분노하더라도 보트를 이용하지 않고 강을 건너는 방법은 없으며 그 보트에는 이상이 없다고 그 문제를 표현하는 것은 문제를 지나치게 규정하는 것이다.

문제 해결에 직면한 관찰자에게 어떤 정보가 유용하며 그 정보로부터 어떤 결론을 이끌어 내는가하는 문제는 인식론적으로 매우 중요하다. 여기에서 맥카시의 관심은 추리의 정확성이다. 그런데 인간의 모든 추리가 형식논리로 담겨질 수 있는 것은 아니다. 문제의 표현은 많은 것을 생략하고 있다. 여기에서 우리가 상식을 동원해야 한다는 것을 맥카시는 지적하고 있다. 위의 문제에서 보트에 이상이 없으며 보트 사용을 방해하는 그 외의 다른 것이 없다면 강을 건너기 위해 보트가 사용될 수 있다는 것은 상식적 지식의 일부분이다. 따라서 노가 없을 수 있는 가능성은 강을 건너기 위해 보트가 사용될 수 있다는 사실에 의해 배제된다.

우리가 보트 등에 대한 상식적 사실과 문제의 진술을 고찰해 보면 다리나 헬리콥터가 없다고 결론내릴 수 있다. 다리가 있느냐 없느냐하는 문제는 논리의 문제가 아니라 사실의 문제이다. 만일 편리한 다리가 있고 그 다리가 형식적인 문제표현에 포함되지 않았다면 그 문제 표현은 문제에 대한 정확한 기술이 아니다. 문제를 정확하게 표현하기 위해, 다리가 없으며 헬리콥터가 없다는 식으로 없는 모든 것들을 명제로 표현할 필요는 없다고 사이먼은 말한다. 우리는 우리가 직면한 상황에서 그 상황에서 어떤 것이 참이고 참이 아니냐 하는 것은 논리의 문제가 아니고 사실의 문제이다.

맥카시는 문제 진술에 명확하게 표현되지 않은 상식적 지식을 문제 해결자가 공급해야 한다고 주장한다. 그 지식은 우리가 취하는 입장과는 무관하게 문제 해결에 필요하다. 문제 표현을 위해 제공되야 하는 상식적 지식은 경험적 지식이며, 고려 중인 문제 영역에 특수한 지식이고, 경험적 지식이 변화할 때 수정되어야 한다. 그러나 이 지식은 명확한 명제의 형태로 제공될 필요는 없다. 이렇게 불완전한 지식에 기초하여 추리하는 것이 우리의 일상적인 추리이며 상식적인 추리이다. 이런 상식적 추리를 비단조 논리가 잘 반영하고 있다. 그리고 비단조논리의 이런 형식이 없으면 상식적인 사실을 일상언어로 표현하기가 어렵다.

2. 승계 추리

승계추리 (inheritance reasoning) 는 초기화에 의해서 집합의 전형적인 성질을 표현한다. 변화에 대한 추리에서 초기화는 관련된 변화가 없는 경우 불변하는 성질의 경향을 표현한다. 전형적으로 새는 난다. 따라서 임의의 어떤 새가 날지 못한다는 것을 알지 못하는 한, 그 새가 날 수 있다고 초기화에 의해 추리할 수 있다. 이 경우는 우리는 대상의 전형적인 성질을 진술하는 기술을 필요로 한다. 이런 추리는, 문제의 성질이 구체적으로 무시되지 않는 한, 하위집합이 상위집합의 성질을 승계받는 분류적 계층에 적용된다.

나는 새 (flying bird) 에 대한 예는 초기화의 계층을 다루는 일에 확장될 수 있다. 대부분의 새는 난다. 타조는 대부분 날지 못하는 새의 특별한 종류이다. 크립톤 (Krypton) 이라는 행성으로부터 온 타조는 대부분 날 수 있는 특별한 종류의 타조이다. 우리는 그 계층을 다른 방향으로 확장할 수 있다. 동물은 대부분 날지 못한다. 그러나 새는 대부분 날 수 있는 특별한 종류의 동물이다.

그림 A

그림 A 는 간단한 승계 (inheritance) 네트워크를 묘사한다. 그 네트워크는 두 가지 형태의 고리를 포함하고 있다. → 는 한 집합이 다른 집합의 하위집합임을 주장한다 (새는 나는 동물이다).   는 한 집합이 다른 집합의 보집합의 하위집합임을 주장한다 (펭귄은 나는 동물이 아니다). 집합들은 다르게 상세화되지 않는 한, 그들의 하위집합의 성질을 승계하는 것으로 간주된다. 예를 들어, 트위티는 새들의 하위집합이기 때문에 트위티는 새들로부터 '난다' 는 성질을 승계받는다고 말한다. 비슷하게 펭귄은 '동물' 이라는 성질을 승계받는다. 반면에 펭귄으로부터 '난다' 의 부정으로의 고리는 새로부터 '난다' 의 고리보다 더 상세화되었기 (펭귄 → 새 → 난다의 승계 길을 무효화하기) 때문에 펭귄은 '난다' 는 성질을 승계받지 않는다.

그러한 계층이 관심을 끄는 이유는 그 계층이 매력적인 전산적 성질을 가졌기 때문이다. 가령 우리는 프레드가 타조라는 이야기를 들었는데 프레드가 나는지를 알고자 한다고 가정해 보자. 타조는 날 수 없다는 취지의 명확한 진술을 우리가 갖고 있으므로 프레드는 날 수 없다는 결론을 즉각적으로 내릴 수 있다.

다시 우리는 프레드가 날개를 갖고 있는지를 알고자 한다고 해보자. 우리의 데이터베이스는 당연히 다음과 같이 말할 것이다. 동물들은 일반적으로 날개가 없지만 새들은 날개를 가진 특별한 종류의 동물이다. 타조가 날개를 가졌다는 것에 대해 어느 것도 명확하게 말하지 않는다. 그러나 타조는 새이므로 타조는 그런 성질을 조류로부터 승계받을 수 있다. 프레드가 날개를 가졌는가를 결정하기 위해서는 앞의 첫 번째 대답으로 돌아가 계층을 따져보기만 하면 된다. 또 프레드가 짖을 수 있는가를 알고자 한다면 모든 동물들의 집합을 따져 보아야 할 것이다. (개를 제외한) 동물들은 일반적으로 짖지 않으므로 프레드도 짖지 않는다고 우리는 결론내린다.

승계 추리 (inheritance reasoning) 는 비단조적이다. 왜냐하면 새인 펭귄이 날지 않더라도 새들은 난다고 가정하기 때문이다. 따라서 그 이상의 정보는 결론의 철회를 초래할 수 있다. 승계 추리는 비단조 추리의 다른 측면을 나타낸다. 이런 측면은 초기화 추리가 해결해야 할 부분인데, 이 경우는 일반적인 초기화보다 더 구체적인 초기화가 선호된다는 사실이다.

예를 들어 우리의 신념은 분류적 계층을 정의하는 다음과 같은 정식을 포함한다.

위의 정식에 대상의 성질 일부를 기술하는 언명을 포함시키자. 새를 제외한 어떤 사물도 날 수 없다. 타조를 제외한 모든 새는 날 수 있다. 나는 타조 이외에 어떤 타조도 날 수 없다.

위에서 규칙 b 는 예외적인 경우들을 지적해야 한다. 즉 타조 이외의 날지 못하는 새들인 펭귄이나 아기 새들을 지적해야 한다. 상식적인 추리체계는 다른 일반적인 예외를 알아야 한다. 물론 알려진 모든 예외를 지적하는 일은 대부분 가능하다. 그러나 우리는 규칙 b 가 가질 수 있는 모든 예외적인 경우를 모두 지적할 수는 없다. 이런 예외적인 경우를 지적하는 대신 새들이 어떤 측면에서 비정상적이지 (abnormal) 않다면 새들은 (전형적으로) 날 수 있다고 말할 수 있게 해주는 어떤 테크닉을 선호하게 된다. 비슷하게, 사물이 다른 측면에서 이상하지 않다면 -- 새나 비행기나 모기가 아니라면 -- 사물은 (전형적으로) 날 수 없다는 말을 하고 싶어 한다. 이런 예외의 계층은 다양한 종류의 이상함을 취급해야 한다.

위 규칙은 모든 사물은 형태 1 의 비정상성을 갖고 있지 않는 한, 날 수 없다고 진술하고 있다. 그러나 새들은 형태 1 의 비정상성을 갖고 있는 사물들이다.

우리는 이 규칙을 승계 취소 규칙 (inheritance cancellation rule) 이라고 부른다. 앞에서 모든 새는 사물이다 (Bird (x) ⇒ Thing (x)) 는 규칙은 새가 사물의 특성을 승계받는다는 결론을 내리는데 사용된다. 그러나 위의 최소규칙은 특정한 성질의 승계를 막는다. 예외를 다루는 이런 방법의 중요한 특징은 비정상성 (abnormality) 에 대한 부가적인 공리가 어느 경우든 부가될 수 있다는 점이다. 나는 대상 (flying object) 에 대한 새로운 지식은 신념집합에 공리를 부가함으로써 표현될 수 있다.

대부분의 새는 날 수 있지만 날지 못하는 새들이 있으므로 다음과 같은 규칙을 얻을 수 있다.

여기에서 술어 Ab2 는 비정상성의 한 형태이다. 이 비정상성을 새들이 가질 경우 그 새는 날지 못한다. 타조는 그 비정상성을 가진 새이다. 그래서 우리는 다음과 같은 취소 규칙을 갖는다.

일반적으로 타조는 날 수 없다. 이것은 다음과 같은 규칙으로 표현된다.

여기에서 술어 Ab3 는 또다른 비정상성의 형태이다. 이런 비정상성을 가진 타조는 날 수 있다. 즉 나는 타조는 이런 비정상성을 가진 타조이다.

종합적으로 우리는 다음과 같은 정식을 얻을 수 있다.

위 정식은 다음의 그림 B 로 표현된다.

그림 B

승계 추리의 경우를 고려해 보자. 의사가 환자의 병을 진단할 때 부모의 병을 물어서 진단하는 경우는 승계 추리이다. 가령 운동 선수인 송 성일 선수는 위암으로 죽었다. 그런데 그의 어머니도 위암으로 고생하고 있다. 따라서 부모가 어떤 병을 앓았던 경우 자신도 다른 어떤 병보다도 그런 병을 앓을 수 있다고 생각하는 것이 합리적이다. 한 자동차 회사의 A 형 자동차는 브레이크에 커다란 결함을 갖고 있다고 알려져 있다. 어떤 사람이 그 자동차 회사의 A 형 자동차를 샀다면 그 사람은 자동차의 브레이크에 결함이 있을 가능성을 고려하는 것이 합리적이다. 가령 어떤 나라로부터 수입된 쇠고기에서 발암 물질이 검출되었다고 하자. 그 경우 그 나라로부터 수입된 쇠고기는 발암물질을 갖고 있는 것으로 간주하는 것이 합리적이다. 그러나 반드시 그렇지는 않기 때문에 승계추리는 비단조적이다.

3. 비단조논리적인 신념수정

앞에서 살펴본 바대로 모든 경우를 고려하는 행위보다 전형적인 경우를 고려하는 행위가 합리적이다. 그러나 전형적인 경우를 고려하고 모든 경우를 고려하지 않기 때문에 그리고 전형적인 경우가 전형적이지 않은 경우로 판명날 수 있기 때문에 기존의 신념을 수정해야 할 경우가 생긴다. 신념을 형성하는 것도 중요하지만 새로운 정보에 따라 적절하게 신념을 수정하는 것이 합리적이다.

의사가 환자의 질병을 치료하면서 우선은 전형적인 진단을 한다. 가령 이런 증상을 가진 경우 어떤 병이라고 진단할 수 있으며 저런 증상을 보일 경우 다른 병이라고 진단할 수 있다. 그러나 전형적인 진단이 반드시 적중하는 것은 아니기 때문에 계속되는 진단에 의해 새로운 증상이 발견되면 의사는 이전의 결론을 수정해야 한다.

불완전한 정보에 기초하여 의사결정을 하는 체계에서 행위의 기초가 되는 한 신념은 다른 신념의 부재에 의존하게 된다. 그러나 다른 신념이 믿어지면 기존의 신념은 믿어줄 수 없게 된다. 이런 종류의 행위는 비단조적이라 불린다. 이 경우 기존 신념과 다른 신념 사이에 모순이 발생하게 되며 신념은 수정되어야 한다.

우리가 비단조적으로 추리하다 보면 모순에 직면하게 된다. 신념수정은 모순된 정보를 포함할 수 있는 지식토대 안에서 추리가 진행될 때 중요하다. 새로운 정보의 출현에 따라 신념 수정의 문제를 다루는 것이 신념수정체계 (belief revision system) 이다. 신념수정체계는 모순을 다루는 인공지능 프로그램이다. 신념수정체계는 지식토대의 일부분만을 고려할 수 있으며 그 집합으로부터 추리를 진행하다가 모순이 발견되면 그 집합을 다른 집합으로 바꾸며 (신념을 수정하며) 새로운 집합에 포함되지 않는 모든 명제를 무시한다.

모순을 다루는 전통적인 방식은 최근에 이루어진 의사결정을 변경시키는 것이다 (chronological backtracking). 다른 방식은 가장 최근에 이루어진 선택을 변경하는 것이 아니라 예기치 않은 조건을 야기한 가정들을 변경하는 것이다 (dependence-directed backtracking). 두번째 방식은 인공지능 분야에 많은 연구를 내놓았으며 그것은 신념수정 (belief revision) 이라고 불린다. 신념수정은 새로운 정보가 기존의 정보와 모순을 일으킴이 발견되었을 때 일련의 신념을 수정하는 문제를 다루는 인공지능 연구분야이다. 신념수정의 연구주제는 신념표현에 연구, 특히 신념의존 개념을 표현하는 방법, 모순을 야기한 신념의 집합을 선택하는 방법의 개발, 원래의 신념집합으로부터 일련의 신념을 제거하는 기술의 개발 등을 포함한다.

신념수정체계는 지식토대 (knowledge base) 를 가지고 지식토대 안의 명제들로부터 추리를 한다. 프로그램은 지식토대 안의 정보를 조작한다. 대부분의 조작은 지식토대 안의 정보로부터 이끌어 낸 추리로 구성된다. 그리고 모든 추리는 지식 토대에 부가된다. 일반적으로 신념수정체계는 대안을 탐구하고 선택을 하며 그 선택의 결과를 탐구하면서 다른 선택을 하였을 때 얻어지는 결과들을 비교한다. 이 과정 중에 모순이 발견되면 신념수정체계는 지식토대를 변경하여 (즉, 일부 명제들을 배제하여) 그 모순을 제거한다. 신념수정체계가 다른 명제들의 집합을 고려할 때 신념수정체계가 신념을 변경한다고 말한다.

신념수정체계는 지식토대 안의 각 명제가 어떻게 얻어졌는가를 기록해야 한다. 명제의 기원을 기록하는 방식에는 두 가지가 있다. 첫째는 정당화에 기초한 체계 (justification-based system) 로 도일 (Doyle), 맥칼레스터 (McAllester), 맥더모트 (McDermott) 등이 주장한다. 정당화에 기초한 체계에서, 각 명제의 지지는 그 지지를 직접적으로 야기한 명제들을 포함한다. 둘째는 전제에 기초한 체계 (assumption-based system) 로 마틴스 (Martins), 샤피로 (Shapiro), 완드 (Wand), 드클리어 (de Kleer) 등이 주장한다. 전제에 기초한 체계에서, 각 명제의 지지는 그 명제를 산출한 가설들 (도출되지 않은 명제들) 을 포함한다.

이제 예를 들어 보자. 지식토대가 다음의 명제들을 포함한다고 해보자.

지식토대에 Man (Fred) 을 부가하면 Person (Fred) 가 도출되며 다시 Human (Fred) 가 도출될 것이다. Human (Fred) 을 부가하면 Person (Fred) 가 재도출된다.

전제에 기초한 체계에서 각 명제의 지지는 그 명제를 산출한 가설을 포함한다. Person (Fred) 이 ∀ (x) [Man (x) → Person (x)] 와 Man (Fred) 에 의해 도출되면 Person (Fred) 은 이 가설들에 의해 지지된다. 즉, 그 지지는 Man (Fred) 과 ∀ (x) [Man (x) → Person (x)] 이다. Human (Fred) 가 도출되면 그것은 ∀ (x) [Person (x) → Human (x)] 와 Person (Fred) 에 기초되는 가설에 의해 지지받는다. 그것은 Man (Fred), ∀ (x) [Man (x) → Person (x)], ∀ (x) [Person (x) → Human (x)] 에 지지받는다. 유사하게, Person (Fred) 가 다시 도출되면 그것은 Man (Fred), ∀ (x) [Man (x) → Person (x)], ∀ (x) [Person (x) → Human (x)], ∀ (x) [Human (x) → Person (x)] 에 의해 지지받는다.

신념수정체계의 중요한 문제는 모순을 야기할 수 있었던 모든 명제들을 확인하는 것이다. 이것은 두 가지 이유에서 중요하다. 첫째로, 우리는 모순과 무관한 전제들을 원인으로써 비난하지 말아야 하기 때문이다. 둘째로, 우리는 모순에 대해 책임있는 전제들을 찾을 때 모순에 대해 책임있을 수 있는 전제들을 빠뜨리지 말아야 하기 때문이다. 이런 점 때문에 신념 수정체계는 지식토대 안의 각 명제가 어떻게 얻어진 것인가를 기록해야 한다. 이 기록들은 모순의 원인을 찾을 때 조사된다. 지식토대 안의 모든 명제에 관련하여, 각 명제가 어떻게 얻어진 것인가를 말해주는 일련의 집합 -- 명제에 대한 지지라고 불리는 집합 -- 이 있다.

모순의 원인을 선택한 후에 신념수정체게는 모순의 원인을 포함하지도 않고 그 모순으로부터 도출된 어떤 명제도 포함하지 않는 일련의 명제를 고려한다. 다시 말하면 신념을 수정한다. 더 나아가 일련의 명제들을 고려한 다음에 신념수정 체계는 지식토대에 남아있을 수 있는 다른 모든 명제들을 무시한다.

신념수정의 문제를 다루기에는 비단조논리가 적합하다. 비단존노리는 새로운 정보가 결론을 철회시키는 문제를 다룬다. 새로운 정보가 이전의 결론을 대체하는 것을 허락하기 위해서는 신념에 대한 비단조적 추리를 사용해야 한다. 새로운 정보가 야기한 모순을 다루거나 이전의 결론의 수정에 이르는 새로운 정보의 현상을 다루는 데에 단조논리는 부적절하다. 인공지능 연구자들은 새로운 정보가 계속 유입되는 문제에 부닥친다. 따라서 변화에 따른 합리적인 신념수정 문제는 비단조적인 방식으로 취급되어야 한다.

예를 들어 보자. 윌리엄은 창문을 내다 보며 정원에서 자신의 딸과 놀고 있는 소녀가 어제 만났던 소녀 코니라고 믿었다. 나중에 윌리암은 코니에게 일란성 쌍둥이인 로라가 있다는 것을 알게 되었다. 이러한 새로운 정보가 부가됨으로써 정원에서 딸과 같이 놀던 소녀에 대한 자신의 신념은 수정되게 된다. 그러나 윌리암은 자신의 신념의 최초 정당화가 어떤 잘못된 신념에 근거하고 있다고 생각할 필요가 없었다. 자신은 어제 만났던 소녀 코니에 대한 지각을 갖고 있으며 창문을 통해 내다본 소녀에 대한 지각이 어제 만났던 코니에 대한 지각과 일관성이 있는 한 자신의 신념은 타당하기 때문이다. 또한 그는 코니가 쌍둥이를 갖고 있을지도 모른다고 생각할 필요는 없었다. 왜냐하면 윌리암은 그 때까지 코니가 쌍둥이를 갖고 있다는 사실을 듣지 않았기 때문이다. 그러나 코니에게 쌍둥이가 있다는 것을 알고 난 지금 윌리암은 자신이 보았던 소녀에 대한 지각현상이 객관적으로 믿을 만한 것이 아니라고 생각하였다. 그러므로 자신의 초기 신념은 잘못된 지각현상에 근거하고 있기 때문에 주관적으로 정당화되었다고 생각한다.

위의 예에서 우리는 비단조적인 추리가 적용되는 것을 알 수 있다. 윌리암은 초기 신념 상태에서 코니가 딸과 함께 정원에서 놀고 있다고 결론내렸다. 그러나 새로운 정보를 얻고나서 그는 그런 결론을 수정하였다. 그러나 초기의 증거는 결론을 내릴 당시 완전히 적합하였다. 이런 예에서 알 수 있듯이 새로운 정보가 부가되어 원래의 신념이 유지되지 못할 경우 (원래의 신념이 수정될 경우) 행위자는 비단조적으로 추리한다는 것을 알 수 있다.

우리의 신념이 합리적이라고 말하는 것은 그 신념을 유지하기에 수락가능한 이유가 있다고 말하는 것이다. 따라서 합리적 사유는 수락가능한 이유를 찾는 과정이다. 행위자가 어떤 목적을 갖더라도 그 목적은 신념의 이유를 구성하는 과정을 통해 진행된다. 어떤 행위가 취해지는 것은 그 행위의 이유가 행위자의 신념이나 욕구에 의해 발전될 수 있기 대문이다. 우리의 행위는 현재의 신념에 기초하여 이루어지는데, 시간이 지남에 따라 새로운 정보가 들어와서 이전의 신념은 과거의 신념이 된다. 우리의 신념은 비단조적으로 수정된다. 우리는 현재의 신념을 계속해서 새롭게 해야 한다.

완전한 정보가 없는 가운데 예측하는 노력과 거짓으로 밝혀진 예측을 수정하고 설명하는 능력이 필요하다. 이런 두 가지 측면은 일상생활에 고착되어 있어서 대부분의 행위가 부분적인 정보와 임시적인 신념에 기초하여 선택된다는 것을 우리는 보통 잊어 버린다.

4. 비단조논리적인 행위설명

(1) 법칙과 초기화 규칙 (default) 의 차이

헴펠의 행위설명모델은 포괄법칙 모델이다. 헴펠은 행위자가 합리적인 인간임을 가정하고, 행위자가 처한 상황에서 규범적 합리성을 법칙으로 표현하여 그 법칙에 의해 행위를 설명한다. 이에 대해 필자는 비단조논리적인 대안으로써 초기화 규칙에 의한 행위설명 모델을 제시한다.

헴펠의 행위설명 방식과 비단조논리적인 행위설명 방식의 중요한 차이는 법칙과 초기화 규칙의 차이이다. 즉 헴펠은 법칙에 의해 행위를 설명하는 반면 비단조논리는 초기화 규칙에 의해 행위를 설명한다. 법칙과 초기화 규칙의 차이를 비교하여 살펴 보기로 한다.

법칙은 경험적 일반화이다. 법칙의 예는 "모든 새들은 난다" 이다. 그러나 법칙은 에외적인 경우를 배제한다. 가령 어린 새나 날개 잃은 새나 펭귄이나 타조 등은 날지 못하는 새이다. 여러 가지 예외적인 경우 때문에 법칙은 타당하지 않게 된다. 이에 대해 제시할 수 있는 대안은 확률법칙이다. 모든 새가 나는 것은 아니고 새라면 그것은 나는 확률이 높다는 것이다. 초기화 규칙도 경험적 일반화이다. 법칙은 모든 경우를 고려하는 경험적 일반화이지만 초기화 규칙은 전형적인 경우를 고려하는 경험적 일반화이다. 예를 들면 "전형적으로 새는 난다" 이다. 그러나 타조나 펭귄이나 어린 새는 날지 못하는 예외적인 경우이다. 초기화는 전형적인 경우에 기초하여 결론을 내리는 것으로 끝나지 않는다. 전형적인 경우가 전형적이지 않은 경우로 판명나거나 전형적인 경우 이외에 예외적인 경우가 새로운 정보로서 부가되면 기존의 결론은 수정된다. 초기화는 반대되는 정보가 없는 한에서 유지될 수 있는 결론을 도출하는 것도 중요시하지만 예외적인 경우나 새로운 정보에 의해 기존의 결론을 수정하는 것도 중요시한다.

법칙은 보편타당하다. 법칙은 모든 상황에서 적용되기 때문에 보편타당하다. 법칙은 구체적인 시간과 장소를 초월해서 어느 경우에도 적용되는 보편 타당성을 추구하지만, 구체적인 상황에 처한 행위자에게 실질적으로 도움이 안된다. 법칙은 시간을 배제하며 진리보존적인 성격을 갖고 있다. 따라서 시간 변화에 따른 행위의 설명에 한계를 갖고 있다. 법칙은 예외적인 경우를 고려하는데 한계를 갖고 있기 때문에 법칙에 기초한 헴펠의 모델은 변화에 대처하기가 어렵다. 초기화 규칙은 기존 지식과의 일관성에 기초하여 결론을 얻는데 도움을 주는 규칙이다. 따라서 비단조 논리는 상황의존적이며 시간-의존적인 모델 (time-dependent model) 이다. 비단조 논리는 구체적인 상황을 중요시한다. 법칙이 형식논리라면 초기화 규칙은 상황논리이다. 그리고 초기화에 기초하여 얻어진 결론은 잠정적으로 참이며 시간이 지나 새로운 정보가 부가되면 새로운 결론이 도출된다. 초기화에 기초한 비단조 논리는 신념수정체계를 갖고 있다. 초기화 규칙에 기초한 비단조 논리는 기존정보와 모순되는 정보에 접했을 경우 처리하는 메카니즘이 있다. 따라서 변화하는 상황에 대처할 수 있다.

법칙과 초기화 규칙은 조건으로 해석될 수 있다. 법칙은 어떤 조건 하에서는 항상 일정하게 행위한다고 말한다 (if p, then q). 그러나 항상 그렇게 행위하지는 않는다. 그렇게 행위할 확률이 높다고 (또는 있다고) 말한다. 따라서 법칙에 의한 행위설명은 확률적인 계산이다. 초기화 규칙도 조건으로 해석된다. 초기화 규칙은 어떤 조건 하에서는 보통 일정하게 행위한다고 말한다 (if p, then normally q). 초기화 규칙에 의한 행위설명은 비확률적인 계산이다. 앞에서도 살펴 보았지만 확률적인 추리보다는 비확률적인 추리가 바람직한 경우가 많다. 맥카시의 기여는 확률 계산을 대신하는 비확률적인 대안을 제시한 것에 있다.

(2) 비단조 논리적인 행위설명

비단조 논리에서 초기화는 충돌하는 증거가 없는 경우에 일련의 신념을 확장하기 위한 규칙으로 간주된다. 그러나 필자는 초기화 규칙을 설명 개념으로 해석하고자 한다. 초기화 규칙은 기대를 표현한다. 가령 나는 지난 밥에 아파트 주차장에 자동차를 세워놓았다. 나는 아침에 일어나서 자동차를 타고 회사에 출근하고자 한다. 이 경우 나는 여러 가지 기대를 하고 있다. 자동차 키는 내 호주머니에 있으며 자동차는 지난 밤에 주차한 곳에 주차되어 있으며 자동차는 시동을 걸 경우 엔진이 걸릴 것이며 회사까지는 30 여분이 걸릴 것이며 등등. 그런 기대는 초기화 규칙에 의해 유지된다. 그러나 그런 기대는 깨질 수 있다. 자동차 키는 내 호주머니에 있지 않을 수 있으며 자동차는 다른 곳에 주차해 있을 수 있으며 무슨 이유 때문에 자동차의 시동이 걸리지 않을 수 있으며 회사까지 가는 동안에 사고를 당할 수 있으며 아니면 훨씬 많은 시간이 걸릴 수 있다. 이렇게 기대가 실패한 것은 초기화의 위반이다.

초기화 규칙 위반은 기대실패를 나타낸다. 초기화 추리는 기대실패를 최소화하는 일과 관련되어 있다. 모든 기대 실패는 설명되는 기대실패와 설명되지 않는 기대실패로 구분할 수 있다. 초기화 추리는 설명되지 않는 기대 실패를 최소화하는 작업이다. 모든 상황에는 많은 초기화가 있다. 보다 좋은 초기화 규칙을 선택함으로서 상황이 더 잘 설명된다. 초기화에 의한 추리는 잘못된 논증을 지지하는 수가 있다. 그러므로 좋은 초기화 규칙과 나쁜 초기화 규칙을 구별해야 한다.

초기화 이론은 T = <K, E> 이며 두 부분으로 되어 있다. K 는 배경지식의 맥락이며 일반적인 지식을 포함한다. E 는 증거 집합이며 문제의 상황에서 구체적인 정보를 포함한다. 다시 말하면 K 는 적절한 규칙을 포함하고 E 는 적절한 사실을 포함한다. 가령 "새들은 난다, 펭귄은 날지 않는다" 에서 K 는 "펭귄은 새이다", "새들은 나다", "펭귄은 날지 않는다" 이다. E 는 "트위티는 새이다", "팀 (Tim) 은 3 파운드이다" 이다.

초기화 이론의 배경적 맥락 K = <L, D> 은 두 부분으로 이루어져 있다. 일련의 문장 L 과 일련의 초기화 규칙 D 이다. 초기화 규칙은 p → q 형식의 표현으로 되어 있는데, p, q 는 L 안의 문장을 나타낸다. 여기에서 p, q 는 초기화 규칙 전건과 초기화 규칙 후건으로 불리어진다. 그 의미는 "if p, then normally q" 이다. 따라서 dog (fido) → can-bark (fido) 는 "보통 피도가 개라면 피도는 짖을 수 있다" 를 의미한다.

예를 들어 보자. 우리는 아침에 일어 나서 출근하기 위해 자동차를 운전하고자 했다. 그러나 자동차에 타서 자동차의 시동을 걸었을 때 시동이 걸리지 않았다. 점검해 본 결과 배터리가 고장났다. 우리는 지난 밤에 자동차 등을 켜 놓았다는 것을 알았다. 지난 밤 자동차의 등을 켜놓았기 때문에 그 배터리는 고장날 가능성이 있다. 위의 예에서 다음과 같은 초기화 규칙이 있을 수 있다.

E = {lights-were-on, turn-key} 를 가진 T = <K, E> 는 다음과 같은 세 가지 집합 C1, C2, C3 을 갖는다. Ci 는 초기화 규칙 i 를 위반하는 모델의 집합을 나타낸다. 초기화 규칙 2 는 초기화 규칙 1 보다 더 높은 선호도를 갖기 때문에 C1 안의 모델은 C2 안의 모델보다 선호된다. 그러나 초기화 규칙 1 과 초기화 규칙 3 사이에는 선호도의 차이가 없으므로 C1 과 C3 안의 모델은 동일하게 선호된다. 우리는 배터리가 고장났다고 예측함으로써 자동차가 움직이지 않는 것을 설명할 수 있다.

위의 예에서 세 개의 초기화 규칙은 다음과 같이 정확하게 쓰여질 필요가 있다.

위에서 C 는 설명적 관계를 의미한다. 가령 cold → Cfever 는 추위는 신열을 설명한다는 의미이다. 따라서 초기화 규칙 2' 와 초기화 규칙 3' 에 의해 우리는 배터리가 고장나서 자동차가 움직이지 않는다는 것을 설명할 수 있다.

다른 예를 들어 보자. 가령 김씨는 자동차 운전을 하며 콘크리트 길을 달리다가 커브길에서 전복되는 사고를 당하였다고 하자. 그 사고로 김씨는 병원에 입원하여 치료를 받고 있다. 김씨는 자신이 술을 먹지 않았으며 졸지도 않았으며 빨리 달렸지만 과속으로 달리지 않았다고 말한다. 김씨 자신도 사고가 난 이유를 모르고 있다. 적절하다고 알려진 사실은 운전자 김씨가 충분히 경계하고 있었다는 사실과 김씨가 정상속도로 달렸다는 점이다. 우리는 운전자 김씨가 충분히 경계하고 있었고 정상 속도로 달렸지만 커브길이기 때문에 운전미숙으로 전복되었다고 설명할 수 있다 (설명 1). 그러나 김씨는 몇 년 동안 무사고로 운전을 하고 있으며 그 커브길은 그렇게 위험하거나 사고가 많은 커브길은 아니었다. 김씨는 자동차가 오래 되어서 브레이크 고장으로 사고가 났다고 생각하고 있다. 즉 김씨는 커브길에서 브레이크를 밟았지만 브레이크가 제대로 작동을 하지 않아 자동차가 전복되었다고 설명하고 있다 (설명 2). 그러나 부숴진 자동차를 검사해 보았지만 커브 길 위에 모래가 있었다는 새로운 사실이 발견되었다고 해보자. 우리는 원래의 설명을 다음과 같이 변형시킬 수 있다. 운전자가 충분히 경계하고 있었고 자동차가 정상속도로 달렸으며 커브 길위에서 브레이크를 밟았지만 커브길 위에 모래 때문에 자동차가 전복하였다 (설명 3). 원래의 설명은 불완전하더라도 정확하다고 할 수 있다. 위의 세 개의 설명에서 사용된 초기화 규칙은 다음과 같다.

그러나 위의 초기화 규칙 1 에서 다른 원인이 아니라 운전미숙이 사고를 일으키고, 초기화 규칙 2 에서 바로 자동차 브레이크 고장이 사고를 일으키고, 초기화 규칙 3 에서 바로 노면상태 불량이 사고를 일으켰다면 초기화 규칙 3 에서 바로 노면상태 불량이 사고를 일으켰다면 초기화 규칙은 다음과 같이 정확하게 쓰여져야 한다.

위의 설명에서 설명 1 과 설명 2 와 설명 3 에서 사용한 초기화 규칙들은 모두 타당하며 그 초기화 규칙에 의한 설명도 역시 타당하다. 그러나 시간이 지남에 따라 새로운 정보가 발견될 경우 설명은 비단조논리적으로 수정된다. 최종적으로는 초기화 규칙 3 에 의한 설명 3 이 타당하지만 설명 2 도 설명 2 가 이루어지는 그 시점에서 타당하다고 할 수 있다.

결과적으로 covering law model 과 covering default model 은 보완적인 모델이지만 차이는 분명히 있으므로 적용영역이 다르다고 할 수 있다. 헴펠의 covering law model 에서 합리적 행위자는 기대효용을 최대화하는 대안을 선택하는 행위자이다. 필자가 제시하는 covering default model 에서 합리적 행위자는 전형적인 대안을 선택하는 행위자이다.

가령 바둑의 예를 들어 보자. 바둑도 시간제한을 하지 않는 바둑 1 과 시간제한을 하는 바둑 2 가 있다. 그 경우 대국자가 왜 그런 행위를 하였는가를 설명할 경우 바둑 1 에서는 covering law model 의 설명이 타당하고 바둑 2 에서는 covering default model 의 설명이 타당할 것이다. 바둑 1 에서는 시간의 제약이 없으므로 대국자 (행위자) 가 충분한 시간을 갖고 많은 대안들을 고려할 것이므로 합리적 행위자는 기대효용을 최대화하는 대안을 선택하는 행위자라고 전제하는 것이 타당하다. 그러나 바둑 2 에서는 시간의 제약이 있으므로 행위자가 충분한 시간을 갖고 가능한 대안을 고려하지 못하고 전형적인 대안을 선택할 것이라고 전제하는 것이 타당하다. 그리고 대국자가 바둑에서 왜 그런 수를 두었는가를 설명할 때 필요한 경험적 일반화 언명은 법칙으로도 표현할 수 있지만 초기화 규칙은 표현하는 것이 용이하다. 그러나 확률법칙으로의 표현이 가능하다.

결국 기대효용이론에 기초한 합리성과 전형성에 기초한 합리성의 차이, 법칙과 초기화 규칙의 차이를 확률론 대 비확률론의 차이로 해석하면 다음과 같이 주장할 수 있다. 물론 전형성에 기초한 합리성에는 기대효용이론에 기초한 합리성의 결과가 들있을 것이다. 그러나 차이를 구별해 보자면 기대효용 이론에 기초한 합리성은 수량적 차원에서 고려한 합리성이고 전형성에 기초한 합리성은 질적 차원에서 고려한 합리성이다. 수량적 차원의 합리성은 분명히 합리적이다. 그러나 수량적 차원의 합리성만 합리성이라고 할 수는 없으므로 질적인 차원의 합리성도 분명 합리성이다.