부의 기원/ 진화: 그건 바로 저기에 있는 정글이다

  • 조직, 시장, 경제는 생태 시스템과 단순히 비슷한 게 아니라 말 그대로 정말 진화 시스템이다.
  • 진화는 복잡한 문제들에 대한 혁신적인 해법을 찾기 위한 다목적용의 고도로 강력한 처방전이다. 이것은 변화하는 환경에 적응하고 지식을 축적해 가는 하나의 학습 알고리즘이다. 진화는 자연 세계의 모든 질서, 복잡성 그리고 다양성을 설명해 주는 공식이다.

디자이너 없는 디자인

  • 진화 이론가이자 터프츠 대학의 인지과학센터 소장인 대니얼 데닛은 진화를 ‘디자이너 없이 디자인을 창조하는’ 방법이라고 부른다.
  • 우리가 어떤 무엇이 디자인을 갖고 있다고 생각하면 그것은 하나의 목적을 가진 다시 말해 어떤 과업에 적합한 디자인이라고 생각한다.망치는 못을 박거나 뽑도록 디자인되어 있고, 박테리아는 특정한 환경에서 생존하고 재생할 수 있도록 디자인되어 있다. 우리는 또 디자인을 가진 것들에 대해 거기에는 어떤 수준의 복잡성, 질서, 구조가 있다고 생각한다. 우리는 해변에 있는 임의의 모래알이 디자인된 것이라고 생각하지 않는다. 그러나 복잡한 구조를 갖는 제트 엔진, 나선형 방으로 된 조개껍데기, 복잡한 음들의 배합으로 이루어진 음악 등은 모두 디자인을 보여 주는 것으로 생각한다.
  • 디자인 된 것과 그렇지 않은 것을 구분 짓는 것은 바로 목적에 대한 적합성과 복잡성의 결합이다. 줄무늬 있는 암석은 우리 눈에 아름답게 보이고, 복잡한 패턴도 갖고 있으며 심지어는 예술 작품으로 보일 수도 있지만 그것은 어떤 기능을 갖고 있거나 어떤 특정한 목적에 적합한 것이 아니다. 그보다는 임의의 지질학적인 힘들의 작용으로 우연히 만들어진 것에 불과하다. 디자인된 것들은 엔트로피가 낮다. 다시 말해 디자인된 것들은 결코 임의로 만들어진 게 아니라는 의미다.
  • 우리가 디자인을 보는 영역은 두 가지다. 생물 세계에서, 그리고 생물들이 만들어 낸 인위적 산물들에서다. 캥거루의 점프를 위한 다리, 어둠 속에서 물체를 탐지하는 박쥐의 음파 탐지기, 수분을 촉진하기 위해 꿀벌 성기로 위장한 꽃 수술 등이 생물 세계에서 디자인 된 것들이며 나사를 돌리기 위한 드라이버, 사람들을 수송하기 위한 점보제트기는 인위적인 디자인 산물들이다.
  • 영국 국교회 사제이자 철학자인 윌리엄 페일리는 시계처럼 복잡하고 디자인된 특별한 것은 시계 제조업자를 전제로 한다고 주장했다. 그러니까 자연 세계의 복잡성과 디자인은 성스러운 시계 제조업자의 존재를 필요로 한다는 게 그의 주장이다. 고도로 디자인된 것들은 저절로 이 세계로 튀어나온 게 아니다. 디자인은 목적, 지능 그리고 문제 해결을 보여 준다.
  • 그러나 바로 이것이 진화가 하는 일이다. 진화는 스스로 디자인을 창조한다. 옥스퍼드 대학 진화 이론가인 리처드 도킨스는 진화를 “앞이 보이지 않는 눈먼 시계 제조업자” 라고 불렀다. 진화는 맹목적이고 기계적이며 단순한 공식이지만 영리한 디자인을 창조하는데 놀라울 정도로 효과적이다.

인공적 생물

  • MIT 미디어랩의 전 멤버였던 칼 심스는 1994년 진화가 어떻게 일어나는지를 연구해 보고 싶었다. 그가 원했던 것은 박테리아와 과일 파리를 가지고 하는 실험이 아니라 좀 더 빠르고 더 많이 통제할 수 있는 그런 방식의 실험이었다. 그래서 그는 슈퍼컴퓨터에 인공적인 컴퓨터 생물들이 사는 가상의 진화 세계를 만들었다. –슈퍼컴퓨터와 칼 심스의 프로그래밍 재능이 없었다면 아마도 맥시스의 ‘심라이프’와 MS의 ‘임파서블 크리처스’와 같은 여러 상업용 컴퓨터 게임들을 이용한 가상적인 진화 실험을 경험했을 것이다.– 각 생물들의 몸은 상호 연결된 일련의 직사각형 블록들로 구성되어 있다. 블록은 정육면체, 짧고 두꺼운 직사각형, 길고 얇은 직사각형 등 여러 가지 형태를 가질 수 있다. 각 블록들은 관절이 있어서 구부리거나 펼 수 있는 방식으로 서로 연결되어 있다.

  • 이 블록 생물은 움직임을 조절하는 간단한 컴퓨터 칩의 힘으로 관절이 달려 있는 블록 몸체들의 움직임을 통제할 수 있다. 심스는 각 블록 생물에 목표를 주었다. 각 생물은 그 목표에 비추어 자신이 어디에 서 있는지 몸에 있는 센서를 통해 평가한다. 그 후 각 블록 생물들은 관절로 연결되어 있는 각 블록 몸체들을 움직임으로써 그 목표를 달성하기 위해 행동을 취한다. 첫 번째 실험에서 이 인공적 생물들에 주어진 목표는 가상의 강을 빠르게 헤엄쳐 건너가는 것이었다.
  • 그리고 심스는 이 블록 생물들의 세계에 생물학적 변화를 주었다. 바로 컴퓨터 DNA를 부여한 것이다. DNA는 1. 각 생물 몸체의 형상 2. 관절로 연결된 블록 몸체들을 움직이는 방법 3. 뇌의 초기 상태에 관한 정보들을 각각 담고 있다. 이와 같은 조건에서 심스는 일련의 실험을 실시했다. 그는 완전히 임의적인 컴퓨터 DNA, 그리고 완전히 임의적인 블록 몸체들을 가진 300개의 블록 생물들로 각 실험을 시작했다.
  • 심스는 생물들을 컴퓨터 안의 가상 수영장에다 풀어 놨다. 임의적으로 디자인된 것이기 때문에 대부분은 허우적거리고 넘어지거나 물에 빠졌다. 그러나 우연히도 몇 개는 조금이나마 가능성을 보여 주었다. 자신을 앞으로 나가게 하는 동작 또는 스스로 방향을 잡는 능력 등이 그것이다.
  • 심스는 1세대인 임의의 생물들에게 간단한 진화의 공식을 적용해 봤다. 가장 성공적인 수영을 한 생물들은 그대로 남았고, 수영에 가장 성공적이지 못한 생물들은 제거 됐다. 그 뒤 수영에 가장 성공적인 블록 생물들은 자신들의 컴퓨터 DNA를 서로 교환하는 컴퓨터 섹스를 통해 양 부모의 특성들을 그대로 이어받는 새로운 생물을 만들었다. 뿐만 아니라 일부 새로운 생물들은 자신들의 DNA를 변화시키는 임의의 돌연변이를 일으키기도 했다.
  • 정리를 해 보면 블록 생물들의 집단은 서로 다른 특성, 즉 변이를 보여 주었다. 특정한 시점에서 생물들의 수영 능력은 다양했다. 그중에서 가장 잘 적응하는 생물들은 선택되었고, 성공적인 생물들은 재생해 그 디자인을 확산시키는 과정이 있었다. 변이, 선택, 그리고 재생(복제)이라는 이 단순한 공식이 약 100세대까지 계속 반복 되었다. 20-30세대를 거치자 볼품없이 이리저리 허우적거리고 넘어지던 블록 생물들이 실제로 수영을 할 수 있는 그런 생물들로 진화하기 시작했다.

  • 일부 생물들은 등 뒤에 펄럭이는 꼬리를 가지는 등 크고 핵심적인 몸체를 발전시켰다. 어떤 꼬리는 돌고래처럼 위아래로 움직였고 또 어떤 꼬리는 상어처럼 옆으로 움직였다. 몇몇 생물들의 경우 다양한 물고기 디자인에서 볼 수 있는 것처럼 몸을 안정화 시키는 지느러미가 돋아나기도 했다. 또 다른 생물들은 길고 가느다란 몸체로 발전했는데, 많은 부분들이 서로 연결돼 마치 뱀처럼 꼬리를 휘둘렀다. 또 다른 생물들은 작은 팔을 많이 가진 형태로 발전해 노래기 같이 회전했다. 그리고 또 다른 생물들은 매우 우아한 해마 모양으로 진화했다.
  • 진화의 알고리즘은 수영을 잘하기 위한 단 하나의 최고 방법, 최적의 방법을 찾은 것은 아니기만 대니얼 데닛의 표현을 빌리자면 진화 공식들은 여러 가지 ‘생존을 위한 좋은 기술’을 찾아 냈다. 물에 관한 기초 물리학은 무한하지는 않지만 많은 수의 운동 방식을 허용한다. 물속에서 작전을 펴려면 또한 지느러미나 유체역학적인 몸체로 균형을 잡는 능력이 필요하다. 그러니까 물의 물리학은 수영하는 데 성공적인 몸의 디자인은 어때야 하는지에 대한 제약 조건들을 제공하는 셈이다. 이것은 모든 수생 생물들이 인간이 만든 잠수함과 기계들이 그러하듯이 어떤 목적과 관련하여 여러가지 다른 특성, 즉 변이들로 구성되는 이유다. 이것은 또한 심스의 블록 생물들이 진화의 과정을 통하여 재빠르게 이런 성공적인 디자인들을 발견한 이유다.
  • 심스의 컴퓨터 진화가 복잡한 제약 조건을 가진 세계에서 좋은 기술을 발견하는데 성공한 것은 단지 수영에만 국한된 것은 아니다. 심스는 생물들에게 가상의 중력을 가진 평평한 표면에서 걸어가라는 목표를 주고 비슷한 실험도 했다. 다시 진화 공식이 20-30회 거듭되자 이리저리 허우적거리던 생물들이 진화를 했다. 기어가고, 깡충깡충 뛰고, 굴러가고, 심지어 두 다리로 걸어가는 생물들은 물론이고 게처럼 허둥지둥 달리는 생물, 뱀처럼 미끄러지듯이 가는 생물들이 나왔다. 또한 가상의 음식 블록을 쟁취하기 위해 서로 경쟁하는 실험에서는 각 블록 생물들이 팔, 갈고리 발톱, 입 등을 진화시켰다.
  • 심스는 각 진화 과정에서 출현한 생존 해법들 중 그 어떤 것도 사전에 전제하지 않았다. 진화가 작동할 수 있는 조건들을 만들었을 뿐이다. 각 블록 생물들에 대해 어떤 디자인도 하지 않았다. 즉, 지느러미, 꼬리, 다리, 발톱 등에 관한 것은 프로그램에 없었다. 이런 디자인들은 발견된 것으로서 많은 세대에 걸쳐 진화 과정을 겪으며 밑에서부터 출현한 것이다. 지난 수백만 년에 걸쳐 생물들에게 눈알, 방호를 위한 위장술, 악취를 뿜어내는 기술 날개, 다른 손가락과 마주할 수 있는 엄지손가락 등 믿을 수 없을 정도로 혁신적인 디자인을 가져다준 것도 똑같은 과정을 통해서였다.

