다중 에이전트

(Multiple Agents)

 

인공지능-지능형 에이전트를 중심으로 : Nils J.Nilsson 저서, 최중민. 김준태. 심광섭. 장병탁 공역, 사이텍미디어, 2000  (원서 : Artificial Intelligence : A New Synthesis, Morgan Kaufmann, 1998), Page 443~455

 

1. 상호작용 에이전트

2. 다른 에이전트의 모델

    (1) 모델의 다양성

    (2) 시뮬레이션 전략

    (3) 시뮬레이션된 데이터베이스

    (4) 의도적 입장

3. 지식의 양상논리

    (1) 양상 연산자

    (2) 지식 공리

    (3) 다른 에이전트의 지식에 대한 추론

    (4) 다른 에이전트의 행동 예측

참고문헌 및 토론

 

 

 

1. 상호작용 에이전트

게임에 대해서 공부했던 12장 적대 탐색을 제외하고 지금까지는 자신의 능력과 목표에 어느 정도 부합되는 환경에서 반응하고, 계획을 수립하고, 추론하고, 학습하는 단일 에이전트 (single agent) 에만 관심을 가져왔다. 다른 에이전트나 프로세스가 미치는 영향은 에이전트의 적절한 반응을 통해 감소시키기나 아예 무시한다고 가정하였다. 하지만 이제부터는 각 에이전트가 계획수립을 할 때 다른 에이전트의 행동을 어떻게 예측할 수 있는지와 자신의 목표를 달성하는 과정에서 에이전트가 다른 에이전트의 행동에 어떻게 영향을 줄 수 있는지를 고려하고자 한다. 다른 에이전트가 어떻게 행동할 지 예측하기 위해서는 한 에이전트가 다른 에이전트를 모델링하는 (model) 방법이 필요하고, 다른 에이전트의 행동에 영향을 주려면 한 에이전트가 다른 에이전트와 통신하는 (communicate) 방법이 필요하다. 이런 내용들이 이 장과 다음 장에서 다루고자 하는 주제이다.

앞으로 에이전트 중심적인 관점 (agent-centric view) 에서 얘기하려고 하는데, 이것은 다른 에이전트나 프로세스를 포함하는 환경에서 행동하는 단일 에이전트 [문맥에 따라 주에이전트 (our agent) 라고 부르기로 함] 의 구조나 목표에 관심을 갖는 것이다. 이제까지의 가정과 달리 다른 에이전트나 프로세스의 행동이 주에이전트에 미치는 영향이 꽤 심각할 수 있는데, 주에이전트의 목표에 도움이 되기도 하고, 중립적이기도 하고, 때로는 불리하게 작용할 수도 있다. 이를 처리하기 위해 여러 에이전트가 공통의 목표를 달성하기 위해 서로의 활동을 조정하는 분산 인공지능 (distributed artificial intelligence, DAI) 의 아이디어에 초점을 맞추는 방법을 택하고자 한다.

이 장과 다음 장의 중심적인 주제로 들어가기 전에, 가장 단순한 형태의 에이전트 상호작용은 다른 에이전트의 모델이나 명시적인 통신을 요구하지 않는다는 것을 강조하고자 한다. 주에이전트는 다른 에이전트에 의해 환경 변화가 발생하거나 그것을 감지했을 때 단순한 반응을 할 수 있다. 이러한 환경 변화를 통해 은연중에 내포되어 있지만 (implicit) 의도하지 않은 (unintended) 에이전트간 통신이 일어날 수 있다. 예를 들어, 다른 에이전트가 블록의 배치를 바꾸게 되면 주에이전트는 이전에는 할 수 없었던 행동을 수행할 수 있게 될 수도 있다. 다른 에이전트에 대한 이런 행동은 실세계를 변화시키는 목표를 달성하고, 주에이전트가 이제 실세계에 대해 행동할 수 있다는 신호를 주에이전트에게 보낸다. 또 다른 에이전트는 주에이전트가 감지할 있도록 음성 신호를 내보낼 수 있다. 다른 에이전트의 입장에서는, 자신의 삐꺽거리는 소리 (squeak) 는 단순히 감지된 환경 상황에 대한 미리 내장된 반응일 수 있다. 하지만 이 삐꺽거리는 소리를 감지한 주에이전트는 어떤 반응을 하게 되고 외부 관찰자는 이 반응이 다른 에이전트가 보낸 의도적으로 계획된 통신에 대한 응답이라고 해석할 수 있다. 에이전트 그룹의 설계자는 반응 신호와 응답을 보내는 시스템을 이용해 에이전트간의 조정을 정할 수 있으며, 이것은 마치 분산 시스템의 설계자가 각 구성요소의 행동을 조정하는 것과 같다.

