지나리 부부 산방

인공생명 본문

가현이기사

인공생명

無碍人 2013. 11. 19. 17:26

인공생명체에 대한 관심은 아주 오래전부터 있었다. 고대 그리스 신화에는 피그말리온이 만든 여인 조각상이 비너스(아프로디테) 여신에 의해 생명력을 갖게 된다는 전설이 있다. 또 유대인 신화에는 진흙으로 만든 인형에 주문으로 생명력을 불어 넣어 만든 인조 인간 ‘골렘’이 등장한다. 하지만 이런 인공생명체들은 상상 속에만 존재했다.

인공생명의 아버지 폰 노이만

영화 [프랑켄슈타인의 신부](1935)의 홍보 사진. 초기 인공생명 연구는 소설 [프랑켄슈타인]에 영향을 받았다.

본격적으로 연구의 싹이 튼 것은 1818년 소설 [프랑켄슈타인]이 출판되고 나서부터다. 이 소설은 과학 실험으로 만들어진 한 괴물에 관한 이야기로, 여기에 담긴 아이디어와 철학이 여러 수학자와 과학자에게 인공생명체에 대한 단서를 제시했다.

실제로 유럽의 인공생명 연구자들에 의하면, 초기 인공생명 연구는 [프랑켄슈타인]에 나오는 한 구절에 큰 영향을 받았다고 한다. 바로 “나는 존재한다. 따라서 나는 생명이다”라는 말이다. 많은 연구자들이 이 말을 인공생명의 철학으로 삼고 연구를 진행했다.

그 중 한 사람이 헝가리계 미국 수학자 존 폰 노이만이다. 그는 인공생명에 대한 명확한 정의조차 없었을 1940년대에, 스스로를 재생산할 수 있는 컴퓨터 알고리즘만 만들어 낸다면 프랑켄슈타인 괴물과 같은 인공생명체를 만들 수 있다고 주장했다. 그가 생화학적인 생명체가 아니라 컴퓨터 프로그램 상에서 인공생명체를 만들겠다고 주장한 것은 당시에는 DNA가 유전 물질이라는 것도 몰랐기 때문이다. 또한 프랑스의 수학자 르네 데카르트의 영향을 받아 생명을 일종의 기계로 보았기 때문이기도 하다. 데카르트는 살아 있는 생명체가 사실상 복잡한 기계와 다를 게 없다는 ‘기계론’을 주장했다.

결국 1948년 폰 노이만은 미국의 수학자 스타니스와프 울람과 함께 인공생명 연구를 시작했다. 이 두 명의 수학자는 생명을 장기판과 같은 수많은 격자 상의 공간에 위치한 코드로 보고, 몇 가지 규칙에 따라 스스로 움직이는 장치를 생각해 냈다. 이것이 바로 ‘2차원 세포자동자’다.

안타깝게도 폰 노이만은 병에 걸려 세포자동자 (Cellular automaton) 이론을 완성하지 못하고 세상을 떠났다. 하지만 그의 아이디어 덕택에 컴퓨터로 구현된 다양한 구조들이 오늘날까지 인공생명체로 불리게 되었다. 가장 대표적인 예가 바로 컴퓨터 바이러스다.

인공생명체란 무엇일까?

인공생명체냐 아니냐를 나누는 가장 핵심적인 개념은 ‘창발 현상’이다. 창발 현상이 나타나면 인공생명체이고, 나타나지 않으면 인공생명체라고 부르지 않는다. 창발 현상이란, 본래 가지고 있지 않은 능력이 환경에 의해서 자발적으로 생기는 현상을 말한다. 예를 들어 축구에 관심이 없는 사람이 주변 사람들의 영향을 받아 축구를 좋아하게 된다면 이것도 창발 현상이다. 다시 말해 환경에 영향을 받아서 기존에 없는 행동이나 능력이 새로 생기는 현상을 뜻하는 것이다.
따라서 꼭 로봇처럼 특정한 모습을 갖지 않아도 인공생명체가 될 수 있다. 즉 컴퓨터 프로그램 상에 어떤 패턴이 창발 현상을 갖고 있다면 이것도 인공생명체라고 할 수 있다.

