AI는 agent와 environments로 구성된다.
여기서 agent(=intelligent agent)는 rational agent로 #1에서 나온 acting rationally의 주체를 말한다.
아래 그림과 같이 agent와 environment는 상호작용한다.

위 그림의 단어를 먼저 설명해보겠다.
위 그림의 작동 방식을 설명하자면
1) 환경인식을 위해 sensor 이용하고,
2) 인식된 정보를 이용해 actuator를 통해 action을 취한다.
위 그림에서 ?박스는 agent function이라고 한다.
agent function은 주어진 percept sequence를 통해 어떤 action을 취할지 결정하는 것이다.
agent function은 사실 추상적인 개념이고 이것을 프로그래밍을 통해 구현한 것을 agent program이라고 한다.
이번엔 진공 청소기 그림으로 설명을 이어가겠다.

agent : 진공청소기
sensor : where(진공청소기가 A에 있는가, B에 있는가), dirty(진공청소기가 있는 곳이 더러운가, 깨끗한가)
actuator : left(왼쪽으로 이동), right(오른쪽으로 이동), suck(흡입)
agent인 진공청소기의 agent function은 아래와 같다.
1) A에 있는지 B에 있는지 인식, 현재 있는 곳이 더러운지 인식한 후 (sensor)
2) A에 있다면 B로(actuator:left)
B에 있다면 A로(actuator:right)
더럽다면 청소(actuator:suck)
깨끗하다면 아무것도 하지 않음
그리고 이것을 프로그램으로 짠 것을 agent program이라고 한다.
AI의 목표는 사실 agent가 높은 performance measure를 얻는 것이다.
이때 잘 동작하는 것이 어떤 것이냐를 결정하기 위한 4가지 요소가 있다.
이것을 진공청소기로 예를 들어보겠다.
요약 : agent에 주어진 정보(percept sequence) 내에서 가장 performance measure를 maximize할 것으로 보이는 action을 취한다.
omniscience(전지, 모든 것을 앎)은 rationality(합리)와 다르다.
rationality는 전지전능한 것이 아니라 percept sequence에 의지한다.
예를 들어보겠다.
길을 걷다가 친구를 길건너에서 보았다. 그때 도로에는 차가 없었다. 합리적으로 나는 길을 건넌다. 한편, 이때 하늘에서 항공기의 화물보관창고에 문이 열려 화물이 나와 내가 건너던 길에 떨어진다.
전지전능했다면 나는 이때 길을 건넌다는 선택을 하지 않았겠지만, 나는 합리적인 사람이기에 길을 건너고 화물을 맞았을 것이다.
이러한 일을 방지하기 위해(사실 방지가 될지는 모르겠음) rational agent는 할 수 있는 만큼 최대한의 정보를 모아야한다(information gathering).
learning
agent가 percieve한 것으로 학습을 계속한다.
action을 취하고 그 결과를 다시 percieve한다. 그 경험으로 agent function을 스스로 upgrade 하는 것. 그것을 학습이라 한다.
autonomy(자율성)
이때, agent가 계속 학습을 진행할 수 있는 것이 자율성이다. 처음엔 prior knowledge로 활동을 하다가 계속된 경험을 통해 upgrade가 가능해진다.
키워드 : agent, environment, agent function, rationality, omniscience, learning, autonomy
출처: Artificial Intelligence : A Modern Approach(3E)