2장 자극반응 에이전트에서 6장 로봇 시각에 걸쳐 살펴보았던 반응형 기계 (reactive machines) 들이 아주 복잡한 행동을 할 수 있었던 것과 같이 이러한 내재된 통신도 꽤 복잡한 상호작용을 지원할 수 있다. 가르치기나 떼지어 행동하기, 둥지 구축과 같은 동물들의 집단 행동도 이러한 종류인 것 같다 (이에 대한 예제를 보려면 [Mataric 1996, Theraulaz & Bonabeau 1995] 를 참조하라).

2. 다른 에이전트의 모델

(1) 모델의 다양성

주에이전트가 자신의 고유한 계획을 세우고 수행하면서 다른 에이전트나 프로세스의 활동을 염두에 두고자 한다면 그 에이전트나 프로세스의 행동을 예측할 수 있는 모델이 있어야 한다. 에이전트나 프로세스는 물리적인 현상이므로 이들의 연산을 기술하기 위한 공학과 물리학의 언어를 사용할 수 있다. 로봇과 같은 물리적 에이전트의 행동은 구성요소에 대한 전자기계적 (electromechanical) 인 다이어그램에서부터 그들을 제어하는 컴퓨터 프로그램까지 다양한 단계의 상세 정도를 지닌 모델을 이용해서 기술될 수 있다. 물리적인 프로세스의 행동은 미분 방정식에 의해 기술될 수 있다.

AI 연구의 상당한 부분이 물리적 프로세스를 모델링하는 문제를 고려해왔으며, 이러한 작업을 기초 물리학 (naive physics) 또는 정성 물리학 (qualitative physics) 이라고 한다 [Weld & de Kleer 1990]. 정성 물리학은 여러 물리적 현상에 내재된 미분 방정식을 풀기 위해 필요한 정확한 계산 대신에 프로세스 역학 (process dynamics) 의 정성 모델에서 동작하는 근사적인 AI 방식의 추론 방법을 추구한다. 하지만 여기서 이러한 유형의 모델링을 논의하지는 않을 것이며, 다른 에이전트에 대한 고차원 모델에 집중하고자 한다 (사실 많은 물리적 프로세스들이 T-R 프로그램이 지배하는 반응형 에이전트인 것처럼 모델링될 수 있다 (어떤 초보자들은 이 관점을 극단적으로 받아들여 번개나 허리케인, 월식, 지진과 같은 물리적 현상을 초래하는 의도적인 에이전트를 고려하기도 하였다.)).

에이전트 자체가 물리적 프로세스이기 때문에 다른 운용 장치 (engineered device) 처럼 모델링될 수도 있지만 에이전트를 모델링하기 위한 특별한 기법을 사용하는 것이 편리하다. 이 책에서 배운 각양각색의 복잡도를 가진 에이전트를 살펴볼 때 다른 에이전트를 모델링하는 방법이 다양하게 존재할 것이라고 예측할 수 있다. 예를 들어, 주에이전트는 다른 에이전트가 조건을 평가하고 행동을 선택하는 하나의 T-R 프로그램이라고 가정할 수 있다. 다른 에이전트 프로그램의 형태가 어떻든지 주에이전트의 다른 에이전트에 대한 모델은 실체처럼 복잡할 필요는 없으며, 단지 그 모델이 여러 상황에서의 다른 에이전트의 행동을 그런대로 유용하게 예측할 수만 있으면 된다. 혹은 다른 에이전트가 목표를 달성하기 위해 STRIPS 규칙의 집합을 이용해서 계획을 생성하고 이 계획들을 실행시킨다고 주에이전트가 가정할 수 있다. 어떤 경우라도 다른 에이전트가 행동을 선택하기 위해서 그 자신의 내부 환경 모델을 유지하고 사용한다고 가정하는 것이 유용하다. 에이전트의 모델과 그 모델을 이용해서 행동을 선택하기 위한 도구를 합쳐서 인지 구조 (cognitive structure) 라고 한다. 인지 구조에는 종종 그 에이전트의 목표와 의도 (intention) 도 포함된다 (여기서 의도는 에이전트가 주어진 계획에 따라 수행하는 것이 적절하다고 판단되었을 때 실행하기로 결정한 행동을 의미한다). 주에이전트는 다른 에이전트가 지니고 있을 것으로 추정되는 인지 구조를 아주 상세히 그리고 정확하게 모델링해야 하며 이 기술 (description) 을 추론하여 다른 에이전트가 무슨 행동을 할지 예측할 수 있다.