혁신을 위한 알고리즘

  • 알고리즘은 하나의 처방전으로 생각할 수 있다. 예컨대 어떤 투입 요소들을 넣고 어떤 과정을 통해 기계적으로 처리하고 그러고 나서 지시사항대로 따르면 어떤 산출물이 확실히 나온다는 그런 처방전이다. 데닛은 알고리즘의 또 다른 보기로 토너먼트를 들었다. 누군가 또는 어떤 기관에서 선수들을 투입하고, 주어진 규칙대로 과정을 거쳐 승자라는 하나의 결과를 확실히 내놓는다. 토너먼트 과정은 꽤 일반적인 알고리즘으로 수많은 기질에도 사용될 수 있다. 여기서 기질이란 알고리즘이 움직이는 바탕이 되는 물질 또는 정보를 생각할 수 있다.
  • 어떤 알고리즘은 기질 중립적(substrate-neutral)이다. 즉, 이런 알고리즘을 분해해 보면 어떤 기초적인 환경 조건이 충족되는 한 기질이 무엇이건 상관없이 작동하는 기본적인 핵심들을 보유하고 있다. 에컨대 가장 큰 것에서 가장 작은 것으로 분류하는 알고리즘을 생각해 볼 수 있다. 그런 알고리즘은 사과를 분류하거나 성의 길이를 분류할 때 유용할 수 있다. 이 경우 알고리즘을 정의하는 것은 특정 기질이 아니라 정보를 처리하는 논리다. 분류 알고리즘은 사과나 성을 물리적으로 분류하는 게 아니라 사과의 무게나 이름 철자의 길이에 대한 정보를 토대로 작업을 한다. 알고리즘들은 정보를 처리하는 공식들이다. 이것은 사실상 컴퓨터 프로그램들이다.
  • 진화는 기질 중립적인 하나의 알고리즘이다. 디자인에 대한 정보를 토대로 정해진 대로 어떤 과정을 거쳐 그 정보를 처리한다. 진화는 또한 순환적이다. 즉, 한 사이클의 산출물은 다음 회에 투입물이 된다. 이런 순환성이 의미하는 것은 무엇인가? 진화를 멈추게 하지 않는 한 계속 돌아간다는 얘기다. 데닛의 토너먼트 사례 또한 순환적이다. 전 게임의 결과 –예컨대 준결승– 는 다음 게임 –결승– 의 투입이 된다. 그리고 이 과정은 승자가 나올 때까지 계속된다. 그러나 생물학적 진화는 언제 멈출지 미리 결정된 게 없다. 태양이 폭발할 때까지, 지구가 더는 살기에 적합하지 않을 때까지 진화는 순환적으로 계속될 것이다.

레고 도서관

  • 어느 해인가 크리스마스 파티에서 생물학자이자 진화 이론가인 스튜어트 카우프만이 레고 조립게임에서 이겼는데, 당시 매우 간단한 빌딩 블록에서 출발해 믿을 수 없을 정도로 복잡한 디자인으로 어떻게 발전해 가는지를 주제로 진화를 연구하고 있던 카우프만에게는 특히 적합한 재능이 아닐 수 없었다. 레고의 가장 큰 매력은 단순하고 여러 색깔을 가진 블록들이 무수히 많은 방버븡로 조합되어 흥미롭고 복잡한 구조를 만들어 낸다는 점이다.
  • 가장 간단한 블록들조차 수많은 치환 또는 변화을 통해 여러 가지로 조립될 수 있다. 예컨대 1by2 직사각형 블록은 서로 동일하지 않다면 –예컨대 색깔이 다르다면– 14가지 다른 방법으로 조립될 수 있다. 만약 2by2 블록 두 개라면 33가지 방법으로 조립될 수 있다. 블록의 수, 크기, 부착 방법의 수가 늘어나면 바꾸어 조립할 수 있는 경우의 수는 폭발적으로 증가한다. 적당한 크기의 레고 세트라고 해도 이를 통해 만들 수 있는 가능한 구조물으리 수는 상상을 초월할 정도로 많다.
  • 그럼에도 불구하고 그 수는 유한하다. 진화 이론가들은 이런 가능한 변환의 집합을 ‘디자인 공간(design space)’라고 부른다. 창조라라는 이름의 레고 세트에 500개의 다양한 모양과 색깔의 레고들이 있다고 하면 여기서 만들어질 수 있는 모든 가능한 레고 블록 디자인은 대략 10120개나 된다. 대니얼 데닛의 용어를 빌려 이 디자인 집합을 ‘모든 가능한 레고 디자인 도서관’이라고 부를 것이다. 이 도서관은 우주 자체 –우주는 단지 약 1080개의 원자들을 갖고 있다.– 보다 훨씬 더 큰 것으로, 모든 선반들이 고유한 레고 디자인을 위한 지시 사항들을 적어 놓은 종이 노트 카드들로 꽉 들어찬 것으로 상상해 볼 수 있다. 만약 우리가 레고 도서관을 두리번거리다 우연히 노트 카드를 집어 든다면 너무도 많은 수의 디자인들이 정말 지루하다는 것을 발견할 것이다. 한 개의 푸른색 2by2 블록을 빨간색 2by2 블록에 다른 방법으로 부착하는 디자인의 수 33가지, 노란색의 2b2 블록에 부착하는 또 다른 디자인이ㅡ 수 33가지 등 단지 두 개의 서로 다른 색깔을 가진 블록을 연결하는 방법만도 수백만 가지이고, 세 블록을 연결하는 데는 수조 가지나 된다.
  • 그러나 도서관 한복판 어디엔가는 7년간 씨름할 정도로 의욕 속에서 만들어진 384개의 블록으로 구성된 찬란한 레고 우주선 디자인이 박혀있다. 마찬가지로 405개의 블록으로 만들어진 레고 성 디자인은 물론 220개의 블록으로 된 환상적인 레고 말 디자인도 있다. 또한 앞의 성과 똑같은 디자인에 단지 1개의 블록이 추가된 406개의 블록으로 된 레고 성 디자인도 있다. 이렇게 단지 블록 1개 차이의 변이 디자인들도 무수히 많다. 그러나 성에 관한 수조 가지의 변이 디자인에도 불구하고 레고 도서관에서 정말 흥미로운 디자인은 극히 드물다. 정말이지 너무도 지루하고, 임의적이며, 영문 모를 디자인들도 정말 많다. 그리고 실제로 이루어지지 못하는 디자인들 또한 많다. 이론적으로는 가능하지만 현실 세계의 중력에 직면했을 때 넘어지고 갈라지거나 무너져 내리는 그런 디자인들도 많다. 데닛의 용어를 빌리자면 당신이 레고 도서관에서 흥미를 가진 특정 디자인을 발견하기란 현실 세계의 대양에서 특정한 물 한 방울을 발견하는 것보다 더 어렵다는 얘기다.
  • 그러나 당신이 특정한 디자인을 위해 레고 도서관을 찾아야 하는 정말 보람 없는 일을 떠맡았다고 생각해 보자. 지루하고 임의적인 디자인들로 가득 찬 우주보다 훨씬 더 넓은 바다에서 성, 우주선, 말 등을 어떻게 발견할 것인가? 당신이 이리저리 도서관을 돌아다니다가 선반들을 엿보고 희미하게나마 흥미로운 디자인 한 개를 발견하는데만 수백 년이 걸릴지 모른다. 우리는 이 광활한 디자인 공간에서 신뢰할 수 있고 또 재빠르게 좋은 디자인을 발견할 수 있는 그런 알고리즘을 필요로 한다. 진화가 바로 그런 알고르짐이다. 사실상 진화는 ‘그랜드 챔피언(grand champion)’이다.

진화의 구조

  • 모든 알고리즘은 작업을 수행하기 위한 구조를 필요로 한다. 알고리즘들은 정보를 처리한다. 따라서 우선 모든 가능한 레고 디자인들을 ‘정보’로 전환하는 방법이 필요하다. 우리가 레고 디자인을 코드화 하는 방법은 많다. 영어 문장을 사용하여 적을 수도 있다. 에컨대 ‘Attach a re 2by6 block on top of a blue 2by2 block’ 이라는 식이다. 우리는 또 건축가가 청사진을 만드는 방식으로 디자인에 대한 그림을 그릴 수도 있다. 또는 레고 디자인을 표시할 특정한 코드를 만들 수도 있다. 예컨대 ‘RED26TOPBLUE22AT56TO12’ 라는 형태다. 또는 1과 0을 이용해 ‘101011100100101 등과 같이 컴퓨터 방식으로 레고 디자인을 표현할 수도 있다. 코딩이 정확히 어떤 형식으로 돼 있느냐는 중요하지 않다. 중요한 것은 디자인을 신뢰할 만한게 정확하게 코드화하고 또 풀어낼 수 있는 그런 방법으로 돼 있느냐 하는 것이다. 이런 디자인 코드화를 ‘도식’이라고 한다. 일단 도식을 정립하고 나면 디자인 공간에 있는 임의의 모든 디자인은 이 도식으로 표현될 수 있다.
  • 그 다음에는 도식으로 표현된 정보를 저장한느 어떤 장치가 필요하다. 레고 도서관의 경우 종이 노트 카드에 도식을 적음으로써 저장한다고 생각해 보자. 예컨대 어떤 카드는 ‘RED26TOPBLUE22AT56TO12’ 또 다른 카드는 ‘YELLOW26TOPBLUE22AT56TO12’의 도식들을 적어 놓는 식이다.
  • 다음으로 필요한 것은 도식으로 표현된 이론적 디자인을 현실 세계에서 진짜 플라스틱 레고 건축물로 바꾸는 메커니즘이다. 이때 필요한 것은 도식 식별자이다. 생물학적 세계에서 도식 식별자는 DNA를 생물로 바꾸는 메커니즘이다. 예컨대 새들의 경우 새끼에 대한 DNA 디자인을 실제 살아 있는 새끼로 변환시킬 수 있는 것은 수정란이다. 인간과 다른 포유동물의 도식 식별자는 여성 자궁 속 수정란이다. 데닛이 지적한 바에 따르면 <주라기 공원> 이라는 소설과 영화에서 치명적인 약점은 이것을 고려하지 못했다는 것이다. 다시 말해 공룡을 재탄생 시키려면 과학자들은 공룡이라는 도식의 식별자, 다시 말해 암컷 공룡과 그 알을 필요로 했다는 얘기다.
    • 참고) 정보를 담은 코드와 그 코드를 기록할 저장소, 그 코드를 읽고 해석하여 실제 결과물을 만들어 낼 수 있는 컴파일러가 있어야 한다는 것
  • 생물학적 시스템에서 중요한 특징 중 하나는 도식 코드가 그 자신의 고유한 도식 식별자에게 맞추어져 있다는 점이다. 인간의 경우 여자 태아가 20주가 될 때면 이미 난소와 함께 그 안에 수백만 개의 알을 갖게 된다. 그러니까 출산을 하기 전에 자궁 안에 자기 자신의 딸을 갖고 있을 뿐만 아니라 그 딸 안에 그녀의 미래 손자들을 위한 알도 갖고 있는 것이다.
  • 레고 장난감은 아직 스스로 복제하는 단계로까지는 발전하지 못했다. 레고 도식 식별자는 해당 도식 코드를 알고 있는 일곱 살 어린이다. 이 어린이 앞에 레고 블록들이 담겨 있는 큰 박스를 던져 주고 이를 디자인 하기 위한 코드를 담은 카드를 이 어린 친구에게 넘긴다고 하자. 이 어린이는 충실하게 필요한 플라스틱 부분들을 다 꺼내 놓고 선 종이에 적혀 있는 코드대로 이들을 조립해 디자인을 만들어 간다. 우리는 이 어린이를 ‘식별자 (reader)’라고 부를 것이다.
  • 이제 우리는 식별자가 하는 일을 표현할 적절한 용어가 필요하다. 즉, 디자인 공간에 있는 이론적이고 잠재적인 그런 디자인과 실제로 만들어진 살아 있는 디자인을 구별할 용어가 필요하다. 우리는 진화 철학자 데이비드 헐로부터 그 용어를 빌리겠다. 바로 ‘상호작용자(interactor)’이다. 상호작용자는 디자인 공간에서 만들어져 어떤 환경에서 실재화된 디자인을 말한다. 어떤 진화 시스템에서 일단 한 디자인이 만들어져 실재화 되면 그것은 환경과 상호 작용하면서 선택의 압력에 직면하기 때문에 상호 작용자는 적절한 용어라고 볼 수 있다.
  • 한편 진화의 구조에서 마지막으로 필요한 것은 ‘적합도 함수 (fitness function)’다. 지금까지 레고 도서관에서 우리가 찾고자 하는 것이 과연 무엇인지 명확하지 않았다. 저자는 단지 흥미로운 디자인을 찾고 있다고만 말했다. 누구에게, 무엇에 흥미롭다는 말인가? 칼 심스 모델에서 적합도 함수는 수영 속도를 의미했다. 이미 언급했듯이 디자인은 목적을 나타낸다. 따라서 레고 장난감의 목적은 어린이를 즐겁게 하기 위한 것이므로 레고 디자인 적합도에 대한 중재자로서 역할을 할 두 번째 일곱살 어린이를 생각해 볼 수 있다. 식별자는 다양한 도식에 따라 레고 장난감을 조립하고 이를 적합도를 결정하는 어린아이 –심판자라고 부르겠다– 에게 넘긴다. 이 심판자는 자신에게 넘어온 여러 장난감들을 보고, 0(따분하다)에서 100(최고다)의 척도로 평가를 한다.

