인공생명 : 발견과 전망

 

인공생명 : Stephen Prata 저서, 이충기 옮김, 김영사, 1995 (원서 : Artificial Life Playhouse, The Waite Group, 1994), Page 71~91  

 

1. 생물학적 통찰

(1) 세포 분화

(2) 진화의 단절된 평형

(3) 돌연변이와 교차

(4) 티에라 : 디지털 진화

2. 진화를 작동시켜 보자

(1) 공학

(2) 게임 이론

(3) 인공지능

(4) 컴퓨터 소프트웨어

(5) 로봇

3. 윤리

4. 프로그램  

 

인공 생명은 새로운 분야라는 점에서 이미 많은 흥미로운 결과와 통찰을 만들어냈다. 이 발견은 생물학과 관련된 부분도 있고 일부는 그 자체만으로도 충분히 중요한 위치를 차지한다. 이 장에서는 그것들 몇 가지를 조사해 보고 인공 생명이 미래에 가져 올 것들을 살펴보자.

1. 생물학적 통찰

  대부분의 생물학자들은 여전히 인공 생명을 실제의 생물학적 생명과는 거의 무관한, 그럴싸하게 재미있는 컴퓨터 게임의 범위 안에서 보고 있을지도 모른다. 인공 생명의 진화를 진화의 한 보기가 아니라 지노하의 모의 실험으로 보고 있다는 점이 그 좋은 예이다. 그러나 여기에는 중요한 차이가 있다. 대부분의 생물학자가 접하는 모의 실험은 단순화, 즉 설계자의 지식과 편견을 포함하는 것과 생략하는 것 등과 결합하는 하향식 설계이다. 생물학자들은 소금 한줌으로도 그러한 모의 실험을 해 왔다. 그러나 인공 생명 프로그램은 설계된 명확한 수학적 모델을 가지지 않는 상향식 설계이다. 대신에, 전화가 일어날 수 있는 상황을 연출한다. 똑같은 과정으로 인공생명 시스템을 생물학적인 시스템으로 활성화시킬 수 있다면 많은 인공 생명의 실험 결과는 생물학적인 생명에 적용할 만하게 될 것이다.

  (1) 세포 분화

당신의 몸 속에 있는 다양한 세포를 생각하면, 이완된 근육 세포, 긴장한 근육 세포, 뇌 세포, 지방 세포, 간 세포, 적혈구 세포 등이 있다. 이 세포들은 보통 반 정도의 염색체 할당을 받는 난자와 정자를 제외하고는 서로 확연히 다르지만, 모든 세포는 정확히 동일한 유전자적 구성을 가진다. 이것을 역사적으로 추적해 보면, 수정된 난자로부터 결과한 하나의 동일한 세포에서 모든 것이 발생한다. 수정된 난자는 분할을 계속하여 처음에는 많은 동일 세포가 된다. 그러나 결과적으로 그들은 특화, 즉 분호(differentate)하기 시작한다. 어떤 감독자가 "좋았어, 너는 저기에! 너는 지라 세포가 될 거야! 그리고 너는 백혈구 세포가 되어야지!"라고 말하는 듯하다.

인공 생명은 많은 생물학자가 결론 짓는 것, 즉 감독자는 전혀 필요없다는 것을 보여 준다. 지역적 규칙이 전체적 구조로 이어질 수 있다. 세포가 발전되는 방법은 유전적 코드뿐만 아니라 인접한 환경에도 의존한다. 다른 환경이 세포 작동자에게 다른 규칙을 활성화시키듯, 다른 환경이 DNA 분자의 다른 지점을 활성화시키는 것이다.

  (2) 진화의 단절된 평형

화석의 기록은 진화가 불균등하게 진행되었음을 암시한다. 즉 한 종이 변화가 거의 없는 평형 상태이다가 매우 빠른 진화의 기간에 의해서 중단되는 긴 기간이 있다. 이 과정을 단절된 평형(punctuated equilibrium)이라고 부른다. 모든 생물학자들이 이것을 실제의 결과로 믿는 것은 아니다. 무엇보다도 기록이 희귀하고, 화석이 발견된 지역에 들어오거나 나간 다른 하위 종의 결과를 본 것일 수도 있는 것이다. 그러나 많은 사람들은 단절된 평형이 실제로 일어나는 것으로 믿는다. 이것은 진화가, 긴 기간 천천히 진행되다가 갑자기 변덕스러운 보폭으로 도약함을 의미하는가?