에이전트의 인지 구조 중 여기서 초점을 맞추고자 하는 부분은 그 자신의 환경과 다른 에이전트의 인지 구조에 대한 모델이다. 이제까지 우리는 에이전트가 사용하는 두 종류의 모델에 대해서 공부해왔는데 그것은 아이콘기반과 특징기반의 모델이다. 환경에 대한 아이콘기반 모델은 환경의 연관된 측면을 시뮬레이션하고 (simulate), 특징기반 모델은 환경을 술어논리의 식을 이용해서 기술한다 (describe). 이 둘 사이의 선택은 주에이전트가 다른 에이전트를 모델링할 때도 적용된다. 실제로는 4 가지 선택이 있다. 주에이전트는 다른 에이전트의 인지 구조에 대한 아이콘기반이나 특징기반 모델 중 아무거나 사용할 수 있다. 그리고 다른 에이전트 자신도 아이콘기반이나 특징기반 모델 중 하나를 사용할 수 있다. 표 1 에 4 가지 가능한 경우의 수가 각각이 호출하는 모델링 전략의 유형과 함께 나타나 있다. 다음 절

주에이전트

다른 에이전트

모델링 전략

아이콘기반
아이콘기반
특징기반
특징기반

아이콘기반
특징기반 
아이콘기반
특징기반 

시뮬레이션
시뮬레이션된 데이터베이스
묘사적 (descriptive)
의도적 (intentional)

표 1. 모델링 전략

에서 이 모델링 전략 중 세 가지에 대해서 논의하게 된다 (주에이전트가 특징기반의 모델링 전략을 사용할 때는 다른 에이전트가 아이콘기반이나 특징기반의 모델 중 어느 것을 사용하든지 그다지 관련은 없다. 따라서 주에이전트가 특징기반의 전략을 사용하면 다른 에이전트도 같은 전략을 사용한다고 가정하기로 한다).

(2) 시뮬레이션 전략

12장 적대 탐색에서 이미 다른 에이전트의 (추측된) 아이콘기반 모델에 대한 자신의 (주에이전트의) 아이콘기반 모델을 이용하는 에이전트의 예를 보았다. 게임을 할 때 주에이전트에서 상대편이 어느 위치에 올지를 계산하는 프로세스는 상대편이 지닌 것으로 추측되는 행동 결과의 아이콘기반 모델에 대한 자신의 아이콘기반 모델을 이용한다. 아이콘기반 모델은 때로는 유용하지만 이미 언급한 대로 무지나 불명확성을 표현하기 어렵다는 심각한 제한점이 있다. 이 어려움은 다음 절에서 보는 바와 같이 시뮬레이션된 데이터베이스 접근 방법도 적용된다.

(3) 시뮬레이션된 데이터베이스

주에이전트가 다른 에이전트의 식 (다른 에이전트가 그 에이전트의 실세계를 기술하는) 을 모델링하는 가장 명확한 방법은 주에이전트가 다른 에이전트의 실세계 모델을 기술한다고 생각되는 같은 식에 대한 가상 데이터베이스를 구축하는 것이다. 즉, 주에이전트가 다른 에이전트의 모델이라고 생각되는 것을 단순히 복제할 수 있다. 예를 들어, 주에이전트가 다른 에이전트의 실세계에 On (A, B) 의 식이 있다고 생각되면, 주에이전트는 On (A, B) 의 식을 포함하는 "다른 에이전트" 의 데이터베이스를 가지게 된다. 다른 에이전트를 모델링하는 데이터베이스에 이 식이 포함되어 있어도 주에이전트 자신의 실세계 모델에는 On (A, C) 의 식이 포함될 수 있다. 또한 주에이전트는 다른 에이전트가 그 자신의 실세계를 기술하는 단어에 대해서 전혀 알지 못할 수도 있다. 예를 들어, 주에이전트가 On (A, B) 라는 문자열로 표현하는 똑같은 명제를 실제로 다른 에이전트는 $#4 (QW, V) 라는 문자열로 표현할 수도 있다. 변환되지 않은 이러한 식을 서로에게 전송하여 통신해야 할 필요가 없다면 단어의 차이는 별상관이 없다.

이러한 특정한 접근 방법은 다른 에이전트에 대해서 상대적으로 단순한 추론을 하는 경우에는 적절할 지 모른다. 하지만 이 방법은 모든 아이콘기반 모델이 지닌 결핍성 (deficiency) 의 문제가 있다. 가장 단적인 예로는 다른 에이전트가 자신의 모델에 On (A, B) 또는 On (A, C) 를 가진다는 사실을 주에이전트가 표현하기 어렵다는 것이다. 아마도 이 사실을 On (A, B) ∨ On (A, C) 라고 표현하려고 하겠지만 이 식은 시뮬레이션된 데이터베이스에서는 위와는 다른 사실을 표현한다는 것에 주의해야 한다. 어떤 경우에는 주에이전트가 불확실하고 또 다른 경우에는 다른 에이전트가 불확실할 수 있다. 주에이전트가 자신의 불확실성을 표현하기 위해서는 각 경우에 대해 하나씩, 모두 두 가지의 모델 데이터베이스를 가져야 한다. 더구나 이 같은 유형의 또 다른 불확실성이 존재한다면 모든 가능한 경우의 수를 처리하기 위해 모델 데이터베이스의 개수가 불확실성 개수에 따라 지수적으로 증가 (increase exponentially) 할 수밖에 없다.