진화의 과정: 어린이들의 놀이

  • 진화가 작동하기 위한 모든 필요한 정보 처리 기구들이 갖추어지면 우리는 이 시스템을 가동할 필요가 있다. 레고 조각들이 식별자의 바닥에 쏟아져 있다고 생각하자. 우리는 레고 도서관에서 ㄷ자인의 도식이 적혀 있는 100개의 카드를 임의로 꺼내어 식별자에게 건넨다. 그는 카드에 적혀 있는 대로 충실히 장난감을 조립해 심판자 앞에 그 결과물을 내놓는다. 그러면 이 심판자는 장난감을 따분한 것에서 멋있는 것에 이르기까지의 척도를 이용해 평가한다. 이 장난감은 완전히 임의적인 구조물이기 때문에 평가 점수는 대부분 0이거나 0에 가깝다. 그러나 일부 장난감은 다른 장난감들에 비해 좀 더 흥미롭다는 이유로 약간 높은 평가를 받는다. 우리는 심판자들이 이렇게 적합도 함수를 적용해 장난감을 평가하는 과정을 ‘선택’이라고 말한다.
  • 식별자는 최고로 높이 평가 받은 2개의 장난감을 선택해 이들의 디자인 변종을 시도한다. 그는 이들의 도식 카드를 꺼내 임의로 반을 뚝 잘라서 서로 바꾸어 끼운다. 그러면 새로운 변종은 가장 높이 평가를 받은 두 장난감 각각의 디자인 특성들을 갖게 된다. 진화의 용어를 빌리자면 이렇게 도식의 부분을 서로 바꾸는 것을 ‘(염색체의) 교차’라고 한다. 진화 알고리즘의 중요한 필요조건 중 하나는 어떤 디자인의 적합도가 높으면 높을수록 평균적으로 보다 많은 변종들이 여기서 만들어질 것이란 점이다. 디자인의 적합도를 높게 만드는 특징들이 그 집단 내에서 ‘증폭된다’는 얘기다. 그러나 레고 모집단의 규모에는 제약 조건이 있다. 식별자가 장난감을 만들기 위해 사용할 수 있는 레고 조각들의 수가 유한하기 때문이다. 모집단 안에서 적합도가 높은 장난감의 특성들은 증폭시키고 적합도가 떨어지는 장난감의 특성들은 사라지도록 하기 위해 다음과 가은 규칙을 실행할 것이다. 즉, 최고로 적합도가 높은 20개의 디자인들은 ‘교차’하는 짝당 4개의 변종들을 갖게 된다. 그 다음 20개의 경우는 3개, 그 다음 20개는 2개, 그 다음 20개는 1개의 변종을 각각 갖게 되고, 가장 적합도가 낮은 20개의 디자인은 단 하나의 변종도 갖지 못한다. 적합도 점수가 같으면 동전을 던져서 결정을 한다. 처음 100개의 디자인을 가지고 우리는 전체 100개의 변종들 –40+30+20+10+0– 을 만들 것이다.
  • 일단 변종들이 만들어지면 처음 100개는 파괴해서 그 부품들을 박스 안에 도로 집어 넣는다. 우리는 또 높은 점수를 받은 디자인이 박스에서 이용 가능한 것보다 더 많은 부품들을 필요로 할 경웬느 가장 점수가 낮은 디자인을 분해해 필요한 부품을 제공한다는 규칙을 도입할 것이다. 레고 세계에서조차 유한한 자원 때문에 경쟁이 있다.
  • 마지막으로 우리는 식별자 어린이가 완벽하지 않다고 가정할 것이다. 때때로 진행 과정에서 실수가 벌어질 것이다. 한 카드에 있는 도식을 다른 카드에 옮겨 적는 과정에서 실수를 할 수 있다. 예컨대 우연히 기호를 변화시키거나 누락하고 또는 그전에 없던 기호를 추가할 수 있다. 이런 실수의 대부분은 인식하지 못한 채 지나간다. 즉, 어디에선가 한 부분의 색깔이 바뀌었다든가 특정한 블록 벽돌 부분의 방향이 좀 달라졌다든가 하는 경우들이다. 그러나 가끔은 그런 임의의 실수 하나가 후속적으로 나오는 장난감의 적합도에 큰 영향을 미칠 수 있다. 그런 임의의 실수가 바로 ‘돌연변이’다.
  • 자, 이제 두 어린이가 수십 번 이 사이클을 따라간다고 하자. 과연 무슨 일이 일어날까? 칼 심스의 컴퓨터 시뮬레이션에서처럼 처음에는 임의의 낮은 적합도의 디자인들로 이루어진 집단을 보게 될 것이다. 어린이들은 한동안 수많은 흥미 없는 디자인들로 시간을 보낼 것이다. 그러나 결국 한 두 디자인이 심판자의 눈에 띄게 될 것이고, 그 디자인은 변종들을 만들어 내기 시작할 것이다. 곧 보다 적합도가 높고, 보다 흥미로운 디자인들이 나타난다. 장난감 집단 전체적으로 적합도가 올라가기 시작한다. 그와 동시에 장난감들에서 공통된 특징들이 나타날 것이다. 심판자의 입맛을 충족 시키는 이른바 ‘좋은 기술들’이다. 예컨대 만약 심판자가 사람과 동물들의 이미지를 갖는 장난감들을 좋아한다면 사지와 얼굴을 가진 장난감들이 나타나기 시작할 것이다. 심판자가 노란색을 좋아한다면 전체적으로 놀아 색조가 많이 흐르는 장난감이 보이기 시작할 것이다. 어느 시점에 이르면 복잡한 구조들이 출현하기 시작한다. 예컨대 레고 인간, 레고 말, 레고 강아지 등 적합도를 결정하는 심판자의 기호에 맞는 것이라면 무엇이건 나타날 것이다. 레고 도서관을 임의로 찾아 나설 때에 비해 상대적으로 적합도가 높은 디자인에 대한 발견이 훨씬 빠르게 일어날 것이다.
  • 상호 작용자 집단에서 공통된 특징과 좋은 기술들이 출현하는 것은 또 하나의 중요한 결과를 낳는다. 복잡한 디자인은 내내적으로 모듈적(modular)이다. 우리의 몸은 놀라울 정도로 시스템, 부분 시스템 그리고 요소들의 배열로 이루어져있다. 예컨대 심장 혈관 시스템에는 심장과 적혈구가 있고, 이는 다시 또 시스템과 부분 시스템으로 이어진다. 복잡한 인간 몸의 디자인은 자동차의 브레이크 시스템, 브레이크 그 자체, 그리고 개별 브레이크 패드와 똑같은 특징들을 갖고 있다. 복잡한 디자인은 모듈과 부분 모듈들이 계층적으로 구성된 하나의 집합체로 볼 수 있다. 진화 시스템에서 이들 시스템, 부분 시스템, 요소들 각각은 도식에서 그에 상응하는 코드 정보들을 갖고 있다. 진화적인 건축을 위한 도식은 빌딩 블록들로 가득 차 있다. 이 빌딩 블록들은 보다 높은 차원의 빌딩 블록으로 결합되고, 이는 다시 더 높은 차원의 빌딩 블록으로 결합된다.
  • 생물학에서 DNA 도식을 구성하는 빌딩 블록은 바로 개별 유전자들이다. 이 개별 유전자들은 눈 색깔에서부터 유독성 암모니아를 요소로 바꾸는 화학적 사이클에 이르기까지 모든 것을 코드화한 것이다. 레고 사례에서 레고 사지와 노란색 등을 코드화하는 도식의 덩어리들을 볼 수 있을 것이다. 어떤 빌딩 블록이 상호 작용자의 적합도에 도움이 된다고 하면 시간이 갈수록 그 빌딩 블록은 집단 내에서 보다 확산된다. 예컨대 모든 인간은 암모니아를 분해하는 매우 유용한 유전자를 갖고 있다. 그리고 만약 우리의 심판자가 노란색을 정말 좋아한다면 모든 도식들에서 노란 빌딩 블록이 갑자기 나타나기 시작할 것이다.
  • 실제로 도킨스가 지적했듯이 선택은 상호작용자 그 자체가 아니라 빌딩 블록에서 작용한다. 심판자는 어떤 특징을 선호하고 그 결과 진화 과정은 심판자 앞에 서로 다른 결합들을 매달아 놓고 어떤 특징이 심판자의 눈을 사로 잡는지 시험해 그런 특징을 가진 것들을 더 많이 채택한다. 시간이 흐르면 그런 특징들은 집단 내에서 보다 확산된다. 따라서 사실상 진화 과정은 개별적인 장난감을 선택하는게 아니다. 비유를 하자면 “심판자는 사지(limbs)가 있는 노란색을 좋아한다.”고 말하는 그런 것이다.
  • 이제 그 심판자를 제거하고 다른 심판자로 바꾼다고 생각해 보자. 갑자기 레고 환경에서 적합도가 높은 것과 그렇지 못한 것들이 바뀌게 될 것이다. 그전 심판자의 기호를 충족 시켰던 많은 장난감들이 이제는 심판자 2에 의해 ‘따분한 것’으로 평가되는 적합도의 붕괴가 일어난다. 그러나 일정 시점이 되면 진화 알고리즘이 안착되면서 좀 더 나은 디자인들을 제시하기 시작한다. 일단 이런 일이 일어나면 더 좋은 디자인의 변종들이 점점 더 많이 생겨나고, 결국 레고 장난감 집단들의 적합도는 다시 상승하기 시작한다. 만약 심판자 2가 비행기, 자동차, 녹색을 좋아한다면 날개, 바퀴, 녹색을 많이 가진 그런 디자인들이 출현하기 시작할 것이다.
  • 진화는 가능한 모든 가능성의 공간에서 시작하는 변화의 과정이다. 많은 디자인들을 시험해 보면서 어떻게 작동하는지 보고, 그중 좋은 것은 더 많이 채택하고 그렇지 못한 것은 버리는 일을 반복한다. 여기에는 어떤 예측, 계획, 합리성, 그리고 의도적인 디자인 같은 것들은 없다. 그저 아무 생각 없이 기계적으로 움직이는 그런 알고리즘만 있을 뿐이다.