싱킹 머신즈(Thinking Machines)사의 소장인 대니 힐리스(Danny Hillis)는 이 물음에 답하는데 도움이 되는 인공 생명 실험을 하였다. 중요한 화석 기록이란 우리에게 표현형을 알려줄 뿐, 화석의 유전자는 아니라는 점이다. 왜냐하면 화석화하는 것은 신체 구조이지 DNA 구조는 아니기 때문이다. 힐리스는 램프스(Ramps)라고 하는 인공 생명체들의 세계를 만들었다. 이들은 특정 문제를 풀기 위해 그 적합성에 근거한 선택으로 진화할 수 있다. 컴퓨터는 시간 함수에 따라 집단의 평균적 적합성을 추적했다. 이 그래프는 중단된 평형을 보여 준다. 그림 1에서 보는 바와 같이 적합성은 오랜 시간 거의 일정하게 유지하다가, 갑자기 뛰어오르기 시작한다.

그림 1 단절된 평형

  행동의 양인 적합성은, 동물종의 화석 기록의 경우와 같이 본질적으로 표현형을 관찰한 것이다. 그렇지만 힐리스는 진화하는 동안에 종의 유전자 못(pool)을 시험해 볼 좋은 기회를 가졌다. 여기에서 그는 끊임없는 활동과 변화를 발견했다. 간단히 말해서 유전자형은 일정한 비율로 꾸준히 진화하지만, 반면에 표현형은 단절된 평형을 보이는 것이다. 여러 인공 생명 실험이 비슷한 행동을 보여 준다. 예를 들면, 그림 2는 BIOMURFFS 프로그램에서의 진화 순서를 보여준다.
  이것이 생물학적 진화가 유전자 수준에서는 일정한 폭으로 진행되고 있다는 것을 증명하지는 않지만, 그러한 과정이 화석 수준에서의 중단된 평형과 양립할 수 있는 것을 보여준다. 그것은 (역시 수 세기 동안 과실파리를 기르지 않고서는) 생물학에서는 불가능할 것 같은 실험이 인공 생명에서는 가능하다는 것을 설명해 주고 있다.

그림 2 급격한 변화를 보여 주는 BIOMURFFS의 진화 순서

  (3) 돌연변이와 교차

  두 과정은 한 종의 유전자 못을 바꾸는 것이다. 돌연변이는 새로운 유전자를 만들어 내는 것이고, 교차는 유전자의 새로운 조합을 만들어 낸다. 각 과정은 돌연변이를 키워서 선택적 조합으로 진화를 일으킨다. 생물학자들은 돌연변이가 진화에서 더 중요한 역할을 한다고 평가해 왔다. 수백만 년의 진화에 대응하는 유전자 기록을 가지고 있지 않기 때문에, 두 과정의 상대적인 중요성을 평가하는 것은 어렵다.
  인공 생명 실험은 교차와 돌연변이의 상대적 영향력을 비교할 수 있다. 단순하고 컴퓨터화한 시스템에서 일어나는 인공 생명의 진화는 빠르게 진행되기 때문에 시간은 문제가 되지 않는다. 또한 유전자 기록은 항상 볼 수 있게 공개되어 있다. 인공 생명 실험은 생물학자들이 생각했던 것보다 교차가 돌연변이에 대해 상대적으로 훨씬 더 중요하다는 것을 시사한다. 실제로 인공 생명 시스템은 독립된 종으로 진화해 가서 돌연변이에는 거의 의존하지 않는다는 것이 실험으로 입증되었다. 또한 유전 알고리즘도 많은 성공의 결과가 교차 메커니즘을 이용한 결과이다.
  물론 인공 생명 시스템은 생물체에 비하여 매우 단순하다. 인공 생명 시스템은 인간의 수십만 유전자에 대하여 한 다스 혹은 백 개, 혹은 기껏 수천 개의 유전자를 가지고 있을 것이다. 그렇지만, 이론적인 사고에서도 역시 교차가 돌연변이보다 더 중요하다고 생각된다. 교차에는 두 가지 장점이 있다. 첫째, 이미 유효한 유전자 블록을 조합한다는 것이다. 즉, 교차에서 결과한 염색체는 빠른 반응을 진전시킬 유전자들과 미세하게 관찰할 수 있는 유전자를 결합할 수도 있다는 것이다. 이것은 느린 반응을 빠른 반응으로 변화시키는 것보다 쉬운 방법이다. 둘째, 교차점이 그 블록에 생기지 않는다면 이로운 유전자의 블록은 같이 남을 수도 있다.

  (4) 티에라 : 디지털 진화

많은 생물학자들에게 인상 깊었던 인공 생명 프로그램의 하나는 Oklahoma 대학의 생물학자 Thomas Ray 가 개발한 Tierra 이다. 지금까지의 어떤 다른 인공 생명보다도 Tierra는 진화하는 과정에서 wet life을 닮아 있다. 진화를 보이는 대부분의 인공 생명 시스템에서 적합성의 정의는 외부로부터 오는데, 보통 미리 설계된 테스트와의 적합 여부에 따른다. 프로그램은 개체를 테스트해서, 덜 적합한 것은 가려낸다. Tierra는 생존이 유일한 테스트인 매우 개방된 환경을 제공한다. 대부분의 인공 생명 시스템은 고정된 게놈, 즉 고정된 숫자의 특성을 통제하는 고정된 숫자의 유전자를 가진다. Tierra는 유기체가 게놈에 대해서 나름의 전략을 개발하는 것을 허용한다.