이 방법의 어려운 점을 설명하기 위해 가령 다른 에이전트가 자신의 실세계모델내에 On (A, B) 를 가지고 있는지를 주에이전트가 모른다고 가정하자. 이때 모델 데이터베이스에서 On (A, B) 를 단순히 제거하지는 못하는데, 그 이유는 그렇게 하게 되면 다른 에이전트가 자신의 실세계 모델내에 이 식을 가지고 있지 않다는 것을 암시하는 것이기 때문이다. 다시 말하면 여기서의 문제는 주에이전트의 지식 결여 (lack of knowledge) 와 다른 에이전트의 지식 결여를 구분해 주는 것이다.

(4) 의도적 입장

이러한 구분이 가능하려면 주에이전트는 다른 에이전트의 실세계에 대한 지식 (knowledge) 과 믿음 (belief) 을 시뮬레이션하기보다는 그것들을 기술하는 (describing) 능력이 있는 언어 (아마도 술어논리의 변형) 가 필요하다. 이렇게 주에이전트가 다른 에이전트의 지식과 믿음을 기술하는 것을 다른 에이전트에 대한 의도적 입장 (intentional stance) 을 취한다고 한다 [Dennett 1971]. 사람들은 종종 우리가 사용하는 기계에 질해 의도적 입장을 취한다. 예를 들어, 이 컴퓨터는 금년이 윤년이라는 것을 알고 있다라고 말한다 ([McCarthy 1979a] 를 참조하라).

다른 에이전트에 대한 의도적 입장의 모델을 구축하기 위한 세 가지 가능성이 제시되었다. 첫째, (상황논리에서 행동을 구체화한 것처럼) 다른 에이전트의 믿음을 구체화할 수 있다. [McCarthy 1979b] 에서 이런 접근 방법이 제시되었다. 즉, 이러한 믿음에 이름을 부여하고, 에이전트와 그 에이전트의 믿음 (중 하나) 사이의 관계를 나타내는 Bel 이라는 관계상수를 이용한다. 하지만 이 이름 (다른 에이전트의 믿음에 대한 이름) 을 주에이전트의 유사한 믿음 (논리식으로 표현된) 과 연결시켜 주는 것이 필요한데, 적절한 연결 방법을 찾는 것은 해결이 어렵다는 것이 증명되었다.

둘째, 주에이전트는 다른 에이전트가 실세계에 대한 자신의 믿음을 표현할 때, 실세계를 기술하는 사실 (fact) 을 모아놓은 자신의 데이터베이스에 있는 술어논리식을 이용해서 표현한다고 가정할 수 있다. 그렇다면 주에이전트는 Bel 이라는 관계상수를 이용할 수 있는데, 이때의 Bel 은 다른 에이전트와 그 에이전트의 데이터베이스에 존재하는 문자열간의 관계를 나타내게 된다. 예를 들어, 주에이전트가 Bel (Sam, 'On (A, B)') 라는 식을 이용해서 Sam 이라는 에이전트가 실세계 지식의 데이터베이스에 있는 'On (A, B)' 라는 문자열 (On (A, B) 의 식을 나타내는) 을 가지고 있다는 명제를 나타낼 수 있다. 이런 접근 방법은 에이전트와 식 사이의 관계를 포함하기 때문에 메타언어적 (metalinguistic) 접근 방법이라고 부른다 [Perlis 1985; Perlis 1988; Konolige 1982; Kowalski & Kim 1991; Genesereth & Nilsson 1987 의 10 장].

셋째, 양상 연산자 (modal operator) 를 포함한 술어논리의 세세한 특성을 이용할 수 있다. 이런 연산자들은 누가 어떤 것을 알거나 믿는다는 명제를 나타내는 식을 실제 지식이나 믿음 자체를 표현하는 식으로부터 만드는 데 이용될 수 있다. 이 세세한 특성에 대해서는 다음 절에서 설명하고자 한다.

3. 지식의 양상논리

(1) 양상 연산자

우리는 명제논리 (propositional logic) 와 일차논리 (first-order logic) 에서 ∧ 와 ∨ 의 연결자를 사용하는 것에 익숙해져 있다. 이러한 연결자들은 간단한 구성요소로부터 복잡한 식을 구축하는 연산자 (operator) 로 생각할 수 있다. 이러한 연산자들이 새로운 식을 구축할 때 그 식의 참값은 피연산자 (operand) 의 참값뿐 아니라 연산자의 특성에도 좌우된다. 여기서 우리는 어떤 에이전트가 어떤 명제를 알고 있다는 의도적 의미 (intended meaning) 를 갖는 식을 구축하려고 한다. 구성요소는 에이전트를 나타내는 항 (term) 과 에이전트가 알고 있는 명제를 나타내는 식으로 이루어진다. 이를 위해 K 라는 양상 연산자 (modal operator) 를 도입한다. 예를 들어, Sam (에이전트의 이름) 이 블록 A 가 블록 B 위에 있음을 안다는 것을 다음과 같이 표현한다.