복제자는 복제를 원한다

  • 내생적인 진화의 논리 또는 외부의 디자이너다 프로그래머의 도움을 받지 않는 그런 진화를 제대로 이해하기 위한 가장 좋은 방법은 지구 상에서 생물의 발전을 살펴 보는 것이다. 지구는 대략 46억 년 정도 되었다. 처음 수십억 년 동안은 어떤 종류의 생물도 없었다. 그러나 이 기간 동안 냉각수 같은 대양에서는 여기저기 허우적대는 초기 지구의 풍부한 화학적 작용이 있었다. 격랑이 일면서 땅덩어리가 만들어졌고, 화산 등 대기권으로의 분출도 일어났다. 천문학적으로 많은 수의 분자들이 열을 받고, 냉각되고, 이리저리 튀겨지고, 전기적으로 충전되면서 상호 작용을 하고 서로 반응 했다. 이를 통해 점점 더 복잡한 분자들이 생성 되었다.
  • 이런 과정을 거쳐 30 ~ 35억 년 전에 이르러 놀라운 일이 일어났다. 스스로를 복제할 수 있는 분자들이 생겨난 것이다. 맨 처음 복제하는 분자의 수준은 매우 단순한 것으로, 본뜨기 형판, 즉 주형을 넘는 수준이 아니었을 것이다. 어떤 자기 복제 분자가 아마도 주변의 다른 화학 물질 집단에서 정반대 분자들을 끌어들이고, 이들이 다시 자신들과 정반대인 분자들을 끌어들이면서 초기 분자의 복제를 만들어 냈을 것이다. –마치 네거티브 사진을 찍어 프린트한 것과 같다– 이와 같은 간단한 자기 복제 분자조차 우연히 일어나기란 정말 어렵다. 그러나 조의 조의 한 번은 정말 작은 확률이지만 수조의 조의 분자들이 약 10억 년에 걸쳐 1000의 6제곱의 제곱만큼의 상호 작용을 하는 경우라면 충분히 일어날 만하다. 어떤 과학자들은 또한 그 가능성이 열역학 법칙적으로 크게 높아졌다고 믿는다. 초기 지구는 화산과 다른 여러 가지 지열 활동, 그리고 신진 대사의 기초인 반응 네트워크과 복잡한 유기 분자들로 인해 엄청난 양의 자유 에너지를 가졌다. 따라서 자기 복제는 이 모든 에너지가 대양의 화학 작용을 통하여 퍼져 나가는 자연스럽고도 가능한 방법이었을 것이다.
  • 과학자들은 처음으로 자기 복제를 한 분자 –또는 분자들– 의 정확한 구성을 아직도 모르고 있다.이것이 여전히 중요 연구 영역이 되고 있는 이유다. 하지만 최소한 하나의 분자는 RNA의 전조와 같은 것이었음이 틀림없다는 것을 알고는 있다. –지구 상의 모든 생물들은 리보솜 RNA 상의 공통된 유전자들을 갖고 있다– 그러나 일단 초기 지구에서 이리저리 튀기는 임의의 화학작용으로부터 첫 복제 분자가 발생했다면 하나의 특이한 논리가 일어난 것이다.
  • 리처드 도킨스가 <이기적인 유전자>에서 지적한 대로 어떤 복제 과정도 완벽하지 않다. 결국 오류가 끼어들고 이로인해 여기저기서 조금씩 변화가 일어난다. 그런 점에서 자기 복제 분자는 원래와 거의 비슷하지만 아주 똑같지는 않은 것을 만들어 낸다고 말해야 옳을 것이다. 그런데 이런 오류가 자기 복제 과정에서 크게 손상될 정도로 그렇게 충분히 큰 게 아니라고 생각해 보자. 시간이 좀 지난 뒤에는 화학 물질들의 집단은 조금씩 서로 다른 다양한 자기 복제 분자들로 가득 찰 것이다. 그 화학 물질 집단 내에 있는 다양한 자기 복제 물질들은 똑같다고 봐야 할 것인가? 도킨스도 동의하듯이 불가피하게도 그렇지 않다. 어떤 분자들은 다른 분자들에 비해 화학적으로 좀 더 안정적일 것이고, 그 결과 이 분자들은 더 오래 살아남거나 자기 복제에 더 빠르다. 더 오래 살아남고 더 좋고 더 빠른 자기 복제자들이 집단 내에서 더욱 퍼지게 될 것이다. 이에 더하여 자기 복제를 하는 분자들의 이웃에서 이들의 복제에 쓰이게 될 유한한 원료들이 공급된다. 임의의 변화가 발생해 어떤 분자가 다른 분자에 비해 화학적으로 이런 원료를 끌어들이는데 더 능숙하게 된다면 그 분자는 보다 많은 자기 복제를 하게 될 것이다. 유한한 자원을 놓고 벌어지는 경쟁은 맨 처음부터 진화의 테마였다.
  • 결국, 어떤 분자들은 다른 동료 자기 복제자들의 구조를 불안정하게 만들거나 분해하는 화학적 구조를 우연히 갖추게 되고 이로 인해 공격하는 분자는 자신의 목적을 위해 희생물이 된 분자들을 편입할 수 있다. 이런 우연한 혁신은 순간적으로 엄청난 이득을 가져다 준다. 혼자서 원료를 발견하고 조립하는 것보다 동료 복제자들로부터 미리 조립된 원료를 취하는게 훨씬 더 쉽기 때문이다. 붕괴에 취약하고 자신의 화학 물질을 도둑 맞은 분자들은 집단 내에서 급격히 쇠퇴하는 반면 훌륭한 파괴자들은 재빠르게 자기 복제를 해낼 것이다. 그러나 그러면 일부 자기 복제 분자들의 경우 자신들의 자기 복제 장치와 외부 세계 사이에 완충 역할을 하는 화학 물질, 예컨대 지질을 외층부에 우연히 갖게 될지 모른다. 파괴자들을 대비해 방어 장치를 가진 분자들은 성공적으로 보다 빈번하게 자기 복제를 할 것이고, 그만큼 집단 내에서 확산된다. 일단 밖의 세계에 대비한 장벽을 갖추고 복제하는 단계에 도달하면 지금 살고 있는 우리의 눈에 잡히는 어떤 특별한 무엇이 있다. 바로 바이러스다. 어떤 바이러스는 지금 살아 있다고 볼 수도 있고 그렇지 않다고 볼 수도 있지만, 확실한 것은 아직도 진행 중이라는 사실이다.
  • 분자들의 전쟁 밑바닥에 흐르는 논리는 매우 간단하다. 좋은 복제자들이 복제된다는 점이다. 동의어의 반복처럼 들리지만 단순하고 순환적인 논리는 가장 미묘하면서도 강력한 진화의 동인이다. 우연히 복제 능력에 어떤 격차가 발생하면 복제를 촉진시키는 요인들은 시간이 흐를수록 그 집단 내에서 더욱 보편화 될 것이다. 진화는 궁극적으로 복제를 지원하는 빌딩 블록 들을 선택한다. 이것이 도킨스의 유명한 ‘이기적 유전자’ 이론의 핵심이다. 여기서 이기적이라는 의미는 때때로 잘못 이해되기도 하는데, 도킨스는 유전자가 우리 –또는 다른 생물들– 를 생존 탐색과 관련하여 본질적으로 이기적이게 만든다는 뜻으로 한 말이 아니다. 우리 자신은 물론이고 다른 많은 종들에게 협력은 실제로 중요한 생존 수단이다. 그가 말하고자 했던 것은 복제의 논리였다. 자신의 복제를 지원하는데 능한 유전자들이 복제될 것이라는 얘기다. 그렇지 않으면 경쟁의 세계에서 살아남을 수 없기 때문이다.
  • ‘좋은 복제자들이 복제된다’는 논리는 때때로 우리의 컴퓨터를 망쳐 놓는 바이러스의 세계에서도 볼 수 있다. 어떤 성공적인 컴퓨터 바이러스는 자신을 많이 복제하는 바이러스다. 대부분의 바이러스는 수신자의 이메일 주소록을 이용해 자신을 복제한다. 따라서 바이러스가 복제되기 위해서는 그것이 도착할 때 수신자로 하여금 이메일을 열어 보도록 속이지 않으면 안 된다. 예컨대 바이러스는 ‘나는 당신을 사랑한다’에서부터 ‘OOO의 누드 사진’에 이르는 제목들을 단 이메일로 날아온다. 최근에 저자가 받은 이메일은 보낸 사람이 ‘관리자’이고 제목은 ‘당신의 이메일 계정이 폐쇄된다’는 제목을 단 것이었다. 이 모든 것은 해커들이 자신들의 만든 바이러스가 복제되도록 하기 위한 기술들이다. 복제되기 좋은 바이러스들이 복제 되기 때문에 전 세계 컴퓨터 바이러스 집단을 조사해 본다면 특히 잘 속이는 바이러스들이 그중에서도 훨씬 많다는 것을 알게 될 것이다.
  • 이렇게 해서 약 38억 년 전 자기 복제 분자 전쟁은 훌륭한 복제자들이 오늘날 RNA와 비슷한 자기 복제 과정, 그리고 분자들과 외부 세계 사이의 기초적인 막을 갖는 정도로 진전됐다. 그러나 미토콘드리아, 엽록체, 세포핵 또는 보다 고등 유기체 세포에서 발견되는 다른 세포 기관 등은 갖추지 못한 그런 수준이었다. 이들 첫 생물 형태는 봉지 안에서 자기 복제를 하는, 예컨대 바다에서 거품이 인 매트 모양으로 떠다니는 간단한 남조식물 같은 수준이다. 그러나 일단 자기 복제 분자가 이정도에 이르면 진화는 경주를 향해 출발한 것이나 다름 없다. 보다 복잡한 내부 조직을 갖추고, 이동하고 햇빛을 처리하는 등의 일을 할 수 있는 수많은 단세포 조직들이 생겨나기 시작한다. 이런 과정을 거쳐 18억 년 전에 이르면 진화는 다세포 생물 형태라는 디자인을 발견한다. 이것이 식물, 동물, 그리고 지금의 우리에 이르기까지 다양성의 폭발을 가져온 것이다.
  • 이 생물 진화 이야기에는 물론 추가적으로 연구되어야 할 중요한 과학적 세부 사항들이 많이 있지만 그 논리는 어떠한 외부적 요소들을 필요로 하지 않는다. 도식과 도식의 식별자, 그리고 적합도 함수가 있으면 바로 진화의 논리는 정립될 수 있다. 생명 이야기에서 도식과 도식 식별자는 똑같은 하나다. 자기 복제 분자들이 코드이면서 동시에 식별자인 것과 같다. 복제를 위한 기술조차 시간이 흐르면서 진화를 해왔다. 이 과정을 거쳐 DNA와 DNA를 보호하는 핵막, 성적 재생, 그리고 상대방 성을 끌어들이기 위한 수많은 전략들과 같은 혁신들을 만들어 냈다.
  • 레고 실험에서 적합도 함수는 심판자에 의해 외생적으로 주어졌다. 생물학에서 적합도 함수는 내생적이다. 적합도를 결정하는 어떤 제약 조건은 고정적이다. 예컨대 물리나 화학 법칙 같은 것들이다. 그러나 적합도 함수의 다른 중요한 측면들은 시스템과 더불어 공진화를 한다. 하나의 유기체를 둘러싼 환경 중 매우 중요한 한 부분은 다른 유기체들이다. 각 유기체의 진화를 향한 움직임과 그 반대의 움직임은 다른 유기체들의 적합도에 영향을 미친다. 만약 약탈자라면 매우 빠른 스피드 쪽으로 진화할 것이다. 그러나 먹잇감은위장술을 발전 시킬 것이고, 이에 따라 약탈자의 시력은 보다 향상될 것이다. 이런 식의 맞물려 진화하는 일종의 군비 확장 경쟁이 끝없이 일어난다. 그러나 각 움직임마다 적합도 함수가 변한다. 적합도의 또 다른 요소인 지구의 기후조차 생물이 진화하면서 변해 왔다. 예컨대 식물의 발전은 대기권에 산소량을 증가시켰다. 이는 산소를 들이마시는 생물들을 위한 길을 만든 효과를 가져왔다. 물론 지금은 인간의 진화가 기후는 물론이고 지구 상에 있는 모든 생물들의 적합도 함수를 더욱 바꿔 놓고 있다.
  • 진화를 위한 준비는 결국 정보 처리로 귀결된다. 진화가 발판을 마련하려면 정보를 처리하는 매개체가 필요하다. 이는 도식을 저장하고 수정하고 복사하기 위한 것이다. 생물 세계에서 진화가 출발하려면 열역학과 우연히 결합돼 분자 디자인을 저장하고, 수정하고, 복제할 수 이는 첫 자기 복제 분자가 만들어져야 가능하다. 제 3부에서 경제 세계에서는 진화에 발판을 마련해 주는 정보 처리 매개체가 말과 문서라는 점을 알게 될 것이다. 일단 정보 처리 매개체가 정립되면 차별화, 선택, 그리고 복제의 과정이 시작될 수 있다. 좋은 복제자가 복제되고, 무엇이 적합한지는 환경에 의해 결정되는데, 여기에는 다른 복제자들과의 경쟁이 포함된다. 그렇게 진화는 보다 더 좋은 복제자 디자인을 추구하면서 디자인 공간을 향해 행진을 시작한다.