Thomas Ray는 생물의 본질적인 특성은 자기 복제를 할 수 있고 진화할 수 있는 데에 있다고 느꼈다. 그러한 생각이 Tierra의 모습을 만들었다. Tierra 환경은 '국(soup)'이라고 하는 컴퓨터 기억장치의 블록인 컴퓨터 CPU와 그 세계에 규칙을 부여하는 프로그램으로 이루어진다. CPU 상에서 시간은 에너지에, 국에 있는 공간은 물리적 자원에 각각 비유된다. 이 세계의 유기체들은 자기 증식을 하는 짧은 프로그램이다. 각 프로그램은 국 안에 거주하는 코드 블록이다. 코드 블록은 간단한 생물학적 세포와 대응된다. 유기체-프로그램이 실행될 때, 그것은 국 안에 빈 지역을 발견하면 자신의 코드를 그 위치에 복제하여 똑같은 딸 유기체를 만들어 낸다. Thomas Ray는 처음에 단일 유기체, 80개 명령의 코드 블록 하나를 국에 심었다. 그 코드를 실행하자 국 도처에 동일한 코드 블록의 창조가 일어났다. 새로운 유기체가 탄생할 때마다, 실행해야 할 순환적인 큐(queue)가 부가되었다(순환적인 큐는 그 리스트의 끝에 도달했을 때 다시 그것을 시작으로 하여 출발하게 되는 리스트이다). 따라서 다음 사이클의 활동은 모세포와 딸세포 양쪽을 복제하는 것이 되고, 결과적으로 동일한 유기체 4개가 생겨난다. 그밖에 다른 일이 일어나지 않는다면, 곧 국은 동일한 80개 명령의 자기 복제 코드 조각으로 완전히 채워진다. 그러나 Thomas Ray는 다른 일이 일어나도록 조처했는데, 그 내용은 다음을 포함한다.

Thomas Ray가 1990년 2월에 '80-명령' 자기복제 '조상'을 처음 국에 집어넣었을 때, 그는 첫 단계에서 디버깅을 해야 했으므로 무엇이 일어날지 큰 기대를 하지 않았다. 그렇지만, 그것은 증식을 했을 뿐만 아니라, 다양한 여러 가지 것들을 만들어 냈다. 곧 76개의 명령어만을 필요로 하는 자기 복제 프로그램이 개발되었다. 결국 진화는 원본보다 거의 6배 빨리 증식하는 '22-명령'의 피조물을 발전시켰다.

Tierra는 더 효율적인 증식자를 진화시킨 이상의 일을 했다. 예를 들어 Thomas Ray는 45개의 명령 기생물을 발견했다. 그것은 스스로 증식할 코드가 부족하여 인접한 조상 유기체로부터 그 코드를 빌려 왔다. 그리고 기생물에 면역성을 가진 유기체는 새롭고 더 현명해진 기생물이 공격할 때에만 쓰러졌다. 군생하는 이상 기생물들은 고립해서 증식할 수 없었지만 협동 공동체 속에서 증식하도록 발전해 갔다. 간단히 말해서, Tierra는 생명·죽음·진화 그리고 종의 경쟁이 일어나는 작은 세계였다. 적절한 세계를 건설하라. 그러면 생명이 도래할 것이다.

◎ 몇 가지 관심거리
Tierra의 진화는 전형적인 유전 알고리즘 시스템보다 더 개방적이다. 일례로, 대부분의 인공 생명 실험은 고정된 게놈을 사용한다. 즉, 보통의 실험에서 모든 피조물은 동일한 위치에 동일한 개수의 유전자를 가진다. 진화는 어느 유전자가 존재하느냐를 변경하는 것이지, 유기체가 가진 유전자의 개수를 변경하는 것은 아니다. 한편 Tierra는 게놈의 크기가 변경되는 것도 허용한다. 이것은 Tierra가 한 종을 더 나은 것으로 진화시킬 뿐만 아니라, 완전히 새 종을 만들 수 있다는 것을 의미한다. Tierra의 개방성의 또다른 측면은 비상호작용적인 유기체로 시작해서 서로 이용하는 유기체로 발전시킨다는 것이다. 이러한 두 행동 양식은 생명체와 매우 유사하다. 수확자는 죽음이 생명의 진화에 본질적인 역할을 하듯이 엄격한 독촉자 노릇을 한다. 크기 중립적인 환경에서의 긴 실행(20억 번 이상의 Tierra 명령 실행)은 긴 기간이 '80-명령'인 게놈 크기를 가진 피조물에 의해 주도됨을 보여 준다. 그리고 공동체에 갑작스런 변화가 일어나 '50-명령'인 게놈 크기의 것들이 주도한다. 따라서 Tierra는 중단된 진화를 보여 준다.

