Life Game

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS
The John Horton Conway's Game of Life: Wiki:JohnHortonConway가 고안한 잘 알려진 CellularAutomata.


© 1995-2000 Eric W. Weisstein.
그림 DeadLinks 아래 그림들 포함 2003/01/09
되는데요? (몇시간 후) --PuzzletChung
UnstableLink? DaNew는 잘 됩니다.
Sequoia는 여전히 안 됩니다. http://www.ericweisstein.com/ 자체가 연결이 안 되네요. 뭔가 세팅이 잘못되어있는듯.

바둑판 무늬와 같은 공간에 위 그림과 같은 "생명체"가 있다. 검은 색은 생명체가 살아 있다는 뜻이고, 흰 색은 죽어 없어진 상태이다.

이 상상의 공간에는 다음과 같은 룰이 적용된다. 칸 하나는 '죽어 있거나 살아 있거나' 둘 중 한 가지 상태여야 하고, 매 1초가 지나면
  1. (과소로 인한 소멸) 살아 있는 칸 주변의 8칸 중 1개 이하의 칸이 살아 있을 경우 그 칸은 외로워서 1초 후에 죽어 없어진다.
  2. (과밀로 인한 소멸) 살아 있는 칸 주변의 8칸 중 4개 이상의 칸이 살아 있을 경우 그 칸은 숨막혀서 1초 후에 죽어 없어진다.
  3. (탄생의 조건) 죽어 있는 칸 주변의 8칸 중 3개의 칸이 살아 있을 경우 그 칸은 어찌하여 1초 후에 살아난다.
  4. 그외는 현재 상태를 유지한다.

그렇다면 위의 생명체는 시간이 지날 수록 어떻게 될까?

결과는 의외로 복잡하다.
© 1995-2000 Eric W. Weisstein.

룰이라고는 간단한 것 두 가지밖에 없는데도 불구하고 이 간단한 환경에서 살고 있는 생명체 중에는 위와 같이 마냥 어지럽혀 놓는 놈도 있고, 똑같은 형태로 전진만 하는 놈이 있고,
© 1995-2000 Eric W. Weisstein.
똑같은 행동만 하는 놈도 있으며,
© 1995-2000 Eric W. Weisstein.
영원히 정지해 있는 놈도 있다.
© 1995-2000 Eric W. Weisstein.


LifeGame 룰로 제작된, 다양한 행동양태를 보이는 수많은 패턴들이 있지요. 개발된지 얼마 되지 않긴 했습니다만, 이걸 평생 연구하는 사람들도 꽤 많습니다. 최근에 나온 패턴들 중 가장 주목할만한 물건은 바로, LifeGame에서 돌아가는 TuringMachine입니다 (!)

작년 초에 발견한 링크였는데... 어디 있었는지는 잊어버렸군요. 하지만 연구자들 사이에선 대단한 화제였던 만큼 LifeGame를 전문적으로 깊게 다루는 외국쪽 사이트에서라면 이 패턴을 발견하실 수 있을 겁니다. 약 1500x1500셀 정도의 커다란 크기를 갖고 있고, 한 개의 '연산'을 하기 위해서 10000세대 정도의 엄청난 시간을 소비해야 하는 물건이긴 합니다만, TuringMachine의 구현이 가능하다는 사실만으로도 대단한 발견입니다. - Kanie

GoogleDotCom으로 검색해 보니까 http://www.rendell.uk.co/gol/tm.htm이 나오네요. 그런데 LifeGame으로 TuringMachine을 만든다면 LifeGame 자체를 하드웨어적으로 구현하는 게 문제가 되지 않을까요? --PuzzletChung


MathematicaLanguage를 20대에 만들었던 천재 [http]StephenWolframLifeGame에 빠져서 그 천재성을 제대로 발휘하지 못했다는 내용을 읽은적이 있다. Wolfram은 LifeGame을 이용하여 연산이 가능한 인공지능 컴퓨터를 구현하려고 했다는 것을 읽은 기억이 나는데, 그것이 위에서 말하는 내용인지는 잘 모르겠다. --무신
맞습니다. 그의 관심은 ANewKindOfScience로 이어졌습니다.


LifeGame이란 것은 Wolfram의 연구 이전에 있었던 것이지만, Wolfram의 CellularAutomata가 그것을 포함해버립니다. 1984년,1985년에 이루어진 Wolfram의 Review와 그 이후 약 10년에 걸친 Wolfram의 이것에 대한 연구는 정말 놀랍습니다. CellularAutomata로 Turing Machine을 만드는 방법은 너무나도 다양합니다. 저는 Partioning CellularAutomata가 Standard TuringMachine으로 mapping된다는 것을 증명했었죠.. 히.. 제가 지금 그걸 가지고 있는지 잘 기억이 안나는데.. 음.. 뒤적뒤적... ㅡ.ㅡ; 어딨지. ㅡ.ㅡ;;;; 어딨는지 잘 모르겠군요. 컴퓨터 안에서는 지워버린 모양입니다.

그렇지만, Kanie님이 말씀하신, Wolfram이 제안한 TuringMachine은 제가 한 거랑은 완전히 다릅니다. 제가 한 것은 DNA Computing의 이론을 Cellular Automata의 기반에서 시작한 칼텍의 Erik Winfree가 사용한 Partioning CellularAutomata였구요, 실제로는 이것보다 훨씬 복잡한, 메모리까지 고려한,,,(놀랍죠... ㅡ.ㅡ) 그런 TuringMachine이 있습니다.

하드웨어적으로 CellularAutomata를 구현하고자 하는 시도는 정말 장난아닙니다.

MIT와 Stanford 등지의 물리학과 쪽에서 'Crystal Computation'이란 것을 하고 있습니다. 결정이 이루어지는 규칙을 화학적인 원리에 의해서 자동적으로 CellularAutomata가 생성되어 컴퓨테이션을 하고자 하는 것입니다.

또 제가 말했던 Winfree 같은 사람들은 DNA molecular로 Computation을 하려고 하고 있습니다. Winfree의 아버지는 생물학자고, Winfree는 컴퓨터를 전공한 것 같더군요. 아무튼, 그 영향을 받았는지, Winfree는 Molecular Computing의 일가를 이루게 될 거 같다는... ^^;; 아직은 얼마나 대단할 지 아무도 모릅니다. 개인적인 생각으로는 쫌.. .. ^^; 연구의 가치는 무궁무진합니다.

그리고 칩으로도 구현되어있는 것이 있습니다. FPGA와 같은 것들이 그런 것입니다.. 물론 완벽한 것이라고는 할 수 없구요.. ^^; CellularAutomata 정말 잼있죠.

Cellular Automata의 효용성은 시뮬레이션입니다. 물리학이나 생물학에서 수많은 시뮬레이션을 Cellular Automata로 하고 있습니다. LifeGameCellularAutomata가 되버렸군요. 암튼.. ^^ 잼있네요.

--naya



"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>