적합도 지형 탐색

  • DNA로 코드화할 수 있는 모든 생명체들의 디자인 공간을 생각해 보자. DNA 알파벳은 4문자, C, G, A, T다 이들 4개의 뉴클레오티드 염기는 시토신, 구아닌, 아데닌, 티민이다. 각각 염기쌍으로 배열되어 있으며, 이들은 다시 우리가 익숙한 이중 나선형 DNA로 되어 있다. 인간 게놈은 약 60억 개의 DNA 염기쌍을 갖고 있다. 인간보다 더 긴 DNA 가닥을 가진 생명체의 진화를 생각해 보기위해 염기쌍이 100억 개가 넘는 DNA 알파벳의 모든 가능한 서열을 담고 있는 그런 디자인 공간을 상상해 보자. 나아가 두꺼운 책에다 각각의 서열을 적어 책상 위에 쌓는다고 해보자. 당연히 우주의 규모보다도 훨씬 더 클 것이다. 책상 위 어디엔가 당신의 전체 DNA 서열을 담은 3천 페이지짜리 책 한 권이 있을 뿐만 아니라 여러 종류의 대장균 서열 관련 책 약 1만 900권, 식물 종들 관련 책 1012,000 등 너무도 많은 책들이 있다. 대니얼 데닛은 가능한 모든 DNA 생명체들의 디자인 공간을 가리켜 맨 처음 유전자를 발견한 19세기 수도사의 이름을 따서 ‘멘델의 도서관’ 이라고 부른다. 레고 도서관에서와 마찬가지로 여기 있는 것들 중 대부분은 시시한 것들이다. 어떻게 해서 만들어지기는 했지만 기껏해야 처음부터 실패작인 돌연변이체를 생산하는, 한마디로 유전자로서는 별 볼일 없다는 얘기다. 환경에 성공적으로 적응해 살아남을 수 있는 디자인은 상상할 수 없을 정도로 많지만, 그보다 더 상상할 수 없을 정도로 많은 거대한 디자인 공간의 규모와 비교해 보면 극히 드물다고 말해야 할 것이다.
  • 레고 도서관에서와 마찬가지로 멘델 도서관도 유한하다. 그러나 이것은 단지 특정 시점에서 유한하다. 사실 지구에서 생물의 역사를 보면 단순한 박테리아에서부터 보다 복잡한 포유류에 이르기까지 시간이 흐름에 따라 DNA 가닥의 길이가 확장돼 왔다. 이는 곧 DNA 디자인 공간 규모의 확장이다. 디자인 공간을 풍선의 표면과 비슷한 것으로 새각해 볼 수 있다. 특정 시점에서는 유한하지만 공기 등이 들어가면서 표면이 팽창하듯이 이것도 늘어난다. 멘델 도서관과 같은 디자인 공간의 유한성은 수학적으로는 중요한 의미가 있지만 실제적인 목적 측면에서 보면 무한한 것과 비슷하다. 인간들과 다른 생명체들의 모든 가능한 디자인들에 대한 완전한 탐색은 수많은 우주들의 수명이 다할 때까지도 결코 이루어질 수 없다.
  • 데닛으로부터 또 하나의 이미지를 차용하자. 멘델 도서관에 있는 각 DNA 책은 그 위에 탑처럼 금속 막대기가 설치되어 있다고 상상하자. 우리는 각 막대기의 높이가 그 밑에 있는 특정 DNA 서열의 적합도를 나타내도록 할 것이다. 그러니까 높을수록 디자인의 적합도가 좋은 것이다. 물론 여기서 ‘적합’이라는 말은 어디까지나 특정 시점에서 특정 환경에 대한 적합을 의미한다. 추가적인 가정을 하나 더 하겠다. 멘델 도서관에 있는 DNA 책들은 한 비트씩 떨어진 순서로 배열되었다고 하자. 가령 AGCCT 서열은 CGCCT 옆에 있고, CGCCT는 GGCCT 옆에 위치하는 식이다. 그렇다면 당신의 DNA를 담고 있는 책 바로 옆에는 단지 글자 하나만 차이나는 무려 360억 가지 변종들이 있다. 우리는 한 번에 한 글자씩 움직여 책에서 책으로 이동하면서 각 DNA 서열에 대해 막대 높이로 표시되는 적합도 변화를 살펴볼 수 있다.

  • 위 그림의 서로 다른 막대 높이를 가진 산 같은 경관을 보자. 어떤 디자인이 다른 다자인보다 더 좋은지 알 수 있도록 디자인 공간을 표현하는 방법을 생물학자들은 ‘적합도 지형 –경관– ‘ 이라고 부른다. 이 개념은 진화 이론가인 시월 라이트가 1931년 처음 개발한 개념이다. 적합도 지형은 디자인 공간에서 좋은 디자인이 어디에 위치해 있는지를 시각적으로 –연구자들에게는 수학적으로– 보여준다. 좋은 디자인은 높은 적합도 정점을 가진 것으로 생각할 수 있다. 따라서 거의 무한에 가까운 디자인 공간에서 좋은 디자인을 발견하는 문제는 적합도 지형에서 높은 정점을 찾아내는 것과 같다.

  • 적합도 막대로 구성된 이 거대한 산더미 같은 지형은 어떻게 생겼을까? 스튜어트 카우프만은 두 가지 극단적인 경우를 생각해 볼 수 있다고 주장한다. 하나는 모든 막대들이 서로 다른 높이를 갖는 경우다. 이때 그 지형은 완전히 임의적이고, 뾰족한 막대들이 무질서하게 뒤범벅된 그런 모양새일 것이다. <그림 9-4> 또 하나의 극단적인 경우로 완전히 질서 잡힌 지형을 생각해 볼 수 있다. 낮은 적합도에서 높은 적합도로 점진적으로 발전, 탑처럼 올라가면서 후지 산 같은 단일 정점을 가진 모양새다. <그림 9-5> 그러나 현실에서는 그 중간 어디쯤에 해당한다는 것이 카우프만의 주장이다. <그림 9-6>
  • 그러나 당신의 DNA 책과 단지 글자 하나가 다른 DNA 책은 십중팔구 –그것이 특별히 운지 옿은 혹은 운이 나쁜 돌연변이가 아니라면– 당신의 것과 똑같은 적합도를 가질 것이다. 두 글자가 다른 DNA 책 또한 동일한 적합도를 가질 것이다.그러나 당신의 DNA 책에서 점점 멀어져 수십 자, 수백 자 또는 수천 자가 다른 DNA 책으로 이동하면 이런 변하ㅗ가 적합도에 영향을 미칠 가능성은 올라가기 시작한다. 멀리 떨어질수록 그 책의 접합도 또한 다를 가능성이 크다. 하지만 그런 변화들이 거리에 따라서 고르게 이루어지지는 않을 것이다. 어떤 조그만 변화가 큰 효과를 가질 수도 있고, 큰 변화임에도 반대로 조그만 효과를 가질 수 있기 때문이다. 따라서 두 이웃 DNA 간의 적합도는 단지 개략적으로만 상호 연관되어 있는 셈이다. 책들 사이의 거리가 보다 떨어지도록 이동하면 적합도 변화는 울퉁불퉁한 모양새가 된다. 카우프만이 발견한 것은 이런 적합도 지형에서 개략적인 상관관계의 효과는 임의적으로 뒤범벅된 형태 또는 하나의 정점을 가진 후지산 모양 보다는 스위스 알프스 산과 비슷한 지형으로 나타난다는 것이다.
  • 산타페 연구소의 짐 크러치필드 등 다른 연구자들은 적합도 지형의 수학적 형상을 연구해 추가적인 특징을 밝혀냈다. 먼저 정상적인 산의 지형과 달리 적합도 지형은 평탄한 지역들로 둘러싸여 있다. 앞에서도 언급했지만 유기체 DNA 코드 상의 수많은 조그만 변화들은 그것이 적합도에 긍정적이든 부정적이든 거의 영향을 미치지 않는다.
  • 따라서 당신의 DNA와 한 자가 다른 360억 개의 변종들, 그리고 몇 글자 다르지 않은 수조의 수조의 변종들로 이루어진 지형은 크고 평탄한 모양새일 것이다. 그러나 이런 평탄한 고원 내부에는 깊은 구멍 또는 무시무시한 크레바스들이 있다. 마치 스위스 치즈의 얽은 자국들이 있는 모양이다. 이런 구멍에 빠지면 적합도는 크게 떨어진다. 수많은 조그만 돌연변이들이 거의 아무런 변화를 가져다주지 않는다고 하지만, 그중에는 꽤 위험한 것들도 있기 때문이다. 예컨대 뇌 기능에서 중요한 단백질을 만드는 그런 지시가 당신의 DNA에 빠져 있다면 당신은 큰 곤란을 겪게 될 것이다. 그러나 그 이면을 보면 매우 부정적인 돌연변이가 있는가 하면 반대로 매우 긍정적인 조그만 돌연변이도 있다. 그런 긍정적인 조그만 돌연변이들은 적합도의 괄목할만한 향상을 가져오거나, 때때로 그보다 훨씬 더 중요한 ‘적합도 향상을 위한 돌연변이’가 추가적으로 나올 길을 열어 놓을 수 있다. 크러치필드는 적합도 지형에서 이를 ‘관문들(potals)’이라고 부른다. 이것들은 마치 산에 있는 한 고원에서 다른 고원을 이어주는 다리처럼 산으로 올라가는 빠른 경로들이다. 앞 장에서 우리는 생태계에 있는 수많은 종들의 관계로 이루어진 네트워크 구조를 논하면서 단속 균형을 설명하는 모델을 살펴보았다. 크러치필드에 따르면 평평한 지역, 스위스 치즈의 구멍, 그리고 관문 등 적합도 지형의 특징들은 유전 변화의 영향과 관련하여 비선형성을 갖게 함으로써 단속 균형에도 기여한다. 대부분의 변화들은 거의 또는 아무 영향이 없지만 어떤 변화는 적합도에 큰 영향을 미치고 그 결과 다양한 종들의 관계로 이루어진 네트워크에 큰 영향을 미친다.
  • 도식 상에 조그만 변화를 나타내는 대부분은 적합도에 미치는 영향이 작거나 거의 없지만 그중의 일부가 큰 영향을 미치는 디자인 공간은 그림에서 본 바와 같이 개략적으로 상호 연관된 모양의 그런 생물학적 적합도 지형을 갖게 될 것이다. 이것은 중요한 포인트다. 바로 그런 특징이 진화를 적합도 지형을 탐색하는 하나의 이상적인 알고리즘으로 만든다.