K 를 Sam 이라는 항과 On (A, B) 라는 식과 결합하여 만든 이 문장은 새로운 식이 되고 이것이 의도하는 의미는 "Sam 이 블록 A 가 블록 B 위에 있다는 것을 안다" 가 된다 (때때로 이 장에서 K (α, Ø) 를 줄여서 Kα (Ø) 로 표기할 것이며, 이때 α 는 에이전트를 나타내고, Ø 는 식이 된다).

여기서 믿는다 (believe) 대신에 안다 (know) 를 사용하기 시작했다는 것에 주목하라. 많은 철학자들이 오랫동안 지식과 믿음의 차이에 대해서 논쟁을 벌여왔다. 그 중 한 가지 차이점은 에이전트가 거짓인 명제를 믿을 수는 있지만 거짓인 어떤 것도 알 수는 없다는 것이다. 지식의 논리를 정의하고 사용하는 것은 믿음의 논리를 정의하고 사용하는 것보다는 어느 정도 단순하다. 그러므로 이 절에서는 지식을 논의하는 것으로 한정하며, 지식은 믿음을 적절히 처리하기 위해 여러 방법으로 조절될 수 있는 유용한 이상화 (idealization) 로 간주된다.

K 연산자를 사용하는 언어를 일차 양상언어 (modal first-order language) 라고 부른다. 이 언어에서 식의 구문은 다음과 같다.

1. 보통의 일차 술어논리 (first-order predicate calculus) 에서의 모든 wff 는 양상언어에서도 wff 가 된다.

2. Ø 가 양상언어의 폐쇄식 (closed wff, 한정되지 않는 자유변수를 가지지 않는 식) 이고 α 가 기초 항이면 K (α, Ø) 는 양상언어의 wff 이다.

3. Ø 와 ψ 가 wff 이면 통상적인 명제 연결자를 이용해서 Ø 와 ψ 로부터 구축된 어떤 표현식도 wff 가 된다.

예를 들어, 다음은 모두 wff 이다.

이 구문에 의하면 (∃x) K (Agent1, On (x, B)) 의 표현식은 적법한 wff 가 아니라는 것을 알아야 한다. On (x, B) 의 표현식은 양상 연산자내에서 폐쇄되지 않고, 양상 연산자의 밖에서 한정된 자유변수를 포함한다. 양상논리의 어떤 버전에서는 이러한 내부로 한정시키는(quantifying in) 유형을 허용하지만, 어려운 점이 있기 때문에 여기서는 다루지 않는다.

(2) 지식 공리

∧ 와 ∨ 연산자는 합성적 의미 (compositional semantics) 를 갖는데, 이것은 식의 각 구성요소식 (component formula) 으로부터 이 연산자를 이용하여 구축된 전체식의 참값이 연산자와 각 구성요소식의 참값에 의해 결정된다는 의미이다. 하지만 K 의 의미는 합성이 되지 않는다. 예를 들어, K (Agent1, On (A, B)) 의 참값이 K 의 특성과 Agent1 의 의미 (denotation) 그리고 On (A, B) 의 참값으로부터 항상 결정될 수 있는 것은 아니다. 물론 On (A, B) 가 F 의 값을 가지면 모든 α 값에 대해서 Kα (On (A, B)) 의 모든 사례가 거짓이 되어야 한다 (왜냐하면 에이전트가 거짓인 것을 알 수는 없기 때문이다). 하지만 On (A, B) 가 참의 값을 가지더라도 Kα (On(A, B)) 의 사례가 참이 되어야 하는 것은 아니다 (왜냐하면 α 라고 표시된 에이전트가 On (A, B) 라고 표시된 명제를 알지 못할 수도 있기 때문이다). 이와 마찬가지로 두 식 Ø 와 ψ 가 동등하다 (equivalent) 고 해도 모든 α 에 대해 Kα (Ø) 가 참일 경우에 Kα (ψ) 가 항상 참이 되지는 않는다 (α 라고 표시된 에이전트가 두 식이 동등하다는 것을 알지 못할 수 있다 (이 때문에 K 연산자는 참조적으로 불투명 (referentially opaque) 하다고 말한다)). 양상식의 의미론에서는 이러한 관찰을 염두에 두어야 한다.

