본문 바로가기

CS/[AI]Artificial Inteligence(AI 인공지능)

[AI]Logical Agents (+ Wumpus World Explore)

Logical Agents

Logical agents란 Knowledge-based Agents 라고도 하며

지식을 기반으로 인식에 대한 결과를 스스로 결정해가는 agent 이다.

 

Knowledge Base(KB)

: set of sentences, sentence들의 집합이라고 하는데 이때 Sentence란 knowledge representation language(지식 표현 언어)로 표현된 지식을 표현하기 위한 것이라고 보면 된다.

 

이러한 KB를 기반으로 동작을 수행하는 방법에 대해 알아보면 TELL, ASK가 있다.

TELL : Add new sentences to the KB (주변에 인지된 정보를 KB에 추가, 전달 하는 행위)

ASK : Query the KB(현재 상황에서 어떤 action을 해야 하는지 KB에 질의하는 행위)

 

여기서 Inference rule이 있다.

Inference rule이란 추론할때의 규칙인데 KB에 어떤 ASK가 왔을 경우 그에 대한 해답은 반드시 KB에 이전에 TELL 되었던 것으로부터 유도되어야 한다는 것이다.

 

이를 pseudo code로 살펴보면 다음과 같다.

첫번째 TELL의 경우 percept sentence를 만들어서 KB에 알려줘라 라는 의미이고

두번째는 KB에 ASK를 통해 query를 진행하고 결과를 action에 저장한다.

세번째 TELL은 해당 action에 대한 결과를 KB에 다시 저장하여 나중에 비슷한 상황이 있을 때 진행하도록 KB에 저장하는 행위를 말한다.

 

Wumpus World

위 내용에 대한 예제로 Wumpus World를 살펴보자.

출발하여 함정에 빠지지 않고 귀신을 만나지 않고 가능한 빨리 금을 찾아오는 게임이다.

여기서의 특징은 귀신 옆에 가면 냄새가 나고 함정 옆에 가면 바람이 분다는 특징이 있다.

 

Wumpus World PEAS DEscription이 다음과 같다.

 

World 특징은 다음과 같다.

 

그럼 탐색을 시작해보자.

먼저 초기 KB: the rules of the environment 즉 초기 KB에는 환경에 대한 정보만 존재한다.

(1,1)에서 시작한다.

그럼 처음으로는 위로 올라가보자.

아래 그림처럼 올라갔다고 하면 B(Breeze) 바람이 부는 것을 확인할 수 있다. 그렇다면 오른쪽이나 위에 P(Pit) 함정이 존재할 수 있다는 것으로 추론이 가능하다.

그렇다면 다시 원래 자리로 돌아와서 올라가지말고 오른쪽으로 가보도록 한다.

오른쪽으로 진행하게 되면 S(stench) 냄새가 나는 것을 확인할 수 있고 바람은 불지 않으므로 그렇게 되면 아래 그림 위치에 각각 Wumpus(귀신)이랑 Pit(함정)이 있을 것이라는 추론이 가능해진다.

 

그리고 그렇게 되면 현재 위치에서 위는 괜찮다는 것을 확인했으므로 위로 올라가본다. 위로 올라갔을 때에는 바람도 불지 않고 냄새도 나지 않으므로 오른쪽과 위 모두 OK임을 확인했다. 

그럼 이제 오른쪽으로 이동해보자.

금을 찾았으므로 게임 종료이다. 이렇게 탐색을 마친다.