세포 스스로 번식하는 1차원 세포자동자

세포자동자 이론은 폰 노이만과 울람이 처음 아이디어를 냈지만, 이후 여러 연구자들이 흥미를 가지면서 체계화 되었다. 여기서는 1차원 세포자동자에 일종인 ‘롤 30 세포자동자’가 만들어지는 과정을 살펴보면서, 1차원 세포자동자에 대해 알아보자.

‘롤 30 세포자동자’에서 세포는 삶과 죽음 두 가지 상태를 가질 수 있다. 삶일 경우에는 편의상 ‘1’로 나타내고, 격자 칸을 색칠한다. 죽음일 경우에는 ‘0’으로 적고, 격자 칸을 비워 둔다. 세포자동자에서는 항상 가운데 있는 세포가 기준이 된다.

롤 30 세포자동자의 규칙

1. 가운데 세포의 현재 상태가 ‘0’이고 왼쪽과 오른 쪽 이웃이 각각 ‘0’과 ‘1’ 또는 ‘1’과 ‘0’ 상태라면, 이 세포는 다음 단계에서 ‘1’이 된다.
2. 가운데 세포의 현재 상태가 ‘1’이고 왼쪽이 ‘0’, 오른쪽이 ‘1’ 이라면, 세포는 다음 단계에서 ‘1’이 된다.
3. 가운데 세포의 현재 상태가 ‘1’이고 그 이웃이 모두 ‘0’이라면, 이 세포는 다음 단계에서 ‘1’이 된다.
4. 나머지 경우는 모두 다음 단계에서 ‘0’이 된다.


롤 30 세포자동자의 규칙

이 네 가지 규칙대로 세포가 움직이고, 초기 값을 ‘010’으로 주면 아래와 같은 모양의 세포가 자동으로 생긴다. 여기서는 일부분만 보여 준 것으로, 이런 모양으로 세포가 무한히 증식한다.

세포 사이의 규칙

세포 사이의 규칙은 간단하다. 1차 세포자동자는 한 줄 안에 나란히 있는 세포들이 서로 영향을 주고받아 증식하는 구조다. 즉 양쪽에 있는 세포의 상태에 따라 다음 단계에서 세포의 상태가 결정된다. 따라서 양옆에 있는 세포의 상태를 바꿔 주면 그 패턴도 다르게 나타난다. 이건 세포자동자의 규칙을 정할 방법이 여러 가지란 뜻이다. 그렇다면 과연 몇 가지나 될까?

양옆에 있는 세포와 영향을 주고받기 때문에, 나란히 붙어 있는 세 세포가 가질 수 있는 총 경우의 수에 주목해서 살펴봐야 한다. 각각의 세포는 삶과 죽음, 이 둘 중 하나의 상태를 가질 수 있고 이런 세포가 3개 있기 때문에 경우의 수는 2×2×2=23=8가지가 된다. 따라서 다음 단계에서는 삶과 죽음을 결정해야 할 세포가 8개다.

그런데 이 세포들도 각각 삶과 죽음 둘 중의 하나의 상태를 갖는다. 그러므로 총 경우의 수는 2×2×2×2×2×2×2×2=28=256가지가 된다

그래픽 이미지

그런데 규칙에 따라 세포들이 이루는 패턴의 무늬는 매번 다르게 나타날까? 아니면 몇 가지 무늬가 반복해서 나타날까? 이것이 궁금했던 수학자 스테판 울프람은 256가지의 규칙을 일일이 적용해 패턴을 살펴봤다. 물론 손으로 한 건 아니다. 1차원 세포자동자의 원리를 함수로 나타낸 뒤, 컴퓨터를 이용해 구했다. 이 함수는 정의역이 S^n, 공역이 S로, S는 한 세포가 가질 수 있는 상태 집합이고 N은 이웃의 개수다.