이러한 양상언어에서 문장에 대한 의미를 명확하게 하려면 가능한 세계 (possible world) 의 개념을 포함해야 한다 (이에 대한 대안에 대해서는 [Konolige 1986] 을 참조하라). 가능한 세계에 대한 논의를 하지는 않겠지만 대강 설명하자면, 에이전트는 어떤 명제가 그 에이전트에게 가능한 모든 실세계에서 참이 될 때만 그 명제를 안다는 것이다. 반대로 말하면 어떤 명제가 에이전트가 알고 있는 모든 실세계에 대하여 어떤 세계에서는 참이고 또 어떤 세계에서는 거짓이 된다면 그 에이전트는 그 명제를 알지 못하는 것이다. 지식의 논리에 대해서 자세히 알려면 [Fagin, et al. 1995] 를 참조하라. 굳이 지식에 대한 논리의 의미론에 들어가지 않더라도 주에이전트가 다른 에이전트의 믿음에 대해 추론할 수 있게 하는 방법을 제안할 수 있다. 이 방법은 지식의 특수한 성질을 기술하는 공리와 새로운 추론 규칙 그리고 모더스 포넌스 (modus ponens) 를 이용한다.

공통적으로 인정되는 공리 스키마 (axiom schema) 에는 다음과 같은 것이 있다.

 

[Kα (Ø) ∧ Kα (Ø ⊃ ψ)] ⊃ Kα (ψ)

(1)

이것은 에이전트가 Ø 를 알고 Ø ⊃ ψ 를 안다면 ψ 도 안다는 것을 의미한다 (왜냐하면 이 에이전트가 모더스 포넌스를 수행할 수 있고 실제 수행한다고 가정하기 때문이다). 이 공리 스키마는 때로 다음과 같은 동등한 형태로 작성된다.

 

