글 수 4

격자속의 작은 세상 - 라이프 게임

조회 수 356 추천 수 1 2017.04.11 12:56:36


K-001.png

 

https://cakeandturtles.nfshost.com/games/gameoflife.php

 

 

 

라이프 게임이란

 

라이프 게임(Game of Life)은 영국의 수학자인 존 콘웨이가 고안해낸 세포 자동자(Cellular Automata)의 한 종류입니다. 세포 자동자는 폰 노이만(컴퓨터의 구조를 개발한 바로 그 사람)이 1940년대에 처음 이 개념을 발견했는데 규칙적인 격자 형태로 배열된 세포들에서 정의됩니다.

 

이 세포들은 여러개의 상태들을 가질 수 있는데 폰 노이만은 무려 29개의 상태를 가진 세포 자동자를 창안하였습니다. 존 콘웨이는 이를 단지 2개의 상태, 살아있음과 죽음으로 단순화 시켜서 1970년 미국의 과학잡지 사이언티픽 아메리칸에 발표하였습니다. 간단한 규칙으로 매우 복잡한 패턴이 나오는 것에 사람들이 많은 관심을 가졌고 오랫동안 인기를 끌었습니다.

 

 

 

라이프 게임의 규칙

cell_rebirth.jpg

 

한 단계에서 다음 단계로 넘어갈때 각 격자의 셀은 주변 8개의 셀의 상태에 따라 다음과 같이 결정됩니다.

 

1. 셀의 주변 8칸 중 정확히 3칸이 살아있으면 자신도 계속 살아있거나 죽었던 셀이 다시 살아남

2. 셀의 주변 8칸 중 정확히 2칸이 살아있으면 자신은 죽거나 살아있는 현재 상태를 계속 유지함

 

 

 

라이프 게임의 계산 능력

 

glider_gun.gif

 

위의 그림은 가스퍼란 사람이 만든 글라이더 건(Gosper's Glider Gun)으로 일정한 방향으로 전진하는 패턴을 생성합니다. 이를 사용해서 AND, OR, NOT 연산을 할 수 있는데 격자의 영역이 충분히 크다면 컴퓨터와 동일한 연산을 할 수 있다는 것을 의미합니다. 물론 훨씬 복잡하고 효율은 떨어지겠지만 이론적으로는 가능합니다.

 

 

 

인공생명과 복잡계

 

복잡계(Complex System)는 수많은 요소들이 상호작용하기 때문에 인간이 계산하기 힘든 현상을 말합니다. 카오스 이론이 대표적인데 나비의 날개짓이 태풍을 일으킬 수 있다는 나비 효과는 다들 들어보셨을 것입니다. 생명 현상도 복잡계의 대표적인 예입니다. 세포를 구성하는 단백질 분자들이 서로 유기적으로 작용하여 질서를 만들고 생명이 탄생합니다.

 

라이프 게임이 흥미로운 것은 무엇보다 생명에 대한 법칙을 암시하기 때문입니다. 위에서 라이프 게임에는 두가지 규칙이 있다고 하였습니다. 그런데 만약 규칙을 수정하여 세포가 너무 많이 살아나게 만들면 일정한 패턴이 나타나지 않고 무작위적으로 발산해버립니다. 반대로 세포가 너무 적게 살아나게 변경하면 아예 모든 세포가 죽어버릴 수 있습니다.

 

Edge_of_Chaos.png

 

이처럼 복잡계에서 질서가 만들어지는 아주 작은 범위를 혼돈의 가장자리(Edge of Chaos)라고 부릅니다. 콘웨이가 만든 라이프 게임의 규칙이 바로 이 영역안에 있기 때문에 복잡한 변화속에서도 일정한 패턴이 발생하는 것입니다. 이와 같이 단순한 작용에서 의도하지 않은 의미있는 행동이 나타나는 것을 창발(emergence)이라 합니다. 

 

138억년전 빅뱅으로 우주가 탄생하였고 45억년전 태양계의 지구라는 행성이 만들어졌습니다. 그리고 35년억년전 드디어 생명체가 출현하였습니다. 이는 당시 지구의 환경이 너무 정적이지도 않고 아주 무질서하지도 않은 바로 혼돈의 가장자리에 있었기 때문입니다. 라이프 게임이 단순해 보이지만 생명이 발생한 근본 원리와 유사하다고 생각할 수 있습니다.

 

인공생명에 관심이 있으신 분들에게 스티븐 레비의 '인공 생명'이란 책을 추천드립니다. 하지만 아쉽게도 지금은 절판되어서 구하기가 힘듭니다. 미첼 월드롭의 '카오스에서 인공생명으로'은 아직 판매되고 있는데 이 책도 매우 재미있습니다. 

List of Articles
제목 글쓴이 날짜 조회 수
격자속의 작은 세상 - 라이프 게임 file 깊은바다 2017-04-11 356
플로킹 데모 프로그램 file 깊은바다 2016-03-25 293
플로킹, 생물의 집단행동 구현 file 깊은바다 2016-03-25 551
인공생명, 새로운 생명의 창조 file 깊은바다 2016-03-25 292