그래픽 이미지

그 결과 그는 놀라운 사실을 발견했다. 1차원 세포자동자 중 세포의 상태가 삶과 죽음 두 가지라면, 패턴의 무늬는 무조건 네 가지 중 하나라는 것이다. 첫 번째 유형은 세포가 모두 죽거나 사는 것이다. 즉 격자칸이 모두 흰색이거나 검정색으로 나타난다. 두 번째는 살아 있는 세포의 패턴이 몇 단계 후부터는 똑같이 반복된다. 세 번째는 살아 있는 세포가 복잡한 모양으로 무한히 번식한다. 네 번째는 마치 살아 있는 생명체처럼 움직이는 듯이 보인다. 예를 들면 애벌레가 기어가는 모습으로 세포가 증식한다.

2차원 세포자동자, 생명게임

생명게임은 2차원 세포자동자의 일종으로, 1970년 수학자 존 콘웨이가 개발했다. 이를 미국의 과학 칼럼가 마틴 가드너가 [사이언티픽 아메리칸]이라는 잡지에 소개하면서 폭발적인 인기를 끌었다. 생명게임에서 한 개의 세포는 주변에 있는 8개의 세포에 의해 다음 단계의 상태가 결정된다. 1차원 세포자동자와 마찬가지로 몇 가지 규칙이 있고, 초기값만 입력하면 자동으로 다음 단계가 진행된다.

생명게임의 규칙

생명게임은 처음 입력된 초기값만으로 컴퓨터 상에 다양한 패턴을 만들 수 있다. 전혀 변화가 없는 고정된 패턴, 일정한 행동을 주기적으로 반복하는 패턴, 한쪽 방향으로 계속 전진하는 패턴 등이다.

이미지 목록

고정된 패턴의 예

반복하는 패턴의 예

전진하는 패턴의 예

이걸 알고 있었던 존 콘웨이는 마틴 가드너의 기사에 이벤트를 걸었다. 세포 수가 무한히 많아지는 인공생명체를 만들거나, 반대로 이것이 불가능하다는 것을 밝히는 사람에게 상금을 주겠다고 한 것이다. 그 결과 많은 사람들이 인공생명체 만들기에 뛰어들었고, 미국 메사추세츠공과대학 학생이던 빌 가스퍼가 처음으로 조건을 만족하는 패턴을 만들었다. 그가 만든 패턴은 일명 ‘글라이더 총’으로, 끊임없이 글라이더를 날려 보내는 인공생명체다.

이미지 목록

| 빌 가스퍼가 고안한 ‘글라이더 총’ <출처:Life Wiki>

생명게임은 수학과 컴퓨터 과학에도 큰 의미가 있다. 생명게임으로 만들어진 특정한 패턴을 이용하면 여러 가지 계산을 할 수 있기 때문이다.

이것이 가능한 이유는 컴퓨터가 수학문제를 해결할 때 사용하는 알고리즘의 문제 처리 방법과, 생명게임에서 나타나는 특정 패턴의 움직임이 같기 때문이다. 생명게임으로 만들어진 패턴은 일정한 규칙을 갖고 움직이기 때문에, 세포 각각에 알고리즘을 짤 때 사용하는 AND, OR, NOT과 같은 연산자를 적용시키면 계산을 할 수 있다.

이미지 목록

| 생명게임으로 만든 사례. <출처 : Life Wiki>

자기 복제가 가능한 기계가 있다?!

랭턴의 자기-재생산 루프

1차 세포자동자와 생명게임에서는 세포가 삶과 죽음, 이렇게 두 가지 상태를 가지는 연구에 대해 살펴봤다. 실제로 인공생명 연구자들도 이런 경우를 가장 많이 연구했다. 하지만 이 방법으로는 자기 모습 자체를 복제하는 패턴은 만들어낼 수 없다.