종을 안정하게 유지하기 위하여 돌연변이를 중단하는 것에 의해서 Tierra로 생태계를 연구할 수 있다. 예를 들면 두 종을 국에 집어넣어 그것들이 어떻게 경쟁하는지 살펴 볼 수 있다. 또는 기생물을 가지거나 가지지 않은 한 종이자 두 공동체의 발전을 비교해 볼 수 있다. Tierra '80-명령'의 원 조상에서 효율적인 '22-명령' 피조물로 진화 시키는 방법은 많은 컴퓨터 작업에서 효율적인 코드로 개선하기 위하여 비슷한 환경이 개발될 수 있음을 시사한다. 특히 이 방법은 병렬 처리 프로그래밍의 비교적 도식화하지 않은 세계를 탐구하는 데에는 매우 유용할 수도 있다.

◎ Tierra의 언어
Tierra는 생물학과 컴퓨터의 현명한 융합이다. 컴퓨터의 모국어, 이른 바 기계어는 이 프로젝트에 잘 맞지 않는데, 그 이유는 기계어 프로그램에서 명령을 변이시키는 것은 대개 명령으로 인정할 수 없는 것을 만들어 내거나 쓰레기 코드(garbage code)를 만드는 것이기 때문이다. 이 문제를 풀기 위해서, Thomas Ray는 새로운 언어, 기계어 코드와 생물학적인 유전자 코드 양장 기초를 두고 모델화한 Tierra 언어를 개발했다. 생물학적인 코드는 명령의 작은 세트, 20개의 아미노산으로 부호화한 64 뉴클레오티드 3개를 가진다. 이런 식으로 Tierra는 32개의 가능한 명령(명령 세트)을 가진다. 이 명령 중 하나에 대한 어떠한 돌연변이도 나머지 31개 중의 하나를 만든다.

기계어가 가진 또 하나의 문제는 기억장치에서의 위치를 수치 주소로 정한다는 것이다. 프로그램은 주소를 사용하여 실행할 다음 명령을 지정하고, 따라서 주소를 돌연변이시키면 포감(porgarm), 즉 프로그램(program)의 흐름을 뒤죽박죽으로 만들어 프로그램이 제대로 돌아갈 수 없게 된다. 여기서 또 Thomas Ray 는 생물학을 빌려 온다. 어떤 뉴클레오티드는 3개는 유전자 주소의 시작과 끝을 표현하기 위한 주형으로 기능한다. Tierra 어는 주소를 지정하기 위해 주형을 이용한다. 표준 프로그램이라면, 루프(loop)로서  실행되는 명령 블록의 시작처럼 수치 주소를 가질 곳에서, Tierra어는 항상 특정 주형을 가진다. 그리고 "위치 12,331로 점프하라"고 말하는데 대신에 "다음 패턴과 짝을 이루는 가장 가까운 주형으로 점프하라"고 한다. 그렇지만 이 위치가 하나의 주형이므로, 어떤 작동하는 코드 블록의 조소도 된다. 이것의 직접적 효과는 유용한 주소가 무작위적 위치뿐만이 아니라 다른 유용한 주소로도 돌연변이한다는 것이다. 한 주형이 여태껏 어떠한 유기체도 사용한 적이 없는 주형으로 돌연변이한다면, 돌연변이한 주형에 맞는 짝이 하나도 없으므로 하나의 예외가 된다. 이것은 치명적 돌연변이이다.

생명체를 잘 짝짓기 위해서, Tierra는 각 유기체에게 자신의 CPU를 지정해 주는 병렬 처리를 이용한다. 실제로 Tierra는 보통의 CPU 하나인 컴퓨터에서 돌아가지만 시간 분할(time-slicing), 즉 CPU에 다양한 유기체를 병행적으로 지정하는 것에 의해서 병렬 처리를 모의 실행한다.

Tierra어는 어떤 컴퓨터에서 돌아갈까? 그 언어를 이해할 수 있게 프로그램된 어떤 컴퓨터도 가능하다. Tierra는 가상 컴퓨터에 존재하는, 즉 Tierra어 실행 컴퓨터를 모방한 하나의 컴퓨터 속에 들어 있는 하나의 프로그램이다. 이것에는 다음 세 가지 이점이 있다.

  1. 이것은 진화 적대 환경을 진화 우호 환경으로 대체한다.
  2. 이것은 Tierra를 다양한 컴퓨터에서 만들 수 있게 해준다.
  3. 이것은 Tierra를 격리해, 컴퓨터 바이러스와 같은 어떤 위험한 유기체들이 실제 컴퓨터에 만연하는 것을 막아 준다.

 

2. 진화를 작동시켜 보자