탐색 알고리즘의 그랜드 챔피언

  • 높은 정점을 향해 멘델의 산 같은 적합도 지형을 탐색하는 임무를 부여 받았다고 생각해 보자. 그러나 과제는 가장 높은 정점을 발견하는 것이 아니다. 먼저, 단일의, 또 명확하게 가장 높은 정점이라고 할 수 있는 것이 반드시 존재하지 않을 수 있다. 똑같은 높이의 여러 개 정점들이 서로 멀리 떨어져 있는 경우도 있을 수 있다. 그러나 보다 중요한 것은 다른 모든 막대보다 조금이라도 더 높은 적합도 막대가 하나 있다고 하더라도 그것을 발견할 가능성은 극히 낮다는 점이다. 게다가 나중에 살펴보겠지만 정점의 높이도 계속 변한다. 그래서 막상 가장 높은 막대를 발견했을 때는 그것이 이미 낮아졌거나, 또 다른 막대가 더 높아졌을 수 있다는 얘기다. 따라서 어떤 ‘전역 최적점’을 탐색한다기 보다는 주어진 시점에서 우리가 발견할 수 있는 가장 높은 정점들을 찾는 것이 과제다.
  • 도보 여행을 출발하기 전에 탐색과 관련하여 세 가지 추가적인 조건들을 소개하겠다. 먼저, 칠흑 같은, 달빛도 없는 어두운 밤이라는 것을 생각해야 한다. 당신은 방랑이 당신을 더 높은 곳으로 인도하고 있는지, 아니면 더 낮은 곳으로 인도하고 있는지 느낄 수 있다. 그러나 그게 전부다. 어떤 의미에서도 진화는 앞을 내다보는 능력이 없다는 것을 말한다. 진화가 할 수 있는 모든 것은 그것이 효과가 있는지 없는지를 알기 위해 무언가를 시도해 보는 것뿐이다.
  • 둘때, 이런 산 같은 적합도 지형은 상당히 위험한 특징을 갖고 있다. 카우프만은 지형에서 적합도가 낮은 계곡이나 갈라진 틈에 붙어 있는 유독성 안개의 이미지를 사용한다. 만약 당신이 헤매다가 너무 낮은 곳으로 가면 안개 속으로 내려가 질식해 숨지고 말 것이라는 얘기다. 여기서 안개는 자연 선택을 나타낸다. 어떤 주어진 시점에서 당신의 적합도가 너무 낮으면 당신은 솎아져 나올 것이다.
  • 셋째, 적합도 지형은 정태적이지 않다. 시간에 따라 계속 변한다. 환경이 변하면 적합도 함수도 변하고, 이에 따라 오늘은 적합도가 높은 정점인 곳이 내일은 그렇지 않을지 모른다. 환경이 변하면 지형도 움직이고 기복이 생겨난다. 적합도가 떨어지는 계곡들이 갑자기 밀고 나와 새로운 산이 되고, 반면 그전에 높은 정점이었던 곳은 낮은 곳으로 내려앉아 유독성 안개 밑에 위치하는 식이다. 주어진 특정 시점에서 지형의 어떤 지역은 안정적이고, 다른 지역은 텍토닉 플레이트처럼 점진적으로 이동할 수 있다. 반면 또 다른 지역들은 매우 활발해, 극적인 융기, 지진, 분화 등으로 가득 찬 단층성과 같은 것들일 수 있다.
  • 소행성의 지구 충돌과 이로 인한 기후 변화처럼 적합도 지형의 일부 변화는 환경에 대한 임의적인 변화를 나타낸다. 그러나 움직이고 솟아나는 일의 대부분은 종 자체의 진화 결과다. 앞서 모든 종은 다른 종들과의 복잡한 관계망 속에서 존재한다는 점을 지적한 바 있다. 즉, 약탈자, 먹잇감, 공생, 기생 등이 관계들이다. 종들은 공진화를 하면서 공격과 방어, 협력과 경쟁 간 일종의 군비 확장 경주를 벌인다. 그 결과 어느 한 종의 진화적 변화는 다른 종들의 적합도에 연쇄적 반응을 유발할 수 있다.

  • 지형을 탐색하기 위하여 먼저 임의의 한 출발점을 선택한 뒤 다음과 같은 간단한 규칙을 따른다. 임의의 방향으로 발걸음을 옮긴다. 그래서 더 올라간 것이면 다시 임의의 방향으로 움직이고, 만약 그렇지 않으면 그전 위치로 돌아와 다시 시도한다. 만약 출발점이 계곡 아래쪽이고 이 규칙을 따른다면 처음에는 계곡 바닥에서 이리저리 헤맬 것이다. 그러나 결국 위로 올라가는 경로를 발견할 것이고 꽤 빠르게 가장 가까운 정점으로 기어오를 것이다. 이런 규칙을 ‘적응적 보행’이라고 부른다. 적응적 보행은 개별적인 정점으로 올라가는데는 효율적이지만 한계가 있다. 일단 정점의 꼭대기에 이르면 거기서 멈추어 국지적인 어떤 최고점에 박혀 버린다. 더 높은 정점이 그 계곡 건너 가까이에 있을 수도 있는데 그런 것을 결코 찾아내지 못하게 된다는 얘기다. 왜냐하면 그곳으로 가려면 다시 처음으로 내려가야 하기 때문이다. 결론적으로 적응적 보행 모델은 에베레스트 산들로 이루어진 지역의 중간에 있는 한 흙 두둑 위에 멈춰 버리고 마는 그런 결과를 낳을 수 있다.

  • 이제 또 다른 전략을 가지고 임의의 출발점을 선택하자. 이번에는 보행이 아니라 매우 강력한 스카이 콩콩으로 움직인다고 생각해 보라. 당신이 버튼을 누르면 임의의 거리, 임의의 방향으로 옮겨 갈 수 있다. 높은 곳에 도착할 것이라는 희망을 갖고 당신은 버튼을 계속 누른다. 이 전략은 ‘랜덤 점프 (random jump)’로 불린다.
  • 랜덤 점프는 적응적 보행 모델과 비교하여 국지적인 최고점들에 바히지 않는다는 이점이 있다. 즉, 낮은 정점에서 보다 높은 정점을 향해 중간에 있는 계곡들을 넘어 계속 뜀박질 할 수 있다. 그러나 이 또한 불리한 점이 있다. 즉, 어떤 죽음의 계곡 밑에 당신이 놓여있다는 것을 발견할지 모른다. 적응적 보행 전략의 경우는 최소한 당신을 가장 낮은 지역에서 빠져 나오게 하고 유독성 안개를 피하게 해준다. 그런 점에서 보면 랜덤 점프는 적응적 보행 전략에 비해 좀 위험한 전략이다. 랜덤 점프는 또 실제로 높은 정점을 발견할 가능성이 매우 낮다. 원뿔 형태로 된 산의 기하학을 생각해 보자. 원뿔을 놓고 수평으로 반을 뚝 자르면 원뿔 밑의 반 표면은 위의 반 표면 보다 항상 더 클 것이다. 지형의 보다 큰 표면적은 높은 적합도보다 낮은 적합도를 갖는 영역들로 채워질 것이다. 그렇다면 평균적으로 볼 때 랜덤 콩콩 점프를 하면 적응도가 낮은 곳에 당신이 위치하게 될 가능성이 크다. 물론 운 좋게도 가끔 그렇지 않은 경우도 있겠지만 가능성 측면에서는 그렇다. 적합도 지형을 탐색하다가 적당히 높은 적합도를 가진 지역을 찾아낸 그 누구에게도 지금보다 더 좋아지거나 더 나빠질 수 있는 수많은 길들이 항상 있을 것이다. 여기서 이 점을 다시 한 번 상기 하는 것이 좋겠다. 어떤 디자인 공간에서 좋은 디자인의 수는 데닛의 표현을 빌리자면 ‘0에 가까울 정도로 적다’
  • 이제 우리는 골라 잡을 수 없는 이른바 홉슨의 선택 (Hobson’s Choice)에 직면한 것 같다. 위험도는 낮지만 매우 높은 정점에 도달할 가능성이 작은 전략을 택하든지, 아니면 높은 정점에 도달할 가능성은 있지만 잘못하면 유독성 안개 밑으로 내려갈 수도 있는 위험도가 큰 전략을 택하든지 해야 한다.

  • 이제 다음으로 두 가지 선택을 혼합한 알고리즘을 시도해 보자. 적응적 보행을 함으로써 지형에서 계속 더 높은 곳으로 올라가지만 또한 국지적 최고점에 박혀 버리지 않도록 몇 번의 랜덤 점프도 하는 알고리즘이다. 그리고 보다 짧은 점프 쪽에 가중치를 줄 것이다. 이는 국지적 최고점에서 멈추는 일을 막는데 도움이 되면서도 정말 낮은 계곡에서 종말을 맞을 가능성을 줄여 준다. 그리고 한 가지 더 변화를 추가한다. 단 한명이 아니라 적합도 지형을 탐색하는 일단의 보행자들이 있다고 가정하자. 이 모델은 어떻게 작동할까?
  • 만약 우리가 카우프만의 표현을 비렬 이른바 ‘신의 눈’으로 보면 각 보행자들은 거대한 영역 위에 하나의 조그만 검은 점이고 이들이 보다 높은 정점을 찾아다님에 따라 우리의 군대는 와글거리는 구름처럼 보일 것이다. 그리고 참가자들이 적응적 보행을 취함에 따라 구름은 산 위쪽으로 서서히 움직인다. 결국 구름은 국지적 고원에 이르게 되고 참가자들은 더 높은 곳을 찾기 위해 이리저리 흩어지면서 구름 또한 그 주변으로 퍼질 것이다. 적응적 보행을 계속함에 따라 일부 참가자들은 스위스 치즈의 구멍으로 빠져 사라지기도 하겠지만 대부분은 국지적 고원 주변으로 퍼져 나갈 것이다. 그러나 때떄로 이 그룹에서 랜덤 점프들이 나오는데, 이들은 주력 부대에서 멀리 떨어져서 나아간다. 마치 선발대처럼 이들 랜덤 점퍼들은 더 높이 올라갈 수 있는 새로운 경로들을 찾아 나선다. 일부 점퍼들은 고원 경계 밖으로 벗어나 유독성 안개 밑으로 떨어진다. 그러나 또 다른 점퍼들은 우연히도 더 높이 올라가는 새로운 길을 발견할지 모른다. 적합도가 낮은 계곡에서 더 높은 새로운 계곡으로 가는, 크러치필드가 말한 ‘관문’이 되는 다리들 중 하나를 발견할지 모른다.
  • 우리는 양 세계에서 제일 좋은 것을 취한다. 하이킹 참가자의 대부분은 상대적으로 위험도가 낮은 적응적 보행 쪼긍로 할당돼 지형을 탐색해 간다. 그러나 군데군데서 베팅도 한다. 일부 참가자들은 중앙에서 멀리 떨어진 채 흩어져서 수색하고 그중 몇몇은 정말 멀리 떨어져 탐색한다. 이러한 전략은 불가피하게 일부 참가자들의 손실도 가져오지만 국지적 고원에 박히지 않고 보다 높은 적합도 지역을 발견할 가능성을 높여 줄 것이다.
  • 이렇게 한 집단 전체에 걸쳐 군데군데 베팅을 하는 것은 정확히 진화가 하는 일이다. 각 상호 작용자 또는 생물에서의 유기체는 하나의 보행자도 볼 수 있다. 복제 과정은 적응적 보행에 에너지를 준다. 만약 높은 적합도를 보이는 보행자가 다른 높은 적합도를 가진 보행자와 그 도식들을 다시 결합하고 그 결과 낮은 적합도를 가진 보행자들보다 더 많은 자손들을 가지는 경향을 보인다면, 보행자들의 구름은 보다 높은 고도에서는 커지고, 그렇지 않은 곳에서는 줄어들 것이다. 그러나 차별화 과정은 –생물에서는 염색체의 교차와 돌연변이를 통하여– 지형 전역으로 퍼져 나가는 보행자들이 있다는 의미다. 물론 대부분은 같은 지역에 서로 가까이 모여 있을 것이다. 이것은 좋은 일이다. 왜냐하면 보행자들이 어쨌든 살아 있다면 최소한 유독성 안개 위 어딘가에 있다는 얘기다. 그리고 위로 올라가기 보다는 밑으로 내려가는 길이 언제나 더 많다는 점에서도 그렇다. 그러나 최소한 일부는 멀리 떨어져서 더 높은 입지에 이르는 길을 찾을 가능성을 제공할 것이다.
  • 만약 멀리 위치한 첨병들이 어떤 새로운 길을 찾아낸다면, 가령 새로운 높은 적합도 지역으로 가는 관문이 되는 육교를 건너간다면, 이들은 빠르게 재생하여 그 지역에서 새로운 구름 집단을 만들 것이다. ‘신의 눈’으로 보면 어떤 다른 고원 위에서 와글거리는 구름 집단이 보일 것이다. 이 와글거리는 구름 집단은 다른 말로 하면 새로운 종이다.
  • 차별화를 통한 베팅은 적합도가 높은 지역을 향해 새로운 길을 찾는 것뿐만 아니라 지형이 변하더라도 일부 보행자들이 살아남을 가능성을 높이는 일이다. 보행자 집단의 대부분은 갑자기 지형이 바뀌고 그로 인해 고원이 안개 아래로 붕괴될 순간에도 괜찮은 적합도를 갖는 고원에서 생을 즐기면서 와글와글하고 있을지 모른다. 갑작스러운 변화 후 살아남은 보행자들은 멀리 떨어져서 집단을 재생해야 하는 첨병들일 것이다. 마찬가지로 낮은 적합도 지역에 있던 첨병들은 지형이 변함에 따라 자신들이 새롭고 보다 높은 고도에 있다는 것을 발견할지 모른다. 이것이 바로 유전자적 다양성이 집단에서 갖는 중요한 역할이다. 적합도 지형 전역으로 사전에 베팅을 해놓지 않으면 갑자기 환경이 변할 때 모든 것을 잃어버릴 위험이 있다.
  • 진화는 점프를 만들어 냄으로써 존 홀란드가 말하는 탐색과 활용 간의 긴장을 관리한다. 진화가 보다 높은 고원을 발견하면 그 집단 구성원의 대부분은 그 지역 주변에 모여들어 재생을 하며 성장한다. 복을 활용하고 자신들이 발견한 이 성공적인 적응을 십분 이용한다. 그러나 멀리 떨어져 어둠 속에서 더듬거리며 언덕을 올라가는, 새로운 길을 찾아 이른바 ‘과도한 적응’을 예방하는 도보 여행자들이 언제나 존재한다.
  • 흥미롭게도 진화는 탐색과 활용 간의 적절한 균형을 자동적으로 맞춘다는 점을 홀란드는 보여 주었다. 상황이 좋으면, 높은 고원을 발견했다면 그런 환경에 맞추어 진화는 집단의 보다 많은 자원을 이에 대한 활용 쪽에 투입한다. 그러나 상황이 나쁘면, 집단이 계곡 밑에 위치해 있으면 보다 많은 탐색 쪽으로 향한다. 진화가 적합도 지형의 새로운 부분을 점유할 때면 언제나 아직 알려지지 않은 곳에 대한 베팅을 할당한다. 그러나 보다 많은 정보를 얻게 되면 여느 다른 베팅자들과 마찬가지로 가장 유망해 보이는 베팅에 자원을 증강하고 싶어 한다. 홀란드는 활용과 탐색 간 균형을 위한 최적의 공식을 만들어 냈고 진화는 최적 균형을 달성하는데 매우 근접해 있다는 것을 보여 주었다. 진화는 하나의 도박꾼이지만 가능성을 매우 잘 활용하는 그런 도박꾼이다.