사실 자기 모습 자체를 복제하는 패턴을 처음 시도했던 폰 노이만은 세포가 가질 수 있는 상태를 29가지로 설정했다. 하지만 규칙을 세우는 것마저 매우 어려웠고, 끝내 그는 이런 패턴을 만들어내지 못했다. 이후 많은 연구자들이 세포가 가질 수 있는 상태의 개수를 바꿔가며 연구에 매달렸지만, 쉽게 결과가 나오지 않았다.

그런데 1984년 미국의 컴퓨터 과학자 크리스토퍼 랭턴(Christopher Langton)이 8개의 상태를 가지는 세포로 자기-재상산 루프를 만들어 냈다. 폰 노이만이 구상했던 것과 형태는 다르지만, 자기 모습을 복제하는 인공생명체가 탄생한 것이다.

랭턴은 세포 하나가 주변에 있는 네 개의 세포로부터 영향을 받아 다음 단계의 상태가 결정되는 2차원 세포자동자를 만들었다. 세포의 상태도 0부터 7까지 8가지 상태이기 때문에, 각각의 숫자에 해당하는 색을 정해 표현했다. 초기값으로 94개의 세포를 정했고, 규칙도 무려 108가지나 설정했다. 이렇게 완성된 자기-재생산 루프는 처음에 설정된 94개의 세포가 끊임없이 복제되면서 움직인다.

랭턴의 자기-재생산 루프에서는 초기값(오른쪽)의 모습이 무한히 복제된다.

지구 종말 시나리오, 그레이 구

세포자동자에서 좀 더 나아가 자기 자신을 스스로 복제하는 로봇은 없을까? 사실 폰 노이만도 궁극적으로 이런 로봇을 만들고 싶었다. 하지만 현재까지의 과학기술로도 이것을 구현하기는 어렵다. 그러나 나노 기술의 발전으로 이런기계의 탄생에 한 걸음 다가서고 있다.

나노 기술의 아버지로 불리는 에릭 드렉슬러는 나노미터(100만분의 1mm)크기의 로봇, 일명 ‘나노 로봇’을 만들어낼 수 있다고 주장했다. 이 로봇은 스스로를 복제할 수 있는 기능을 갖고 있어 원하는 물건을 만들어 낼 수 있다.

그의 주장에 힘을 실어 주듯, 2005년 미국 코넬대 호드 립슨 교수팀이 스스로 같은 모양을 만들어 내는 로봇을 실제로 개발해 발표했다. 이 로봇은 일명 ‘분자큐브’로, 한 변의 길이가 10cm 정도 되는 정육면체 블록으로 구성되어 있다. 이 로봇은 몸에 부착된 자석을 통해 주변 부품을 결합해서, 2~3분 만에 자신과 같은 모양으로 새로운 로봇을 만들어 낸다. 전기접촉을 통해 옆의 동료들과 의사소통을 하고, 만약 블록 하나가 고장나면 스스로 이 블록을 떨어뜨려 다른 블록으로 교체한다.

그런데 드렉슬러는 나노 로봇의 아이디어를 내면서 무시무시한 전망도 내놓았다. 복제가 가능한 나노 로봇이 기하급수적으로 증식해 인간의 힘으로 통제 불가능한 상태가 오면, 나노 로봇이 지구 전체를 뒤덮어 멸망할 수도 있다고 주장한 것이다. 이것이 바로 ‘그레이 구(Grey goo) 시나리오’다.

분자큐브는 우주 탐사 로봇에 응용될 예정이다. 미션 중 고장이 나도 새로운 부품으로 교체하거나 수리하는 능력을 갖고 있기 때문이다.

인공생명 연구, 현재는?

2012년 6월 ‘구글’에서는 사람과 같이 학습을 통해 검색을 하는 인공신경망을 개발했다고 발표했다. 인공신경망이란, 사람의 뇌의 특성을 컴퓨터로 구현한 수학 모델이다. 구글의 인공신경망은 무려 1만 6000개의 컴퓨터로 연결돼 있고, 10억 건 이상 연결된 데이터를 처리할 수 있다.