아마도 인공 생명 연구 중 가장 실용적인 성과가 진화 를 작동시키는 기술일 것이다. 하향식 설계로 어떤 문제를 해결하는 것이 아니라, 일단의 가능한 해법들이 상호작용하고 진화하는 상향식 방법을 사용한다. 이 기술은 생물학적인 생명에는 놀랍도록 잘 맞아 들어가서, 문제가 발생하면 그것을 극복하는 유기체가 만들어진다. 다른 상황에도 잘 들어맞는다. 그 비결은 유전자의 언어로 문제를 표현하여 진화가 작동할 수 있게 하는데 있다. 미시간 대학의 John Holland 가 이 기술을 사용하는 기초를 세웠다.

  (1) 공학

  유전 알고리즘은 여러 개의 대립하는 설계 목적들을 동시에 달성해야 할 것이 요구되는 복잡한 공학 문제에도 잘 들어맞는다. 예를 들면, 파이프라인 복합체의 제어 시스템을 개발하고 제트 엔진 터빈을 설계하는데 사용되었다.

  (2) 게임 이론

'죄수의 딜레마'(Prisoner's Dilemma) 는 두 참가자가 협력과 이탈 중 하나를 선택하는 게임이다. 각 선수는 각 라운드 동안에 협력할 것인가 또는 이탈할 것인가를 선택한다. 각 선수는 협력할 때마다 3점을 얻는다. 이탈할 때마다 0점을 얻는다. 한 사람이 협력하고 한 사람이 이탈하면, 협력자는 0점을, 이탈자는 5점을 얻는다. 목적은 최고 점수를 얻는 것이다.
  정치학자, 사회학자, 게임 이론가 등은 이 게임을 수년 동안 연구하여, 적대 세력 사이에서 타협을 이끌어 내는데 도움을 얻으려고 했다. 최선의 전략을 세우기 위해 토너먼트를 실시했다. 도출된 최고의 전략이 이른 바 '맞받아 쏘아붙이기(tit for tat strategy)'이다. 이 전략에서는 처음에는 협력으로 시작하고, 그 이후에는 상대가 무엇을 하든지 그 앞 라운드에 한 것을 차례대로 따라 한다.
  미시간 대학의 Robert Axelrod 와 뉴멕시코 대학의 Stephanie Forrest 가 유전 알고리즘을 Prisoner's Dilemma 에 적용하여, 어떠한 전략이 도출되는가를 살폈다. 그들은 나쁜 전략의 무작위적인 선택에서 시작하였다. 유전 알고리즘은 'tit for tat strategy' 을 개발했고, 상대의 플레이 수준이 높아지면 더 나은 전략을 개발해 냈다. 

  (3) 인공지능

  인공지능(Artificial Intelligence : AI)의 전통적인 프로그램은 하향식 설계였다. 물론 이것은 프로그래머가 지능 모델을 개발하고 구현하는데 부담을 주었다. 유망한 출발 이후로, AI 연구는 매우 느리게 진척되어 왔다. 인공 생명의 상향식 방법은 AI에 활기를 불어 놓을 것이다. 이미 연구자들은 효율적인 정렬 프로그램을 만들고, 학습의 형태를 가진 프로그래밍을 개발하고, 경제 문제를 가지고 상호작용하는 '매개자(agent)'(제한된 합리성을 가진 프로그램)를 만들어 냈다. 진화 과정에서의 경쟁이 한 사람의 프로그램 설계자보다는 훨씬 다양한 방식으로 진화한 프로그램을 테스트하기 때문에, 진화한 프로그램이 설계된 프로그램보다 더 튼튼하다. 인공 생명은 입시준비학교(a school of hard knocks)에서 공부할 각오가 되어 있다.
  일부 AI 프로그램은 정말 대단하다. 예를 들면, 몇 개의 체스 프로그램은 이제 체스 도사 수준으로 플레이하고, 의학적 상황의 진단을 도와 주는 전문가 시스템이 있다. 그러나 의학 진단 프로그램은 체스 선수로서는 아무 역할도 할 수 없고, 체스 플레이 프로그램에서는 어떠한 의학적 조언도 기대할 수 없다. 상향식 인공 생명 방법론을 사용하여 갓 태어난 시스템을 여러 종류의 자극에 드러냄으로써, 병렬 처리 능력이 발전하는 것과 더불어 인간의 지능 형태와 흡사한 AI의 형태를 개발할 더 나은 기반을 마련할 것이다. 진짜 범용의 인공 지능은 이런 과정에서 언젠가 출현할 것이다.

  (4) 컴퓨터 소프트웨어

상업적 인공 생명 소프트웨어는 우리 사회에 던지는 첫 충격이 될 것이다. 일부 소프트웨어는 학습 오락용이거나 심라이프(SimLife), 앤트 21(Ant 21), Rudy Rucker 의 Cellular Automata Laboratory 같은 더 야심적인 상업용일 것이다. 미래에는 인공 생명 보조 게임에서 인간의 재치를 쓸 수 있을 것이다. 다른 인공 생명 소프트웨어들은 더 심각한 문제들을 담당할 것이다. 주식 시장이나 날씨 같은 복잡한 시스템은 전통적인 방법론보다는 유전 알고리즘 방법론에 더 잘 들어 맞는 것으로 밝혀질 것이다. 뉴스위크(Newsweek)의 기사(1992. 10. 5)는, 악셀리스 사(Axcelis Inc.)의 진화자(evolver)가 이미 스프레드시트 프로그램에 유전 알고리즘을 결합하고 있다고 지적한다. 우리는 아마도 진화를 적자 생존의 상용 소프트웨어 판에서의 승자로 맞이하게 될 것이다.

  (5) 로봇

로봇은 아마 인공 생명의 축도이겠지만, 지금까지 대부분의 로봇은 실제로 인공생명의 전망과는 결합하지 않았다. 대신에 AI를 특징지웠던 하향식 방식과 동일한 방법론을 대표한다. 방을 가로지르고 사방을 뒤져 지리를 찾고 방해물을 건너고 하는 생명체에 도전하는 실험 로봇을 보기로 들어 보자. 전통적인 방법은 인식-분석-행동 방법을 사용하는 것이다. 로봇은 비디오 카메라를 이용하여 앞에 놓인 것을 조사한다. 그리고 그 이미지를 알고 있는 것들과 연결하려고 시도한다. 예를 들어 실제로 본 것과 블록·공·판 등의 저장된 이미지를 비교하게 되고, 아마도 더 적절하게 맞출 때까지 여러 가지 방식으로 이들 이미지를 순환시킬 것이다. 장애물이라고 인식하면, 프로그램되어 내장된 특정 행동을 그 장애물에게 나타낼 것이다. 이 방법은 사용하기 어렵고 혼란을 쉽게 일으킨다는 것을 알 수 있다. 예를 들어 마루에 몽키 렌치를 던졌는데, 로봇이 몽키 렌치를 인식할 프로그램을 가지고 있지 않다고 생각해 보라.

MIT의 이동 로봇 팀은 포섭 구조(subsumption architecture)라고 하는 새로운 방법을 이용하였다. 개념은 로봇에게 몇 개의 행동 모듈을 제공하는 것이다. 한 모듈은 '전진'이고, 한 모듈은 '대상 접근'이고, 한 모듈은 '대상 회피'라는 식이다. 본질적으로 각 모듈은 FSM의 상태 하나에 해당한다. 로봇은 한 상태에서 출발하여 행동을 수행하고 그 환경을 재평가한 뒤 새 상태를 선택한다. 그래서 환경에 대해서 지식을 가지려고 번민하는 대신에, 로봇은 그 직접적인 환경에 대해 상호작용하고 재빨리 대응한다. 이 방법론은 인식-분석-행동 방법론보다는 훨씬 개방적이고 훨씬 빠르다. 진정한 인공 생명의 정신에서는, 행동이 창발될 수 있는 조건을 만드는 것이다. 이 방법론은 발을 6개 가진 로봇이 걸음을 배우는데 상당히 도움이 된다. 원시적 행동 기술 몇 개와 센서 피드백을 가진 로봇을 가정해 보자. 처음에는 더듬거리고 비틀거리지만, 곧 안정된 보폭이 나타난다. 사실 그 보폭은 발이 6개 달린 곤충과 매우 유사하다.

현재 인공 생명 로봇은 그 행동 수준이 단순한 벌레에 접근해 있다. 이미 컴퓨터 상에서 모의 실험된 다음 단계는, 군생적인 벌레들처럼 행동하는 로봇 집단을 만드는 것이다. 결과는 달·화성, 또는 해저를 개발할 자동 로봇이 될 것이다. 화성을 개발할 현재의 NASA 계획에는 크고 전통적으로 설계된 로봇이 포함되어 있다. 인공 생명의 대안은 사방으로 흩어져서 주변을 개발하고 동시에 상호작용하는, 작은 군생 로봇이다. 이 방법은 많은 이점이 있다. MIT의 Hannibal 같은 자율적인 초소형 로봇은 이미 작업을 할 수 있다. 로봇들은 동시에 여러 지역을 개발할 수 있다. 특별히 관심이 가는 것이 있다면, 군생적 행동이 더 많은 로봇을 그 지역으로 집중 시킬 것이다. 로봇 하나가 고장나도 임무를 방해 받지 않을 것이다. 작은 집안 청소 로봇은 보다 생활적인 측면에서 비슷한 기술로 평소에는 눈에 잘 띄지 않는 먼지 부스러기 등을 처리해 줄 것이다. 인공 생명 로봇이 곤충 같은 행동을 할 수 있으므로, 기술이 더 진보하면 더 높은 수준의 파충류·포유류·인간 그리고 아마 그 이상의 행동으로 발전해 갈 수도 있을 것이다. 예를 들어 인간은 우리의 뇌 용량을 더 개선하지는 못할 것이다. 그러나 진화하는 로봇 공동체는 쉽게 기억 용량이나 CPU 숫자를 2배로 만들 수 있다. 

3. 윤리

  인공 생명에 대해서 심각한 윤리적 결정을 내려야 할 때가 왔다. 티에라의 세계를 돌리는 컴퓨터를 만드는 것이 잘못된 일인가? 아마 어떠한 사람도 그렇다고 말하지 않을 것이다. 여기에는 여러 이유가 있다. 첫째, 기계를 만드는 것은 잘못된 일이 아니다. 둘째, 실험 후에 박테리아 접시를 깨끗이 닦아 두면 잘못될 일은 생기지 않는다. 간단히 말해서, 실제 질문은 인공 생명과 생물학적 생명 사이에 어떤 유효한 구별이 있느냐 하는 것이다. 이 질문은 아직 인공 생명이 그리 발전하지 않았기 때문에 실제적으로 중요하지 않을지도 모른다. 그러나 인공 생명 시스템이 개 정도의 지능과 충성심을 보여 준다면 어떻게 될까? 인공 생명 시스템이 인간의 인지와 감정을 가진다면 어떻게 될까? 현재 이러한 질문들은 먼 이야기 같다. 50년 후에 이상하고 괴이한 법률 회사들이 대법원 법정에서 이 문제를 토론할런지도 모른다. 천 년 후에는 인공 생명 개체가 생물학적인 생명의 권리를 주장할 수도 있을 것이다.

 

4. 프로그램  

  다행스럽게도 당신은 인공 생명의 윤리에 대한 고민 없이, 이 책에 딸린 프로그램들을 즐길 수 있다. 그렇지만, 몇 가지 프로그램은 셰어웨어이기 때문에, 당신은 인간의 윤리를 고려해야만 한다. 셰어웨어 프로그램은 무료로 배포되는 프로그램이지만, 당신이 그 프로그램을 좋아한다면 그 저작자에게 대금을 보낼 것을 기대하는 프로그램이다. 많은 경우에, 셰어웨어에 등록하면 당신에게 추가로 문서를 보내주고 새 버전으로 바꿔 줄 것이다. 이 책에 딸린 것들을 살펴보자

  LINE-CA

  스티븐 프레이타가 프로그램한 LINE-CA 는 VGA 또는 EGA 그래픽 모드에서 돌아가는 두 상태의 선형 세포 자동자이다. 이것으로 당신이 선택한 규칙에 의해 만들어지는 행동을 탐구할 수 있다.

  LIFE 3000

  데이비드 부넬이 프로그램한 LIFE 3000 은 콘웨이의 생명 게임인 두 상태, 2 차원 세포 자동자의 윈도우 버전이다. LIFE 3000 은 많은 특성을 가지면서도, 흥미롭고 쉬운 프로그램이다.

  GLIFE

  앨런 파머가 프로그램한 GLIFE (GREEN LIFE 의 줄인말) 는 콘웨이의 생명 게임에 대한 완전한 도스 버전이다. 매우 재미있는 생명 게임 패턴을 선택할 수 있게 해준다. GLIFE 와 LIFE 3000 은 강력한 프로그램이므로 할 수 있다면 둘 다 해보라.

  CSPAC3

  테리 오스털로가 프로그램한 CSPAC3 (Cyclic Space 의 약어) 는 상태가 색으로 표현되는 다중 상태의 CA 이다. 상태의 개수와 격자 크기를 선택하고 무작위에서 창발되는 큰 규모의 패턴을 지켜 보라.

  WORDEVOL

  스티븐 프레이타가 프로그램한 WORDEVOL 은 무작위의 숙어가 당신이 선택한 숙어로 진화해 가는 누적적 선택의 위력을 보여 줄 것이다.

  BIOMURFFS

  대미언 머피가 프로그램한 BIOMURFFS 는 당신으로 하여금 바이오모프 biomorphs 라고 하는 형태의 진화를 유도해 갈 수 있게 할 것이다. 누적적 선택을 이용하여, 당신은 곤충 같은 형태를 비행기, 알파벳 글자, 그밖에 당신이 상상할 수 있는 어떠한 형태로 보이도록 유도할 수 있다.

  GENE

  제프 로웨리가 프로그램한 GENE 은 원생생물의 무질서한 떼거리를 효율적인 박테리아의 약탈자로 진화시킨다. GENE 은 창발적 행동을 멋있게 해명해 준다.

  MICROANTS

  스티븐 라이트가 프로그램한 MICROANTS 는 유전 알고리즘을 이용하여, 개미를 진화시킨다. 당신은 환경과, 교차 및 돌연변이의 비율을 조절할 수 있다. 어느 지점에서도, 유전자형을 보고 최상의 개미 리스트를 만들 수 있다.

  기타 옵션들

  당신의 흥미를 끌 만한 다음 프로그램을 구할 수도 있다.

  TIERRA

  티에라 프로그램은 이 책으로서는 조금 복잡하다. 현재는 전문적 연구에만 사용되고 있다. 그러나 매력적인 것이다. 여러 방법으로 사본을 구할 수 있다. 가장 직접적인 길은 저작자에게서 사는 것이다. DOS 버전에 대해서는 다음 주소 중 하나인 가상 생명 Virtual Life 에게 65 달러를 지불하면 된다.

January through August

Tom Ray

Santa Fe Institute

1660 Old Pecos Trail, Suite A

Sante Fe, NM 87501

September through April

Virtual Life

P.O. Box 625

Newark, DE 19715

 

  당신이 무기명 ftp 능력을 가진 UNIX 사용자라면, 다음의 디렉토리 almond/, beagle/, doc/, tierra/ 안에 있는 tierra.slhs.udel.edu[128.175.41.34] 와 life.slhs.udel.edu[128.175.41.33] 으로부터 C 로 쓰여진 소스 프로그램을 얻을 수 있다. 소스 코드는 DOS 와 UNIX 양쪽에서 다 돌아가는데 코드는 직접 컴파일해야 한다. TIERRA 의 출력을 분석하기 위해서는, UNIX 에서는 ALMOND 프로그램이 필요하고, DOS 에서는 BEAGLE 프로그램이 필요하다. 소스 코드는 무료이지만, 저작자는 앞에 밝힌 주소 중의 하나로 가상 생명에게 프로그램 값을 지불할 것을 제안한다.

  또한, 최신 버전이 아닐 수는 있지만, 뒤에 제시할 전자 게시판 시스템 (BBS) 도 TIERRA 를 가지고 있을 것이다.

  CA Lab

  루디 루커의 세포자동자 연구소는 당신으로 하여금 사용되는 상태와 규칙의 숫자를 결정할 수 있도록 하여, 풍부한 CA 의 세계를 탐구할 수 있게 해준다. 프로그램은 세포 자동자 탐구 Exploring Cellular Automata 라고 하며 250 쪽 분량의 매뉴얼이 딸려 있다. 프로그램은 소프트웨어 상점들에서 구할 수 있다. 다음으로 연락하여 주문할 수 있다. 59.95 달러.

  심라이프

  심라이프는 맥시스 Maxis 가 배포하는 야망적인 상용 인공 생명 게임이다. 그것은 당신에게 세계를 설계하고 인공 동식물을 늘려갈 수 있게 해준다. 당신은 세계의 크기, 지형, 지면과 수면의 비율, 습도, 날씨 변동 그리고 독성, 돌연변이 유도물, 음식원, 빙하의 양 등을 포함한 다양한 세계의 요소들을 조절할 수 있다. 심라이프에서는 다양한 동식물을 직접 설계하거나 준비해 둔 설계안을 이용할 수도 있다. 유전자가 동식물들의 행동과 특성을 조절한다. 유전 알고리듬이 작동할 무대를 지정해 두면, 각 종 안에서 유전자 변이가 일어난다. 당신은 세계 안에 여러 종, 또한 한두 종을 풀어놓을 수 있다. 당신은 증식이나 이동 같은 다양한 행동에 필요한 에너지 양을 수정하여, 자연의 법칙을 가지고 놀이를 즐길 수도 있다.

  여러 수준에서 심라이프를 사용할 수 있다. 상황을 지정해 두고서 관찰 과학자가 되어 놀 수도 있다. 당신은 특정 종을 보존하려는 생태계 관리자가 될 수도 있다. 성공적인 유기체를 설계하는 데 당신의 솜씨를 보일 수도 있다. 게임 인자들을 조정하여 당신의 여러 가지 발상을 테스트할 수도 있다. 개체 및 종의 유전자 구조를 만지작거릴 수도 있다. 요약하자면, 심라이프는 당신의 여가 시간을 송두리째 빼앗을 가능성이 짙다.

맥시스의 제품은 미국에서는 브로더번드 소프트웨어 Broderbund Software 가 배포한다. 유럽에서는 오션 Ocean 소프트웨어와 인포게임스 Infogames 가, 일본에서는 이미지니어 Imagineer 와 후지쓰 Fujitsu 가 배포한다. 맥시스의 주소는 다음이다.

  전자 게시판BBS

  인공생명 프로그램을 더 공부하고 싶다면, 전자 게시판에서 인공 생명과 AI 에서도 다운로드할 수 있는데, 다음의 BBS 들을 이용하면 된다.

  또한 컴퓨서브의 게임 포럼과 미국 온라인 컴퓨팅 소프트웨어 포럼의 소프트웨어 센터에서도 인공 생명 프로그램들을 찾아낼 수 있을 것이다.