좋은 기술, 강요된 움직임, 그리고 경로 의존성

  • 데닛의 이른바 ‘좋은 기술’은 소멸의 고통 과정에서 요구되는 것이 아니라 오히려 너무 매력적이어서 진화적 탐색이 반복적으로, 독립적으로 찾아낼 가능성이 높은 그런 조치들이다. 예컨대 적합도 지형에서 ‘눈을 가진 생물들’로 불리는 크고 높은 산 지역이 있다고 상상해 보자. 여기에 있는 모든 생물들의 DNA 책은 빛을 탐지하는 센서를 만들라는 지시를 담고 있다. 눈을 통해 빛을 탐지하고 해석하는 능력은 사실상 환경에 관계없이 적합도에 상당한 기여를 할 수 있는 것이어서 적합도 지형 관점에서 볼 때 이들이 거주하는 곳은 높은 적합도를 가진 매우 크고 안정적인 지역이다. 이 지여의 규모, 높이 그리고 안정성을 보아 진화적 탐색 과정을 통해 궁극적으로 발견될 가능성이 높다. 크고 높은 산 지역들은 또한 여기에 이르는 다수의 진화 경로를 가지고 있을 것이다. 따라서 좋은 기술은 여러 종들에서 독립적으로 발생할 것이고 그 종들은 포유류의 눈 디자인, 곤충의 눈 디자인처럼 어느 정도 서로 다른 디자인을 가질 것이다.
  • 데닛은 또 다른 요소도 설명하고 있다. ‘강요된 움직임 (Forced Moves)’이다. 체스에서 선수들은 때때로 선택할 것이 아무것도 없는 상황에 놓일 때가 있다. 어떤 다른 움직임도 자살적 행위가 되는 그런 상황을 말한다. 마찬가지로, 적합도 지형에서 진화 탐색 움직임은 어떤 주어진 환경에서 이미 적합한 것들로 인해 제약을 받는다. 즉, 적합도가 낮은 유독성 안개 위에 있는 산등성이를 따라 달려가는데, 여기서 벗어나면 죽음이 되는 경우다. 강요된 움직임은 물리학이나 화학 법칙들에 의해 부과된 제약 조건들로 인해 만들어진다. 예컨대 열역학 법칙이 그렇다. 이 법칙은 모든 생물체들은 자신들과 외부 세계 사이에서 낮은 엔트로피의 내부와 높은 엔트로피의 외부 간 장벽으로 작용할 일종의 경계를 가져야 한다고 말하고 있다. 이에 따라 모든 생명체는 피부, 막, 외골격, 프로테인 셸, 또는 다른 용기와 같은 것들을 가진다. 현재의 환경 상태로 정의되거나 종들 간의 공진화로 정의되는 다른 여러 가지 강요된 움직임들은 영원한 것일 수도 있고, 아닐 수도 있다.
  • 적합도 지형도의 마지막 결론은 앞에서 간단히 언급했던 ‘경로 의존성’ 이다. 진화 시스템에서는 역사가 중요하다. 당신이 앞으로 갈 길은 당신이 과거에 왔던 길에 의존한다. 차별화는 집단들을 적합도 지형 주변으로 흩어지게 할 수 있지만 그렇다고 당신이 마음 내키는 대로 한 지역에서 다른 지역으로 바로 갈 수 있는 것은 아니다 –랜덤 점프는 임의적이면서 동시에 보다 작은 점프 쪽에 가중치를 둔 것이라는 점을 기억하라– 어떤 정점을 어류와 같은 디자인들이 점유해 있다고 하자. 그러나 어류들의 환경은 계속 변한다. 생태적 지위가 사라지면서 그 정점은 유독성 안개 속으로 빠지고 있다. 그러나 신의 눈 관점에서 보면 근처에는 아직 존재하지는 않지만 또 다른 형태의 어류 디자인을 위한 정점이 있다는 것을 알 수 있다. 이 지역은 유독성 안개 위에 있고 안정적으로 보인다. 그러나 두 디자인 사이에 어떠한 경로도, 육교도 없다. 랜덤 점프로 이어지기에는 두 디자인이 너무 멀리 떨어져 있다. 첫 번째 어류 디자인과 두 번째 어류 디자인 사이를 이어주는 지속 가능한 중간적 생태 지위가 존재하지 않기 때문에 그 어류는 자신이 가진 ‘역사의 포로’가 되고 만다. 특별한 정점에서 막다른 골목에 이르는 특별한 경로, 그리고 미래를 위한 선택 방안들은 그 과거에 의해 제한 받는다.
  • 수학자들과 진화 이론가들은 여러 가지 다른 지형도에 관하여 다양한 종류의 대안적인 탐색 알고리즘을 탐구해 왔다. 어떤 알고리즘은 완전히 임의적인 지형들을 탐색하는데 더 좋고, 어떤 알고리즘은 고도로 질서가 잡히거나 규칙적인 지형을 탐색하는데 더 좋다. 그러나 그 중간에 있는, 개략적으로 상호 연관된 수준이고 고원, 구멍 관문 등과 같은 복잡한 특징들을 가진 그런 지형들의 경우는 진화를 이기기 어렵다. 그리고 지형이 계속 변할 때, 탐색 문제가 동적인 것일 때, 탐색과 활용 간의 긴장을 감안해야 할 때, 진화는 모든 알고리즘 중에서 진정 그랜드 챔피언이다.