연구팀은 인공신경망의 성능을 시험해 보기 위해 유튜브에서 찾은 1000만 개의 이미지 중에서 고양이 그림을 식별해 내는 일을 시켰다. 물론 사람의 도움은 전혀 없도록 설계했다. 그 결과 어떤 이미지가 고양이인지 여러 자료를 통해 알아내고, 이어서 1000만 개의 이미지 중에서 고양이 그림을 가려내는 데 성공했다.

구글이 인공신경망 연구에 뛰어든 것은 이를 이용하면 검색을 정확하고 빠르게 할 수 있기 때문이다. 사람의 뇌는 약 1000억 개의 뉴런으로 이뤄져 있으며, 복잡하게 다른 뉴런들과 연결돼 있다. 그런데 놀라운 것은 반복 훈련을 통해 우리가 그림의 일부만 보더라도 전체를 연상할 수 있다는 점이다. 바로 여러 뉴런에서 정보를 전달해 주기 때문이다. 이 점을 모방해 만든 것이 인공신경망이다.

인공뉴런의 구조

사람의 뇌가 뉴런으로 이루어진 것처럼, 인공신경망은 인공뉴런으로 이루어져 있다.

인공뉴런은 입력값 x1, x2, x3이 들어오면 정보의 중요도에 따라 각각의 값에 가중치 w1, w2, w3을 매겨 곱한 뒤 더한다. 간단한 경우에는 계산한 값이 일정한 값 이상이면 1, 아니면 -1을 출력한다. 이때 사용자가 기대한 출력값과 인공뉴런이 계산한 값을 비교해 같으면 이대로 진행하고, 아니라면 가중치를 조절해 원하는 값을 갖도록 학습시킨다.

이런 원리를 이용하면 인터넷 검색뿐만 아니라 주가지수나 환율을 좀 더 빠르고 정확하게 예측할 수 있다. 이 때문에 구글을 대표로 인공신경망 연구가 활발히 진행되고 있고, 더 나아가 인공신경망을 이용해 인공생명체를 만드는 연구도 이루어지고 있다.

한편, 최근에 인공생명 연구가 가장 활발하게 진행되고 있는 건 생화학 분야다. 지난 2010년 5월 미국의 생명공학자 크레이그 벤터는 인공 DNA를 이용해 합성세포를 만들어 냈다고 발표했다. 벤터는 먼저 미생물에서 생산되는 화학물인 효소와, 곰팡이와 같은 균류 중 하나인 효모를 이용해 인공 DNA를 만들어 냈다. 이 인공 DNA를 박테리아에 넣어 합성세포를 탄생시킨 것이다.

물론 벤터가 만든 것이 완벽한 인공생명체는 아니다. 그가 화학물질로 인공 DNA를 만들긴 했지만 살아 있는 박테리아를 이용했기 때문이다. 생화학 분야에서 인공생명체를 만들려면 살아 있는 생명체를 전혀 이용하지 않고, 오로지 화학물질로만 만들어내야 한다. 하지만 인류 최초로 컴퓨터가 아닌 실제 인공생명체를 만드는 연구에 중요한 아이디어를 제시했다는 점에서 높게 평가받고 있다.

인공생명 vs 인공지능
인공생명과 인공지능은 헷갈리기 쉬운 개념이다. 그런데 두 학문의 목적은 서로 다르다.
인공생명이 다양한 생명현상을 구현하는 것에 목적을 둔다면, 인공지능은 사람의 지능에만 초점을 맞추고 있다. 그런데 학습과 적응도 생명현상 중 하나기 때문에 인공지능은 일정부분 인공생명에 포함된다. 따라서 둘은 떼려야 뗄 수 없는 관계에 있다.

조가현 기자
자료제공
수학동아 (http://math.dongascience.com/)
도움
조성배(연세대 컴퓨터과학과 교수)
참고도서
[진화하는 비트생명의 불가사의한 인공생명],[수학 괴물을 죽이는 법]
Comments