[Kα (Ø ⊃ ψ) ⊃ [Kα (Ø) ⊃ Kα (ψ)]

(2)

이 공리는 분배 공리 (distribution axiom) 라 하는데 이것은 K 연산자를 함의 (implication) 에 대해서 배분하는 것을 허용하기 때문이다.

지식 공리 (knowledge axiom) 라 불리는 다음과 같은 공리 스키마는 에이전트가 거짓인 것에 대해서는 감히 알 수가 없다는 것을 말하고 있다.

 

Kα (Ø) ⊃ Ø

(3)

이 지식 공리는 ¬ K (α, F) 처럼 에이전트가 모순 (Contradiction) 을 알 수 없다는 것을 암시 한다.

지식의 세번째 성질로서, 만일 에이전트가 어떤 것에 대해서 안다면, 그 에이전트는 그 자신이 그것을 안다는 것을 안다라고 가정하는 것이 바람직하다. 이 성질은 다음과 같은 긍정내성 공리 (positive-introspection axiom) 로 표현된다.

 

[Kα (Ø) ⊃ Kα (Kα (Ø))

(4)

지식의 어떤 공리화 (axiomatization) 에서는 에이전트가 어떤 것을 알지 못하면, 그 자신이 그것을 알지 못하는 사실을 안다라고 하는 부정내성 공리 (negative-introspection axiom) 를 언급하기도 한다.

 

¬ Kα (Ø) ⊃ Kα (¬ Kα (Ø))

(5)

다음으로 우리가 원하는 특성은 모든 에이전트가 이러한 모든 공리 [모든 타당식 (valid formulas) 은 물론이고] 를 안다는 것이다. 이 특성은 현재 논리에 또 다른 추론규칙을 추가해서 표현할 수 있다. 인식강제 (epistemic necessitation) 라 불리는 이 규칙은 우리 (즉, 주에이전트) 로 하여금 Ø 가 타당식이면 Kα (Ø) 를 유추할 수 있도록 해준다. 이 추론 규칙은 다음과 같이 작성할 수 있다.

 

from Ø infer Kα (Ø)

(6)

모더스 포넌스가 명제논리에서 필요한 유일한 추론 규칙이므로 공리 2 와 규칙 6 은 에이전트가 자신이 가진 지식의 모든 명제의 결과를 안다고, 즉 자신이 논리적 전지자 (logically omniscient) 라고 결론지을 수 있게 해준다. 이 사실을 하나의 추론 규칙으로 다음과 같이 표현할 수 있다.

 

from Ø ψ and from Kα (Ø) infer Kα (ψ)

(7)

이 규칙과 동등한 식은 다음과 같다.

 

from (Ø ⊃ ψ) infer Kα (Ø) ⊃ Kα (ψ)

(8)

논리적 전지 (logical omniscience) 는 명시적으로 알고 있는 것에 대한 모든 결과를 유추할 수 없는 한정 에이전트 (finite agent) 에게는 비현실적인 것처럼 보인다. 에이전트가 명제를 유추할 수 없다면 (자신이 알고 있는 다른 명제로부터 유추될 수 있다 해도), 그 명제를 정말로 안다고 얘기할 수 있겠는가? 수 이론 (number theory) 의 공리를 안다고 해서 모든 정리 (theorem) 를 다 안다고 할 수 있는가? 이것은 안다는 것이 무엇을 의미하는지에 좌우된다. 예를 들어, 에이전트는 자신의 지식에 대한 모든 결과를 명시적으로 믿지 않더라도 그 결과를 모두 안다는 관점, 즉 지식에 대한 플라톤적 관점 (Platonic view) 을 가질 수 있다. 논리적 전지가 너무 강한 것처럼 보여도 근사치로서는 유용하게 사용되는데 그것은 지능 에이전트가 어느 정도의 추론을 하기 때문이다.

논리적 전지 (규칙 7) 로부터 다음을 유추할 수 있다.

 

K (α, (Ø ∧ ψ) ≡ K (α, Ø) ∧ K (Ø ∧ ψ)

 

즉, K 연산자가 논리곱에 대하여 분배된다. 하지만 논리합에 대해서는 분배되지 않는데, 그 이유는 K (α, (Ø ∨ ψ)) ⊃ K (α, Ø) ∨ K (α, ψ) 가 성립하지 않기 때문이다.

주에이전트는 자신이 Ø 가 참인지 아닌지를 알지 못해도 다른 에이전트가 Ø 가 참인지 아닌지를 안다는 것을 표현할 수 있다는 것은 이미 언급하였다. 이때 K (α, Ø) ∨ K (α, ¬ Ø) 의 표현식을 이용한다.

(3) 다른 에이전트의 지식에 대한 추론

주에이전트는 지식에 대한 공리와 인식 강제, 그리고 자신의 추론 능력(모더스 포넌스, 논리융합) 만을 이용해서 다른 에이전트의 지식에 대한 문장의 증명을 수행할 수 있다. 이 과정을 현인 퍼즐 (Wise-Man Puzzle) 을 가지고 설명하고자 한다. 세 명의 현인이 있는데 왕이 이들 세 명 중 최소한 한 명은 이마에 흰 점이 있다고 말했다고 하자. 실제로는 세 명 모두 이마에 흰점을 가지고 온다. 각 현인은 다른 현인의 이마를 볼 수는 있지만 자신의 것은 볼 수 없다고 가정하며, 따라서 각 현인은 다른 현인이 흰점을 가지는지 여부를 알고 있다. 이 퍼즐에는 여러 버전이 있지만 여기서는 첫번째 현인이 주에이전트에게 "나는 내가 흰점을 가지고 있는지 알지 못한다" 라고 말하고, 그 다음에 두번째 현인이 "나도 내가 흰점을 가지고 있는지 알지 못한다" 고 말한다고 가정한다. 이 퍼즐을 우리의 지식논리로 공식화하면 주에이전트가 세번째 현인은 자신이 흰 점을 가지고 있다는 사실을 안다는 것을 증명할 수 있다. 추론이 어떻게 진행되는지는 이 퍼즐의 좀더 간단한 버전인 두 현인 (two-wise man) 퍼즐을 고려하여 보이고자 한다. 두 현인에게 A 와 B 의 이름을 부여한다. 우리가 필요한 정보는 퍼즐 문장에서 유추된 다음과 같은 가정에 포함된다.

(1b), (2a), (3) 의 문장은 K (A, White (A)) 에 대한 다음과 같은 증명에서 처음 세 줄에 각각 작성되었다.

이 증명에서 9 번을 유추하기 위해, 규칙 7 을 이용하여 A 가 어떤 전제 (premises) 를 믿을 때 (1 번과 2 번), 이 전제 (4 번과 5 번) 로부터 어떤 증명의 결과 (8 번) 를 믿게 된다는 것을 정당화한다.

세 현인 (three-wise-men) 버전에서는 한 단계의 중첩 추론이 더 있지만 기본 전략은 같다. 사실상, k 현인 (k-wise-men) 퍼즐 (임의의 k 에 대한) 은 처음 (k - 1) 현인이 자신은 흰점을 가지는지 알지 못한다고 선언할 경우 해결할 수 있다.

2 부터 5 까지의 공리의 여러 조합과 통상적인 명제논리 공리, 통상적 추론 규칙, 그리고 규칙 6 을 같이 모으면 지식의 양상 논리학 (modal logics of knowledge) 을 이룬다. 논리학자들은 여러 양상논리 시스템에 특별한 이름을 부여하였으며, 각각은 어느 정도 다른 공리 체계를 가진다. 고정 에이전트 A 에 대해서 공리 2 부터 5 까지는 S5 라 불리는 양상논리 시스템의 공리이다. 만일 공리 23.5 를 생략하면 S4 시스템이 된다. 공리 4 와 5 를 생략하면 T 시스템이 된다. 공리 3, 4, 5 를 생략하면 K 시스템이 된다.

(4) 다른 에이전트의 행동 예측

다른 에이전트 A1 이 어떻게 행동할지 예측하기 위해서는 주에이전트가 A1 에 대한 모델을 가져야 한다. A1 이 그렇게 복잡하지 않다면 한 가지 가능성은 주에이전트가 A1 의 행동이 T-R 프로그램으로 제어된다고 가정하는 것이다 (아마도 주에이전트는 A1 의 이전 행동들을 어느 정도 설명할 수 있는 T-R 프로그램을 이끌어내기 위해 학습프로시저를 이용할 것이다). 가령 그 프로그램의 조건이  γi, i = 1, ..., k 라고 하자. 이제 A1 의 미래 행동을 예측하기 위해 주에이전트는 A1 이 어떻게 이 조건의 값을 구하는지를 추론할 필요가 있다. 다음 장에서는 주에이전트가 A1 에 대한 의도적 입장을 취하고, i = 1, ..., k 에 대하여 K A1 (γi) 가 참인지를 확립하려고 시도하는 것이 때때로 적절하다는 것을 배우게 된다.

참고문헌 및 토론

[Shoham 1993 (Shoham, Y., "Agent-Oriented Programming," Artificial Intelligence, 60:51-92, 1993.)] 은 다른 에이전트의 목표와 계획에 대한 추론이라는 아이디어를 에이전트 지향 프로그래밍 (agent-oriented programming) 으로 불리는 자신의 분산 시스템에 대한 고수준 접근 방법에 통합시켰다.

Minsky 의 Society of Mind [Minsky 1986 (Minton, S., Learning Search Control Knowledge: An Explanation-Based Approach, Boston: Kluwer Academic Publishers, 1988.)] 는 단위로 (unitary) 간주되는 에이전트 (우리 자신들처럼) 도 실제로는 계층 구조에서 행동하는 수백의 더 단순한 에이전트로 구성된다고 제안하였다 (이 책에 대한 검토와 Minsky 의 답변에 대해서는Artificial Intelligence 저널, vol.59, 1991 을 참조하라).

지식의 양상논리는 [Hintikka 1962 (Hintikka, J., Knowledge and Belief, Ithaca, NY: Cornell University Press, 1962.)] 에 의해 처음 제안되었다. 양상논리에 대한 가능한 세계 의미론은 [Kripke 1963 (Kripke, S., "Semantical Considerations on Modal Logic," {Acta Philosophica Fennica}, 16:83-94, 1963.)] 에 의해 처음 고안되었다. [Moore 1985b (Moore, R., "A Formal Theory of Knowledge and Action," in Hobbs, J., and Moore, R. (eds.), Formal Theories of the Commonsense World, pp.319-358, Norwood, NJ: Ablex, 1985.)] 는 가능한 세계 의미론을 전적으로 일차 논리만을 가지고 공리화하였고, 이 공식화를 이용해서 지식과 행동의 상호작용을 조사하였다. 지식에 대한 논리학을 인식논리학 (epistemic logics) 이라 부른다. 이 외에도 믿음논리학 (doxastic logics), 의무논리학 (deontic logics), 그리고 다른 양상에 대한 논리학도 있다. 믿음 (지식에 상반된) 을 다루는 특별한 방법들이 [Levesque 1984b (Levesque, H., "A Logic of Implicit and Explicit Belief," in Proceedings of the Fourth National Conference on Artificial Intelligence (AAAI-84), pp.198-202, Menlo Park, CA: AAAI Press, 1984.), Fagin & Halpern 1985 (Fagin R., and Halpern, J., "Belief, Awareness, and Limited Reasoning," in Proceedings of the Ninth International Joint Conference on Artificial Intelligence (IJCAI-85), pp.491-501, San Francisco: Morgan Kaufmann, 1985.), Konolige 1986 (Konolige, K., A Deduction Model of Belief, London: Pitman, 1986.)] 에 의해 연구되었다. [Cohen & Levesque 1990 (Cohen, P., and Levesque, H., "Intention Is Choice with Commitment," Artificial Intelligence, 42(2-3):213-361, 1990.)] 은 양상논리를 이용하여 의도 (intention) 와 실천 (commitment) 사이의 관계를 조사하였다.

[Moore 1985a (Moore, R., "Semantical Considerations on Nonmonotonic Logic," Artificial Intelligence, 25(1):75-94, 1985.), Moore 1993 (Moore, R., "Autoepistemic Logic Revisited," Artificial Intelligence, 59(1-2):27-30, 1993.)]  은 자신의 지식에 대한 메타 수준의 추론 활동인 autoepistemic reasoning 이 비단조 추론 (nonmonotonic reasoning) 의 한 형태라고 지적하였다.

많은 분산 인공지능 (DAI) 에 대한 논문들이 [Bond & Gasser 1988 (Bond, A., and Gasser, L. (eds.), Readings in Distributed Artificial Intelligence, San Francisco: Morgan Kaufmann, 1988.)] 에 실려 있으며, 최근 연구가 Proceedings of the International Conferences on Multi-Agent Systems 에 실려 있다. 지식에 대한 추론의 연구는 Proceedings of the Workshops on Theoretical Aspects of Reasoning about Knowledge (TARK) 에 나와 있다.