====== 라이프 게임 용어 ====== [[라이프게임]]의 패턴에 관련된 용어. 가급적이면 [[lifthrasiir]] 맘대로 번역을 하려고 노력했음. ===== 패턴의 속성 ===== ? 주기 (period) ! 어떤 패턴이 일정 세대만큼 지나서 똑같은 패턴이 될 때 거기에 걸리는 최소 세대 수. (똑같은 패턴이 안 되면 주기가 무한하다고 가정한다.) 여기서 "똑같은 패턴"이라고 하는 것은 모양과 위치가 같다는 것 말고도 두 가지를 더 생각하는데, - 모양만 같으면 위치가 달라도 상관은 없다. 이 때 패턴이 움직이는 정도는 [[#속도]]로 표현한다. - 만약 패턴이 새 패턴을 생성해 내되 새 패턴이 더 이상 원래 패턴과 반응하지 않는다면, 만들어진 패턴([[#잔해]])은 비교 대상에 포함되지 않는다. 흔히 ## 주기의 패턴은 "p##"라고 줄여 표현한다. ? 속도 (speed) ! 유한한 주기를 갖는 패턴이 매 주기마다 움직이는 경우 그 양. 구체적으로 $$k$$세대가 지나면 가로로 $$p$$칸, 세로로 $$q$$칸 움직이는 패턴은 속도가 $$(\frac{p}{k}\mathbf{c}, \frac{q}{k}\mathbf{c})$$라 한다. (수평/수직/대각선 방향으로만 움직이는 경우 보통 한 쪽만 쓴다.) 속도 $$\mathbf{c}$$는 [[광속]]에 대응되는데 이는 모든 패턴은 한 주기에 항상 한 칸밖에 움직일 수 없기 때문이다. ? 온도 (heat) ! 유한한 주기를 가지는 패턴에서 한 주기 동안 매 세대 별로 새로이 죽거나 살아나는 칸의 갯수를 평균한 것. 온도가 높을 수록 패턴의 많은 부분이 바뀐다는 소리다. ? 살아 있는 셀의 갯수 (number of cells) ? 패턴을 감싸는 상자의 크기 (bounding box) ! 이들 속성은 종종 유한한 주기를 가지는 패턴에서 잘 정의되지 않는 경우가 있는데, 이 경우 보통 대표 패턴(가장 살아 있는 셀의 갯수가 적은)을 기준으로 하거나, 상자 크기의 경우 [[#속도]]가 0이 아닌 경우 한 주기에 해당하는 모든 칸을 감싸는 상자를 기준으로 하는 경우가 보통이다. ? 성장 속도 (growth rate) ! 패턴이 세대가 지나면서 살아 있는 셀의 갯수가 무한히 많아질 경우, 셀 갯수를 세대 수에 대한 [[함수]]로 표현한 것. 정확한 셀의 갯수를 세는 건 별 의미가 없기 때문에 보통 [[점근표기법]]으로 표현한다. 라이프 게임에서 패턴은 $$O(n^2)$$([[#증식로]])보다 높은 성장 속도를 가질 수 없다. ? 밀도 (density) ! 원래부터 무한히 크거나 ([[#우무]]), 무한히 성장하는 패턴에서 전체 칸의 갯수 대비 살아 있는 칸의 갯수 비율. 종종 무한히 커지지 않는 패턴이라도 특정 영역에 대한 밀도를 따질 때도 있다. ? 선조 (predecessor) ! 한 세대 이상 지난 뒤에 해당하는 패턴을 만들 수 있는 패턴. ? 부모 (parent) ! 정확히 한 세대 후에 해당하는 패턴을 만들 수 있는 패턴. 어떤 패턴의 부모는 일반적으로 유일하지 않으며, 심지어 존재하지 않을 수도 있다. (후자는 [[#에덴 동산]]) ? 조부모 (grandparent) ! 정확히 두 세대 후에 해당하는 패턴을 만들 수 있는 패턴. ? 잔해 (debris) ! 패턴이 자기 자신 이외에도 생성해 내는 새로운 패턴. 잔해는 원래 패턴과 반응하지 않으며, [[#주기]]나 [[#속도]] 등을 계산할 때도 별도로 세지 않는다. ? 안정화 (stable) ! 전체 패턴이 유한한 [[#주기]]를 가지는 상태로 접어 드는 것을 의미한다. ===== 패턴 종류 ===== ? 진공 (vacuum) ! 아무 칸도 살아 있지 않은 패턴. ? 불똥 (spark) ! 일정 세대가 지난 뒤 궁극적으로는 완전히 사라지는, 즉 [[#진공]]의 [[#선조]]인 패턴. ? 연기 (smoke) ! [[#불똥]]인 [[#잔해]]. (기술적으로는 잔해라고 하기 약간 뭐하지만) 그 자체로는 사라지지만 다른 패턴과 반응하여 여러 용도로 쓸 수 있다. ? 정물 (still life) ! [[#주기]]가 1인 패턴. (즉, 항상 자기 자신의 [[#부모]]가 된다) 정물의 [[#속도]]는 항상 0이고 [[#온도]] 역시 항상 0이다. ? 유도 코일 (induction coil) ! [[#정물]]의 부분으로, 다른 부분과 연결되어 있지 않지만 정물을 [[#안정화]]시키는 데 꼭 필요한 패턴. ? 준정물 (pseudo still life) ! 정확히 두 개의 다른 정물로 나뉠 수 있는 [[#정물]]. (아닌 것을 strict still life라 하는데 번역을 못 하겠다) 어떤 정물은 두 개로는 나눌 수 없지만 세 개 이상으로 나눌 수 있는 경우가 있는데 이 경우 준정물로 치지 않는다. ? 먹보 (eater) ! 다른 패턴(이를테면 [[#우주선]])이 접근했을 때 그 패턴과 반응하여 다시 자기 자신으로 돌아 오는, 즉 원래 패턴을 "먹어 버리는" [[#정물]]. ? 진동자 (oscillator) ! [[#주기]]가 2 이상이고 [[#속도]]가 0인 패턴. (즉, 항상 자기 자신의 [[#선조]]가 된다) 어떤 의미에서는 [[#정물]]을 p1 진동자로 볼 수도 있다. ? 총 (gun) ! [[#우주선]]인 [[#잔해]]를 만들어 내는 [[#진동자]]. ? 회전자 (rotor) ? 고정자 (stator) ! [[#진동자]]에서 어떤 경우에도 바뀌지 않는 부분과 언젠가 바뀌는 부분을 일컫는다. ? 당구대 (billiard table) ! [[#고정자]]가 [[#회전자]]를 완전히 감싸는 [[#진동자]]. ? 우주선 (spaceship) ! 유한한 [[#주기]]와 0이 아닌 [[#속도]]를 가지며, 자기 자신 이외에 다른 패턴을 생성해 내지 않는 패턴. ? 증기기관차 (puffer train) ! [[#잔해]]를 만들어 내는 [[#우주선]]. ? 갈퀴 (rake) ! [[#잔해]]가 또 다른 [[#우주선]]이 되는 [[#증기기관차]]. ? 므두셀라 (methuselah) ! 아주 오랫동안 [[#안정화]]되지 않고 넓게 퍼지는 패턴. [[성경]]에서 969세까지 살았다는 므두셀라의 이름을 땄다. ? 우무 (agar) ! 원래부터 무한하지만 유한한 [[#주기]]를 가지는 패턴. ? 에덴 동산 (Garden of Eden) ! [[#부모]]가 존재하지 않아서 맨 처음 세대에만 나타날 수 있는 패턴. 역시 [[성경]]의 [[에덴동산]]에서 이름을 땄다. 이런 류의 패턴이 라이프 게임 외에도 많은 [[셀룰러오토마타]]에 존재한다는 사실은 잘 알려져 있다. 계층적으로 분류되지 않는 종류들: ? 반사판 (reflector) ! 다른 [[#우주선]]이 접근했을 때 그 패턴과 반응하여 자기 자신은 다시 원래대로 돌아 오되 우주선의 방향을 다른 방향으로 바꿔 버리는 [[#정물]]이나 [[#진동자]]. ? 무한히 성장하는 패턴 ! [[#성장 속도]]가 항상 1보다 큰 함수(즉 $$\omega(1)$$)인 패턴. ? 증식로 (breeder) ! [[#성장 속도]]가 $$\Theta(n^2)$$인 패턴. ? 복제자 (replicator) ! [[#잔해]]가 또 다른 자기 자신이 되는 패턴. ===== 주요 패턴 ===== ? 글라이더 (glider) ! 가장 자주 나타나는 p4, c/4 [[#우주선]]. 칸 다섯 개로 이루어져 있다. ? 글라이더 합성 (glider synthesis) ! 잘 배치된 [[#글라이더]]만을 이용해 어느 시점에서 글라이더들끼리 충돌해 원하는 패턴을 만들어 내는 방법. {{tag>유희수학}}