본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

에이전트와 강화학습 (1) - 에이전트와 셀룰러 오토마타

by neo-Lee 2023. 6. 8.

    이번에는 상태(status;)를 가지고 있고 환경과 상호작용하는 에이전트(agent)에 관해 알아봅니다.

    에이전트는 사전적으로는 대리인 또는 대행인이란 뜻이지만, 컴퓨터 분야에서의 에이전트(agent)란 사람대신 업무를 처리하는 지능적인 소프트웨어 또는 하드웨어(로봇)를 의미하며 정보를 알아서 찾아주는 검색엔진과 검색로봇 등이 대표적인 예입니다. 

   에이전트는 실체가 없는 소프트웨어 에이전트와 실체가 있는 에이전트인 몸체를 가진 로봇 등으로 구분됩니다. 이런 에이전트의 개념들에 대해 알아보고 에이전트의 학습 방법인 강화학습에 대해 공부하겠습니다.

1. 에이전트와 셀룰러 오토마타(CA; Cellular Automata)

1.1 에이전트(agent)

    에이전트(agent)는 상태(status)를 가지고 있고 환경이나 기타 에이전트와 상호작용을 할 수 있는 시스템을 말합니다. 에이전트는 내부에 기억과 상태를 가지고 있으며, 시간의 경과에 따라 외부 환경이나 다른 에이전트들과 상호작용을 반복하면서 자신의 상태를 갱신합니다.

    에이전트에는 컴퓨터 네트워크나 프로그램 세계에서 기능하는 소프트웨어 에이전트와 실제로 몸체가 있고 실세계에서 활동할 수 있는 하드웨어 에이전트, 즉 로봇이 있습니다. 이들을 공부하기 전에 기초 개념인 셀룰러 오토마타에 대해 먼저 알아보겠습니다.

1.2 셀룰러 오토마타

    셀룰러 오토마타(CA)는 에이전트를 이해를 위한 기초 개념으로 소프트웨어 에이전트의 일종입니다. 앞서 

2023.05.07 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI) 연구의 분야 별 발전 과정 (1) 에서 설명한 것처럼 존 폰 노이만(John von Newmann)이 제창한 셀룰러 오토마타(Cellular Automata)는 상호정보를 교환하는 셀들이 모여서 어떤 규칙에 따라 정보교환과 상태전이를 반복하면서 시간의 경과에 따라 상태가 변화하는 시스템입니다. 즉, 각각의 요소가 시간과 더불어 상호작용하는 현상을 단순화해서 모델링하는 수학적 시스템입니다. 여기에서는 셀룰러 오토마타(CA)의 개념에 대해 조금 더 자세히 공부해 보겠습니다.

 

  셀룰러 오토마타(CA)는 상태를 가진 셀이 다른 셀과 상호 접속해서 시간의 추이에 따라 상태를 변화시키는 정보처리 모델입니다. 상호 접속 방법은 다양한데, 예를 들어 셀을 1차원으로 배열해서 이웃의 셀들과 접속하면 (그림 1)과 같은 1차원 셀룰러 오토마타가 완성됩니다. 

 

(그림 1) 1차원 2 상태 3 이웃 셀롤러 오토마타

                1) 1차원(직선상)에 셀을 배치

                2) 셀의 상태는 0 또는 1

                3) 각각의 셀은 인접한 두 개(죄우 1개씩)의 셀과 상호 작용

0 1 1 0 0 0 1 1 0

   (그림 1)에서 셀의 상태는 0 또는 1 두 개뿐입니다. 또한 접속 대상은 인접한 셀로 한정합니다. 이와 같은 셀룰러 오토마타를 1차원 2 상태 3 이웃 셀룰러 오토마타라고 합니다. 

    1차원 2 상태 3 이웃 셀룰러 오토마타의 시간 경과를 계산하려면 시간의 추이에 따라 달라지는 상태의 규칙(전이 규칙: transition rule)을 정할 필요가 있습니다. 이 규칙은 자신과 인접한 총 3개의 셀의 상태를 조합해서 다음 시간에서 자신의 상태를 어떻게 할지 결정합니다. 이렇게 2가지 상태의 3 아웃인 경우  8가지 이진수(0, 1)의 조합(2 x 2 x 2 - 8)인 상태(패턴)가 아래 (표 1)과 같이 생깁니다. 그리고 전이 규칙(규칙 10)을 적용한 경우 다음 시간의 상태를 나타냅니다.

 