진화의 기본 요소들

  • 우리가 지금까지 만들어 왔던 기질 중립적인 진화 버전을 다시 정리하면 이렇다. 이것들은 진화가 작동하기 위한 필요 조건들이다.
    • 모든 가능한 디자인들을 담고 있는 디자인 공간이 존재한다.
    • 이들 디자인들을 신뢰성 있게 코드화하여 하나의 도식으로 만들 수 있다.
    • 이 도식들을 신뢰성 있게 해독해 이들을 상호 작용자로 만들 수 있는 어떤 형태의 도식 식별자가 있다. 내생적 진화에서 도식은 자신의 고유한 식별자를 코드화 한다.
    • 상호 작용자는 모듈과 모듈의 시스템으로 구성되는데, 이들은 도식에서 빌딩 블록들 형태로 코드화 된다.
    • 상호 작용자는 하나의 환경으로 바뀐다. 그리고 환경은 상호 작용자들에게 제약 조건들을 부여한다. 물리 법칙들, 기후, 레고 심판자 등 이 제약 조건들은 시간에 따라 변할 수 있다. 특히 중요한 제약 요소는 유한한 자원을 놓고 상호 작용자들 사이에 벌어지는 경쟁이다.
    • 하나의 환경에서 제약 조건들은 집단적으로 적합도 함수를 만들어 낸다. 이에 따라 어떤 상호 작용자는 다른 상호 작용자보다 더 적합한 일이 일어난다.
  • 진화의 과정은 제약 조건들이 주어진 상황에서 적합한 디자인을 찾아 디자인 공간을 탐색하는 알고리즘으로 생각할 수 있다. 알고리즘은 디자인 공간을 다음과 같이 탐색한다.
    • 시간이 흐름에 따라 도식들에 변이의 과정이 일어난다. 도식자들은 수많은 작용자들, 예컨대 염색체 교차나 돌연변이 등으로 인해 변할 수 있다.
    • 도식은 하나의 집단을 만들어 내는 상호 작용자들로 바뀐다.
    • 선택의 과정이 상호 작용자들에게 작용한다. 이에 따라 어떤 디자인은 적합도 함수에 의해 다른 디자인들보다 더 적합한 것으로 평가된다. 적합도가 낮은 상호 작용자는 집단에서 제거될 확률이 보다 높다.
    • 복제의 과정이 있다. 적합한 상호 작용자들은 평균적으로 보다 큰 복제 가능성을 갖는다. 그리고 적합도가 낮은 디자인보다 적합도가 높은 디자인에서 보다 많은 변종들이 만들어진다.
    • 상호 작용자의 적합도에 기여하는 빌딩 블록들은 시간이 갈수록 보다 빈번하게 복제되고, 이에 따라 해당 집단에서 더욱 퍼지게 된다.
    • 마지막으로 변이, 선택, 그리고 복제의 알고리즘 과정은 순환적으로 일어난다. 한 단계에서 나온 산출물은 그 다음 단계에서 투입물 역할을 한다.
  • 진화의 알고리즘이 적절히 준비된 정보 처리 기질, 적합한 모수(parameters)을 가지고 작동되면 다음과 같은 결과를 기대할 수 있다.
    • 임의성에서 질서가 나온다. 단순한 임의의 디자인에서 출발, 적합도 함수의 관점에서 지시된 복잡한 디자인을 알고리즘이 만들어 낸다. 모든 진화의 과정은 개방형 시스템으로 운영되며 그 겨로가 알고리즘은 국지적인 엔트로피를 감소시키는 에너지를 만들어 내고 임의성을 질서로 바꾸어 나간다.
    • 적합 디자인들의 발견이다. 알고리즘은 적합 디자인을 찾아 매우 광활한 디자인 공간을 탐색하기 위한 빠르고 효율적인 방법을 제시한다. 내생적인 진화에서 어던 디자인들이 살아남아 환경의 제약 조건 하에서 복제를 해나간다면 그것들은 적합한 디자인들이다. –좋은 복제자들이 복제된다.
    • 연속적인 적응이다. 알고리즘은 적합도 함수가 무엇을 원하는지 학습하고 그 기준들을 충족시키는 디자인들을 추구한다. 적합도 함수가 변하면 진화는 새로운 선택 압력을 반영하는 디자인들을 생산해 낸다.
    • 지식의 축적이다. 진화 과정은 시간이 흐르면서 지식을 축적한다. 우리가 레고 진화 과정을 멈추고 특정 시점에 모든 장난감들에 대한 도식 카드들을 분석하면 카드들에 들어 있는 정보는 역사적으로 장난감들이 진화해 왔던 적합도 환경에 관한 학습 또는 지식을 반영하고 있음을 알 수 있다. 마찬가지로 DNA는 생물학적 디자인들이 과거에 작업을 해왔던 엄청난 양의 정보를 담고 있다. 만약 당신이 다른 행성에서 떨어진 외계인이고 지구를 한 번도 본 적이 없지만 어떻게 해서 지구의 한 유기체로부터 DNA를 얻었다면 그 DNA 코드만으로도 지구 환경에 대해 많은 것을 학습할 수 있다. –물론 이것은 당신이 DNA 식별자를 보유하고 있다는 가정 하에서다– 도식들은 진화 과정에서 일종의 하드 드라이버와 같은 것이다. 시간이 흐름에 따라 정보들을 채워 나간다.
    • 새로운 것의 출현이다. 진화 과정 동안 알고리즘은 계속해서 새로운 변종의 디자인들을 차옺한다. 이론적 의미에서 보면 모든 가능한 디자인들은 이미 디자인 공간에 존재한다. 그러나 그것들을 발견하고 실제로 만들어 냄으로써 진화는 새로운 디자인을 현실 세계로 이끈다. 레고 사례에서 진화 알고리즘은 틀림없이 어린이 스스로는 그전에 전혀 생각지도 못했던 그런 디자인들을 대량으로 생산할 것이다. 그리고 컴퓨터 상의 가상적 진화를 이용해 제트 엔진의 팬블레이드에서 컴퓨터 칩에 이르기까지 모든 것을 디자인해 보는 실험도 새로운 디자인들을 만들어 냈다.
    • 성공적인 디자인에 기여하는 자원의 증가다. 성공적인 디자인 집단들은 성장한다. 성공적인 디자인들이 경쟁에서 이겨 자원을 획득해 감에 따라 성공하지 못한 디자인들은 사라져 간다. 집단들이 크다는 것은 성공적인 도식들이 물질, 에너지, 그리고 정보 측면에서 비성공적인 도식들보다 더 많은 자원을 관리한다는 얘기다. 그러나 그러한 증가는 평탄한 패턴을 따르는게 아니라 공진화에서 오는 네트워크 효과와 적합도 지형 그 자체 간의 결합에 따른 단속 균형 패턴을 따를 것이다.
  • 진화는 개략적으로 상호 연관된 수준의 적합도 지형을 가진 광활한 디자인 공간에서 적합 디자인들을 찾아내는데 매우 효과적이다.
    • 진화는 병행 탐색을 활용한다. 사실 집단의 각 멤버는 개별적인 디자인 실험이다. 많은 보행자들이 밖에서 높은 정점을 찾아다닌다.
    • 진화는 점프의 스펙트럽을 만들어 낸다. 진화는 국지적 최고점에서 옴짝달싹 못하게 할 위험이 있는 짧고 점짅거인 점프만을 추구하지 않는다. 그렇다고 무모할 정도로 긴 점프를 많이 추구하는 것도 아니다. 그것은 성공보다 실패 확률이 더 크기 때문이다.
    • 마지막으로 진화는 연속적인 혁신의 과정이다. 알고리즘의 순환적 특성은 결코 중단되지 않는다. 지형이 계속 볂는 특성을 갖고 있는 한 이는 중요하다. 진화는 탐색과 활용의 균형을 맞추어 가기 때문에 기간에 따라 보다 활발하거나 그렇지 않은 탐색 기간이 있을 수 있지만 탐색은 결코 끝나지 않는다. 시스템은 균형이 없다. 진화 시스템에서 정지는 소멸을 위한 처방이다.
  • 실제로 진화는 말한다. “나는 많은 것들을 시도해서 그 결과를 보고 도움이 되는 건 더 많이 하고 그렇지 않은 건 덜한다.” 그러나 이 이동의 과정에서 놀라운 일들이 일어난다. 알고리즘은 적합도 함수가 원하는 것이 무엇인지를 학습한다. 그리고 그 학습의 지식이 도식에 쌓여 간다. 그리하여 진화 과정은 더욱 적합한 디자인을 탐색하면서 새로운 것을 생성해 낸다.
  • 진화는 놀이와 같다. 배역과 각본은 정해져 있지만 구체적인 배우, 세팅, 그 외의 많은 세부적인 사항들은 아직 정해지지 않았다. 진화 과정은 생물학, 컴퓨터 가상 실험, 레고 장난감 게임에 적용될 수 이쏙, 인간 문화, 기술, 그리고 경제에도 적용될 수 있다. 보편적인 진화 과정은 구체적인 기질이 무엇인가에 상관없이 조건만 구비되면 바로 앞에서 기술했던 그런 결과들을 만들어 낸다.

진화 이론에서 경제 현실로

  • 진화와 경제학은 상호 밀접하게 연관된 역사를 가지고 있으며 그것은 약 180여 년 전으로 바로 거슬러 올라간다. 알프레드 마셜에서 프리드리히 하이에크에 이르기까지 경제학의 많은 거장들이 진화를 경제학에 포함시키는 문제로 씨름해 왔지만 그들은 결국 다음 두 가지 제약을 받았다. 우선 생물학적 진화에 대한 이해를 경제적 진화에 그대로 일대일로 대응시키려는 노력으로 어려움을 겪었다. 예컨대 유전자에 해당하는 것이 경제에서는 무엇인가? 기업들의 그룹은 하나의 집단인가? 경제에서 부모와 그 후손들을 구성하는 것은 무엇일까? 이런 초기의 노력들은 발라, 제번스 그리고 다른 한계주의자 (한계효용학파)들과 마찬가지로 은유적 추론에 문제가 있었던 것이다.
  • 생물학 대신 3부에서 우리의 출발점은 조금 전에 우리가 기술했던 진화에 대한 일반적인 알고리즘적 관점이 될 것이다. 진화에 대한 현대의 알고리즘적 관점이 주장하는 것은 진화 시스템들은 보편적 법칙들을 따르는 하나의 보편적 클래스를 형성한다는 것이다. 그렇다면 경제는 이 클래스의 한 부분이고 이런 법칙들을 따르는지 물을 것이다. 대답이 “예”라면 경제와 생물학적 세계는 둘 다 보편적 클래스에 속한다. 이들은 알고리즘의 구체적인 실행에서 매우 다를 수 있고, 따라서 경제학에서 생물학적 진화가 말하는 부모와 자손들이 무엇인가를 묻는 것은 의미 없을지 모른다. 그럼에도 불구하고 두 세계는 진화 시스템의 일반적 법칙에 영향을 받고 있다는 점에서 매우 강한, 일종의 가족 유사성을 보여준다.
  • 이런 방향으로 이론을 개척한 사람들은 아마도 리처드 넬슨과 시드니 윈터가 처음일 것이다. 두 사람은 <경제 발전의 진화론(Evolutionary Theory of Economic Change)>이라는 독창적인 책을 저술했다. 그러나 1970년대 후반과 1980년대 초반에 들어서고 나서야 이들의 관점에서 출발한 기질 중립적인, 알고리즘적 진화 이론이 형성되기 시작했다. 존 홀란드의 이정표적인 <자연 및 인공 시스템에서의 적응론(Adaptation in Natural and Artificial Systems)>은 1975년에 나왔고, 리처드 도킨스의 <이기적 유전자(Selfish Gene)>은 1976년에 출간 됐다. 존 스미스의 <진화와 게임 이론(Evoution and the Theory of Games)>은 1982년에 발표 됐다. 그리고 스튜어트 카우프만의 <질서의 기원(Origins of Order)>은 1993년이 되어서야 나왔다. 이들 저서들을 비롯한 여러 저서들의 아이디어들은 1980년대 중반 이후 관련 연구 프로그램이 만개하는데 씨앗 역할을 했고, 오늘날에도 중요한 연구들이 계속되고 있다.
  • 그러나 넬슨과 윈터는 물론이고 그들의 경제학적 선행자들은 또 다른 중요한 요소가 부족했다. 오늘날 엄청난 정보를 처리할 수 있는 값싼 계산 능력이 당시에는 없었다는 점이다. 지금까지 살펴보았지만 진화는 단순한 알고리즘이 큰 집단을 대상으로 수천 번, 수백만 번, 수십억 번 무작정 돌아가는 것이다. 그런 과정을 대부분의 경제학자들이 전통적으로 사용해 왔던 분석적 방법으로 모델링하기란 불가능하다. 1990년대 들어 컴퓨터가 더욱 강력해지면서 비로소 가능해졌다.
  • 이제 우리는 진화적 놀이의 역할 각본을 갖고 있다. 그 역할을 할 경제적 행위자들을 캐스팅하고 조직, 시장 그리고 국가 경제라는 세팅을 만들 준비가 돼 있다. 그런 놀이의 이야기는 바로 ‘부의 창출’에 관한 이야기다. 이제 그 때가 왔다.
It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

The author

지성을 추구하는 디자이너/ suyeongpark@abyne.com

댓글 남기기