프랑켄슈타인 박사, 당신이 날 이렇게 흉측한 모습으로 만든 건가? 죽은 사람도 소중한 법인데, 시체들을 훼손해 괴물을 만들어 내다니…. 당신은 악마야!
인공생명의 아버지 폰 노이만
인공생명체에 대한 관심은 아주 오래전부터 있었다. 고대 그리스 신화에는 피그말리온이 만든 여인 조각상이 베니스의 여신에 의해 생명력을 갖게 된다는 전설이 있다. 또 유대인 신화에는 진흙으로 만든 인형에 주문으로 생명력을 불어 넣어 만든 인조 인간 ‘골렘’이 등장한다. 하지만 이런 인공생명체들은 상상 속에만 존재했다.
본격적으로 연구의 싹이 튼 것은 1818년 소설 <;프랑켄슈타인>;이 출판되고 나서부터다. 이 소설은 과학 실험으로 만들어진 한 괴물에 관한 이야기로, 여기에 담긴 아이디어와 철학이 여러 수학자와 과학자에게 인공생명체에 대한 단서를 제시했다.
실제로 유럽의 인공생명 연구자들에 의하면, 초기 인공생명 연구는 <;프랑켄슈타인>;에 나오는 한 구절에 큰 영향을 받았다고 한다. 바로 “나는 존재한다. 따라서 나는 생명이다”라는 말이다. 많은 연구자들이 이 말을 인공생명의 철학으로 삼고 연구를 진행했다.
그 중 한 사람이 헝가리계 미국 수학자 존 폰 노이만이다. 그는 인공생명에 대한 명확한 정의조차 없었을 1940년대에, 스스로를 재생산할 수 있는 컴퓨터 알고리즘만 만들어 낸다면 프랑켄슈타인 괴물과 같은 인공생명체를 만들 수 있다고 주장했다. 그가 생화학적인 생명체가 아니라 컴퓨터 프로그램 상에서 인공생명체를 만들겠다고 주장한 것은 당시에는 DNA가 유전 물질이라는 것도 몰랐기 때문이다. 또한 프랑스의 수학자 르네 데카르트의 영향을 받아 생명을 일종의 기계로 보았기 때문이기도 하다. 데카르트는 살아 있는 생명체가 사실상 복잡한 기계와 다를 게 없다는 ‘기계론’을 주장했다.
결국 1948년 폰 노이만은 미국의 수학자 스타니스와프 울람과 함께 인공생명 연구를 시작했다. 이 두 명의 수학자는 생명을 장기판과 같은 수많은 격자 상의 공간에 위치한 코드로 보고, 몇 가지 규칙에 따라 스스로 움직이는 장치를 생각해 냈다. 이것이 바로 ‘2차원 세포자동자★’다.
안타깝게도 폰 노이만은 병에 걸려 세포자동자 이론을 완성하지 못하고 세상을 떠났다. 하지만 그의 아이디어 덕택에 컴퓨터로 구현된 다양한 구조들이 오늘날까지 인공생명체로 불리게 되었다. 가장 대표적인 예가 바로 컴퓨터 바이러스다.
세포자동자★ 격자칸 하나하나를 세포로 보는 일종의 모형이다. 이 세포들은 주변 세포의 상태에 따라 영향을 받아 일정시간이 지나면, 즉 다음 단계에 이르면 스스로 세포의 상태가 변하는 알고리즘을 따른다. 1차원에서는 한 줄에 있는 세포들끼리, 2차원에서는 평면 상에 존재하는 세포들끼리 서로 영향을 주고받아 움직인다.
세포가 스스로 번식하는 1차원 세포자동자
컴퓨터 프로그램 상에서 나 같은 인공생명체를 만들어 낸다고? 대체 세포자동차가 구체적으로 뭔데?
성질도 급하긴. 이제 설명하려고 하잖아. 그리고 세포자동차가 아니라 세포자동자라구.
세포자동자 이론은 폰 노이만과 울람이 처음 아이디어를 냈지만, 이후 여러 연구자들이 흥미를 가지면서 체계화 되었다. 여기서는 1차원 세포자동자에 일종인 ‘롤 30 세포자동자’가 만들어지는 과정을 살펴보면서, 1차원 세포자동자에 대해 알아보자.
‘롤 30 세포자동자’에서 세포는 삶과 죽음 두 가지 상태를 가질 수 있다. 삶일 경우에는 편의상 ‘1’로 나타내고, 격자 칸을 색칠한다. 죽음일 경우에는 ‘0’으로 적고, 격자 칸을 비워 둔다. 세포자동자에서는 항상 가운데 있는 세포가 기준이 된다.
롤 30 세포자동자의 규칙
➊ 가운데 세포의 현재 상태가 ‘0’이고 왼쪽과 오른쪽 이웃이 각각 ‘0’과 ‘1’ 또는 ‘1’과 ‘0’ 상태라면, 이 세포는 다음 단계에서 ‘1’이 된다.
➋ 가운데 세포의 현재 상태가 ‘1’이고 왼쪽이 ‘0’, 오른쪽이 ‘1’ 이라면, 세포는 다음 단계에서 ‘1’이 된다.
➌ 가운데 세포의 현재 상태가 ‘1’이고 그 이웃이 모두 ‘0’이라면, 이 세포는 다음 단계에서 ‘1’이 된다.
➍ 나머지 경우는 모두 다음 단계에서 ‘0’이 된다.
이 네 가지 규칙대로 세포가 움직이고, 초기 값을 ‘010’으로 주면 오른쪽과 같은 모양의 세포가 자동으로 생긴다. 여기서는 일부분만 보여 준 것으로, 이런 모양으로 세포가 무한히 증식한다.
세포 사이의 규칙은 간단하다. 1차 세포자동자는 한 줄 안에 나란히 있는 세포들이 서로 영향을 주고받아 증식하는 구조다. 즉 양쪽에 있는 세포의 상태에 따라 다음 단계에서 세포의 상태가 결정된다. 따라서 양옆에 있는 세포의 상태를 바꿔 주면 그 패턴도 다르게 나타난다. 이건 세포자동자의 규칙을 정할 방법이 여러 가지란 뜻이다. 그렇다면 과연 몇 가지나 될까?
양옆에 있는 세포와 영향을 주고받기 때문에, 나란히 붙어 있는 세 세포가 가질 수 있는 총 경우의 수에 주목해서 살펴봐야 한다. 각각의 세포는 삶과 죽음, 이 둘 중 하나의 상태를 가질 수 있고 이런 세포가 3개 있기 때문에 경우의 수는 2×2×2=2³=8가지가 된다. 따라서 다음 단계에서는 삶과 죽음을 결정해야 할 세포가 8개다.
![](https://images.dongascience.com/uploads/article/Contents/201603/M201309N007_1.jpg)
![](https://images.dongascience.com/uploads/article/Contents/201603/M201309N007_2.jpg)
그 결과 그는 놀라운 사실을 발견했다. 1차원 세포자동자 중 세포의 상태가 삶과 죽음 두 가지라면, 패턴의 무늬는 무조건 네 가지 중 하나라는 것이다. 첫 번째 유형은 세포가 모두 죽거나 사는 것이다. 즉 격자칸이 모두 흰색이거나 검정색으로 나타난다. 두 번째는 살아 있는 세포의 패턴이 몇 단계 후부터는 똑같이 반복된다. 세 번째는 살아 있는 세포가 복잡한 모양으로 무한히 번식한다. 네 번째는 마치 살아 있는 생명체처럼 움직이는 듯이 보인다. 예를 들면 애벌레가 기어가는 모습으로 세포가 증식한다.
2차원 세포자동자 생명게임
세포자동자에 대한 아이디어는 1940년대에 나, 폰 노이만이 냈지만, 당시에는 학계는 물론 대중들에게도 큰 관심을 받지 못했어. 하지만 미국의 수학자 존 콘웨이가 생명게임을 고안하면서부터 얘기가 달라지지.
생명게임? 오락실에서 하는 게임을 말하는 거야? 혹시 그것도 인공생명? 그럼 생명을 가지고 게임을 한단 말이잖아. 가만 두지 않겠어!
제발 내 말을 끝까지 들어 줘~.
생명게임은 2차원 세포자동자의 일종으로, 1970년 미국의 수학자 존 콘웨이가 개발했다. 이를 미국의 과학 칼럼가 마틴 가드너가 <;사이언티픽 아메리칸>;이라는 잡지에 소개하면서 폭발적인 인기를 끌었다. 생명게임에서 한 개의 세포는 주변에 있는 8개의 세포에 의해 다음 단계의 상태가 결정된다. 1차원 세포자동자와 마찬가지로 몇 가지 규칙이 있고, 초기값만 입력하면 자동으로 다음 단계가 진행된다.
생명게임은 처음 입력된 초기값만으로 컴퓨터 상에 다양한 패턴을 만들 수 있다. 전혀 변화가 없는 고정된 패턴, 일정한 행동을 주기적으로 반복하는 패턴, 한쪽 방향으로 계속 전진하는 패턴 등이다. 예를 들어 초기값을
이런 형태로 설정하면, 다음 단계에도 이 모양이 그대로 유지돼서 세포의 움직임을 볼 수 없다.
이걸 알고 있었던 존 콘웨이는 마틴 가드너의 기사에 이벤트를 걸었다. 세포 수가 무한히 많아지는 인공생명체를 만들거나, 반대로 이것이 불가능하다는 것을 밝히는 사람에게 상금을 주겠다고 한 것이다. 그 결과 많은 사람들이 인공생명체 만들기에 뛰어들었고, 미국 메사추세츠공과대학 학생이던 빌 가스퍼가 처음으로 조건을 만족하는 패턴을 만들었다. 그가 만든 패턴은 일명 ‘글라이더 총’으로, 끊임없이 글라이더를 날려 보내는 인공생명체다.
생명게임은 수학과 컴퓨터 과학에도 큰 의미가 있다. 생명게임으로 만들어진 특정한 패턴을 이용하면 여러 가지 계산을 할 수 있기 때문이다.
이것이 가능한 이유는 컴퓨터가 수학문제를 해결할 때 사용하는 알고리즘의 문제 처리 방법과, 생명게임에서 나타나는 특정 패턴의 움직임이 같기 때문이다. 생명게임으로 만들어진 패턴은 일정한 규칙을 갖고 움직이기 때문에, 세포 각각에 알고리즘을 짤 때 사용하는 AND, OR, NOT과 같은 연산자를 적용시키면 계산을 할 수 있다.
자기 복제가 가능한 기계가 있다?!
오락실 게임기에서나 볼법한 녀석들도 인공생명체라니 놀라운데! 근데 말이야. 아까 당신은 스스로를 재생산하는 기계를 만들고 싶다고 했잖아. 근데 1차원 세포자동자나 생명게임은 세포들만 증식하는 거잖아. 자기 모습 그대로를 구현한 연구자는 없는 거야?
랭턴의 자기-재생산 루프
1차 세포자동자와 생명게임에서는 세포가 삶과 죽음, 이렇게 두 가지 상태를 가지는 연구에 대해 살펴봤다. 실제로 인공생명 연구자들도 이런 경우를 가장 많이 연구했다. 하지만 이 방법으로는 자기 모습 자체를 복제하는 패턴은 만들어낼 수 없다.
사실 자기 모습 자체를 복제하는 패턴을 처음 시도했던 폰 노이만은 세포가 가질 수 있는 상태를 29가지로 설정했다. 하지만 규칙을 세우는 것마저 매우 어려웠고, 끝내 그는 이런 패턴을 만들어내지 못했다. 이후 많은 연구자들이 세포가 가질 수 있는 상태의 개수를 바꿔가며 연구에 매달렸지만, 쉽게 결과가 나오지 않았다.
그런데 1984년 미국의 컴퓨터 과학자 크리스토퍼 랭턴이 8개의 상태를 가지는 세포로 자기-재상산 루프를 만들어 냈다. 폰 노이만이 구상했던 것과 형태는 다르지만, 자기 모습을 복제하는 인공생명체가 탄생한 것이다.
랭턴은 세포 하나가 주변에 있는 네 개의 세포로부터 영향을 받아 다음 단계의 상태가 결정되는 2차원 세포자동자를 만들었다. 세포의 상태도 0부터 7까지 8가지 상태이기 때문에, 각각의 숫자에 해당하는 색을 정해 표현했다. 초기값으로 94개의 세포를 정했고, 규칙도 무려 108가지나 설정했다. 이렇게 완성된 자기-재생산 루프는 처음에 설정된 94개의 세포가 끊임없이 복제되면서 움직인다.
지구 종말 시나리오, 그레이 구
세포자동자에서 좀 더 나아가 자기 자신을 스스로 복제하는 로봇은 없을까? 사실 폰 노이만도 궁극적으로 이런 로봇을 만들고 싶었다. 하지만 현재까지의 과학기술로도 이것을 구현하기는 어렵다. 그러나 나노 기술의 발전으로 이런 기계의 탄생에 한 걸음 다가서고 있다.
나노 기술의 아버지로 불리는 에릭 드렉슬러는 나노미터(100만분의 1mm)크기의 로봇, 일명 ‘나노 로봇’을 만들어낼 수 있다고 주장했다. 이 로봇은 스스로를 복제할 수 있는 기능을 갖고 있어 원하는 물건을 만들어 낼 수 있다.
그의 주장에 힘을 실어 주듯, 2005년 미국 코넬대 호드 립슨 교수팀이 스스로 같은 모양을 만들어 내는 로봇을 실제로 개발해 발표했다. 이 로봇은 일명 ‘분자큐브’로, 한 변의 길이가 10cm 정도 되는 정육면체 블록으로 구성되어 있다. 이 로봇은 몸에 부착된 자석을 통해 주변 부품을 결합해서, 2~3분 만에 자신과 같은 모양으로 새로운 로봇을 만들어 낸다. 전기접촉을 통해 옆의 동료들과 의사소통을 하고, 만약 블록 하나가 고장나면 스스로 이 블록을 떨어뜨려 다른 블록으로 교체한다.
그런데 드렉슬러는 나노 로봇의 아이디어를 내면서 무시무시한 전망도 내놓았다. 복제가 가능한 나노 로봇이 기하급수적으로 증식해 인간의 힘으로 통제 불가능한 상태가 오면, 나노 로봇이 지구 전체를 뒤덮어 멸망할 수도 있다고 주장한 것이다. 이것이 바로 ‘그레이 구 시나리오’다.
인공생명 연구, 현재는?
결국 인공생명 연구 때문에 이 지구가 멸망할 수도 있다는 거네. 역시 내 생각이 틀리지 않았어. 인공생명 연구자들은 모두 처단해야 한다구!
진정 좀 해! 무슨 말을 못하겠네. 그레이 구 시나리오는 하나의 설일 뿐이라구. 또 이런 위험성을 미리 알았으니 철저히 대비하면 되잖아. 그리고 현재 인공생명 관련 연구 중에는 사람들에게 도움이 되는 연구도 많단 말이야.
2012년 6월 ‘구글’에서는 사람과 같이 학습을 통해 검색을 하는 인공신경망을 개발했다고 발표했다. 인공신경망이란, 사람의 뇌의 특성을 컴퓨터로 구현한 수학 모델이다. 구글의 인공신경망은 무려 1만 6000개의 컴퓨터로 연결돼 있고, 10억 건 이상 연결된 데이터를 처리할 수 있다.
연구팀은 인공신경망의 성능을 시험해 보기 위해 유튜브에서 찾은 1000만 개의 이미지 중에서 고양이 그림을 식별해 내는 일을 시켰다. 물론 사람의 도움은 전혀 없도록 설계했다. 그 결과 어떤 이미지가 고양이인지 여러 자료를 통해 알아내고, 이어서 1000만 개의 이미지 중에서 고양이 그림을 가려내는 데 성공했다.
구글이 인공신경망 연구에 뛰어든 것은 이를 이용하면 검색을 정확하고 빠르게 할 수 있기 때문이다. 사람의 뇌는 약 1000억 개의 뉴런으로 이뤄져 있으며, 복잡하게 다른 뉴런들과 연결돼 있다. 그런데 놀라운 것은 반복 훈련을 통해 우리가 그림의 일부만 보더라도 전체를 연상할 수 있다는 점이다. 바로 여러 뉴런에서 정보를 전달해 주기 때문이다. 이 점을 모방해 만든 것이 인공신경망이다.
이런 원리를 이용하면 인터넷 검색뿐만 아니라 주가지수나 환율을 좀 더 빠르고 정확하게 예측할 수 있다. 이 때문에 구글을 대표로 인공신경망 연구가 활발히 진행되고 있고, 더 나아가 인공신경망을 이용해 인공생명체를 만드는 연구도 이루어지고 있다.
한편, 최근에 인공생명 연구가 가장 활발하게 진행되고 있는 건 생화학 분야다. 지난 2010년 5월 미국의 생명공학자 크레이그 벤터는 인공 DNA를 이용해 합성세포를 만들어 냈다고 발표했다.벤터는 먼저 미생물에서 생산되는 화학물인 효소와, 곰팡이와 같은 균류 중 하나인 효모를 이용해 인공 DNA를 만들어 냈다. 이 인공 DNA를 박테리아에 넣어 합성세포를 탄생시킨 것이다.
물론 벤터가 만든 것이 완벽한 인공생명체는 아니다. 그가 화학물질로 인공 DNA를 만들긴 했지만 살아 있는 박테리아를 이용했기 때문이다. 생화학 분야에서 인공생명체를 만들려면 살아 있는 생명체를 전혀 이용하지 않고, 오로지 화학물질로만 만들어내야 한다. 하지만 인류 최초로 컴퓨터가 아닌 실제 인공생명체를 만드는 연구에 중요한 아이디어를 제시했다는 점에서 높게 평가받고 있다.
도전! 인공생명체 만들기
근데 말이야. 당신 말을 듣다 보니 나도 인공생명체를 한 번 만들어 보고 싶은데…. 방법이 없을까?
이제 좀 말이 통하는군. ‘MCell’이라는 컴퓨터 프로그램을 이용하면 1차원 세포자동자의 일종인 인공생명체를 손쉽게 만들 수 있지. 앞에서 소개한 ‘롤 30 세포자동자’를 함께 만들어 보자구.