(표 1) 1차원 2 상태 3 이웃 셀룰러 오토마타와 전이 규칙 예(규칙 18)

패턴 다음 시간의 상태
111 0
110 0
101 0
100 1
011 0
010 0
001 1
000 0

상기 (표 1)의 규칙을 이용할 경우에 대한 이해를 위해 몇 가지 예를 들어 보면, 

 

1) 아래와 같이 자신(1*) 및 좌우 셀의 상태가 모두 1이면 다음시간 상태는 (표 1)에 따라 0

... 1 1* 1 ...

2) 아래와 같이 왼쪽 셀이 1이고 자신(0*)과 오른쪽 셀의 상태가 0이면 다음시간의  상태는 (표 1)에 따라 1

... 1 0* 0 ...

3) 오른쪽 셀의 상태가 1이고 자신(0*)과  왼쪽 셀의 상태가 0이면 다음시간 상태는 (표 1)에 따라 1

... 0 0* 1 ...

   

    위에서 설명한 (표 1)의 규칙 18은 1차원 2 상태 3 이웃 셀룰라 오토마타 규칙의 한 예입니다. 규칙의 종류는 다음시간의 상태가 (00000000)에서 (11111111)까지 2(상태)의 8승, 즉 256개가 있습니다. 이러한 규칙은 다음 시간의 상태를 8 자릿수의 2진법으로 간주한 번호(00000000 ~ 11111111)로 구별하며, 2진법의 순서에 따라 번호를 정해 전이규칙 번호(0 ~ 255)로 합니다.

 

    1차원 2 상태 3 이웃 셀룰러 오토마타의 시간 전개를 계산하기 위해서는 모든 셀에 대해서도 상기와 같은 조작을 해야 합니다. 보다 구체적인 이해를 위해 예를 들어 설명해 보겠습니다.  학교 교실 맨 앞줄이라 가정하고, 검정 칸을 모자를 쓴 학생, 흰색 칸을 모자를 쓰지 않은 학생으로 표시합니다. 그리고 2가지 가정을 합니다.

    * 모자 규칙: 현재 상태에서 각 학생의 좌우에 이웃한 학생 중 1명만 모자를 쓰면, 학생은 다음 시간에 모자를 씁니다. 

    ** 다음날 아침 첫 교시에 오직 1명의 학생만이 모자를 쓰고 아래 그림처럼 가운데 자리에 앉았다고 가정합니다.

첫 교시 이후 시간이 지남에 따라 위의 모자 규칙에 따라 학생들이 모자를 쓰거나 쓰지 않는 현상이 나타날 것입니다. 아래 (그림 2)은 시간의 변화에 따른 전이의 추이(패턴)를 나타내는 그림입니다.

 

(그림 2) 1차원 2상태 3이웃의 기본적 오토마타에서 시간의 전개에 따른 전이의 변화 (출처. Wolfram MathWorld)

규칙이 변하면 전개된 패턴도 달라집니다. 아래 그림들은 여러 규칙에 대응한 변화를 나타내는 그림들입니다.

(그림 3) 전이 규칙별 패턴 (출처. Wolfram MathWorld)

    예를 들면, 상기 그림들 중 전이 규칙 18 및 규칙 110의 그림처럼  복잡한 패턴이 반복되는 경우는 생물활동의 결과나 어떤 종의 생리 현상으로 나타나는 것이라고 합니다.

 

    이상에서 본 바와 같이 셀룰라 오토마타를 이용하면 다양한 물리현상이나 생물의 행동을 모델링한 시뮬레이션이 가능합니다.  또한 교통의 혼잡한 상황에 부닥친 사람들의 움직임을 셀룰라 오토마타를 이용하여 모델링하는 등 사회현상에 적용하는 연구에도 활용되고 있습니다. 

 

2023.06.07 - [인공지능(AI; Artificial Intelligence)] - 이미지 인식기술의 응용

728x90

댓글