Emergence Hunt

WebGPU 준비 중…

Gray-Scott

분류 지도 (스캔 결과)

재생

갤러리나 타일을 누르면 여기서 다시 돌려봅니다.

Particle Life

16개 우주 × 1024 입자. 각 판마다 무작위 인력 행렬로 돌리고 구조를 점수화합니다.

최근 판 점수

재생

새로움 = 같은 모드의 저장된 항목(+알려진 기준) 중 가장 가까운 3개까지의 평균 특징 거리

한눈에 보기

규칙 하나를 무작위로 고르고, GPU에서 수천 스텝을 돌립니다. 결과를 숫자 몇 개(특징 벡터)로 요약하고, 이미 아는 패턴과 얼마나 다른지 잽니다. 충분히 다르면 갤러리에 남깁니다. 이 과정을 한 판에 수십 개씩, 계속 반복합니다.

① 규칙 뽑기(F,k) 또는 인력 행렬 ② GPU 시뮬레이션여러 판을 동시에 ③ 특징 요약13개 / 10개 숫자 ④ 분류점·줄무늬·혼돈… ⑤ 새로움 측정가까운 3개와의 거리 ⑥ 갤러리모드별 40개 갤러리에 남은 발견 주변을 다시 뽑아 더 파고듭니다 (적응형 정밀 스캔 · 변이)

Gray-Scott 반응-확산

두 화학물질 u, v가 격자 위에서 퍼지면서 반응합니다. v는 u를 먹고 자기를 늘립니다(u + 2v → 3v). 바깥에서 u를 속도 F로 채워 넣고, v는 속도 F+k로 빠져나갑니다. 고를 수 있는 값은 이 두 숫자뿐인데, 값에 따라 점·줄무늬·스스로 복제하는 점·혼돈이 나옵니다.

u ← u + Du·∇²u − u·v² + F·(1 − u) v ← v + Dv·∇²v + u·v² − (F + k)·v
+1+1−4+1+1 ∇² (라플라시안) = 이웃 4칸 합 − 가운데×4 주변보다 낮으면 채워지고 높으면 퍼져 나감 = 확산 상수는 Pearson(1993)과 같게: Du = 0.2097, Dv = 0.1049, dx = 1, dt = 1 각 타일은 가장자리가 반대편과 이어진 원환(torus)
GPU 컴퓨트 셰이더가 셀마다 위 식을 동시에 계산합니다. 128×128 타일 수십 장을 한 버퍼에 붙여 놓고, 타일마다 다른 (F,k)로 한꺼번에 돌립니다.

어디를 뒤지나: F,k 스캔

k (죽는 속도) → F (먹이) → 점선: k = √F/2 − F 근처 패턴이 생기는 경계 ● 고르게 흩뿌린 샘플(R2 수열) ● 흥미로운 곳 주변 정밀 샘플

패턴은 F,k 평면 전체가 아니라 초승달 모양의 좁은 띠에서만 생깁니다. 그래서 그 띠 안에서만 고르게 샘플을 뽑습니다. 절반은 이전에 균일하지 않은 결과가 나온 곳 주변을 더 촘촘히 다시 뽑습니다(적응형 정밀 스캔).

"특이 초기조건"을 켜면 Pearson의 사각형 씨앗 외에도 고리·호·줄·체커·그라디언트 등 10가지 씨앗을 섞어 씁니다. 같은 (F,k)라도 씨앗에 따라 다른 패턴이 살아남기 때문입니다.

Gray-Scott 자동 분류

마지막 v 농도장을 중간값으로 잘라 덩어리(연결 성분)를 셉니다. 덩어리마다 넓이, 둘레, 원형도(4π·넓이/둘레², 원이면 1)를 잽니다. 마지막 두 스냅샷을 비교해 얼마나 변하는지(활동량), 덩어리가 움직이는지, 개수가 늘었는지도 봅니다. 아래 표의 위에서부터 차례로 검사합니다.

uniform농도 차가 거의 없음(범위 < 0.04)
moving solitons덩어리가 개수도 크기도 그대로인 채 움직이고 바탕은 조용함(변하는 칸 < 20%). 둥근 점이 빨리 움직이거나, 어떤 모양이든 마지막 두 구간(4,000스텝씩) 동안 같은 속도로 천천히 미끄러지면 해당. U-skate는 200스텝에 0.3칸쯤으로 아주 느림
expanding덩어리 4개 이하가 체크포인트마다 계속 커짐(거품). 줄처럼 길게 자라는 벌레는 stripes로 둠
self-replicating점이 나뉘며 늘어남: 개수가 크게 늘었거나(log 비 > 1.6) 체크포인트마다 줄지 않고 2배 이상 늘어남. 변하는 칸은 35% 미만
chaos바탕 전체가 계속 출렁임. 판 전체에서 점이 쉬지 않고 나뉘고 죽는 경우도 여기
spots둥근 점(원형도 > 0.55), 긴 줄은 적음
stripes그 밖의 길쭉한 모양
검증: Pearson·Munafo가 정리한 알려진 영역 19개를 256×256, 10,000스텝으로 돌리면 19개 모두 기대한 분류로 나옵니다. 단, σ와 ρ는 "거품이 아직 커지는 중"이어서 expanding도 정답으로 인정했습니다. 2026-10-20에 스캔 1,200칸을 눈으로 보고 규칙을 고쳤고, 그 결과 17칸의 분류가 바뀌었습니다. "Pearson 재현 테스트" 버튼으로 다시 돌려볼 수 있습니다.

Particle Life

점 1024개가 3~8가지 색(종)으로 나뉘어 있습니다. 종마다 다른 종을 얼마나 끌어당기거나 밀어내는지 정한 인력 행렬이 있는데, 이 행렬 하나가 "규칙"입니다. 행렬이 대칭이 아니라서(A는 B를 좋아하는데 B는 A를 싫어함) 쫓고 쫓기는 움직임이 생깁니다.

0β = 0.3rmax ← 아주 가까우면 모두 밀어냄(겹치지 않게) 행렬 값 a > 0 → 끌림 a < 0 → 밀어냄 거리 →힘

16개 우주를 한 번에 돌리고(우주마다 다른 행렬), 마찰 때문에 속도가 반감기 0.04마다 반으로 줄어듭니다. 랜덤 탐색에 더해 "갤러리에서 변이"를 켜면 이미 저장된 좋은 행렬을 조금씩 흔들어 새 후보를 만듭니다.

Particle Life 점수와 분류

점 사이 거리가 0.025 안이면 이어서 덩어리를 만들고, 12개 이상 모인 덩어리만 셉니다. 일정 시간 떨어진 두 스냅샷을 비교해 덩어리 중심이 얼마나 옮겨갔는지(이동), 중심 주위로 얼마나 돌았는지(회전)를 잽니다. 바깥 껍질이 한 종으로 얇게 둘러싸였는지(막)도 봅니다.

gas덩어리가 거의 없이 흩어짐
membranes한 종이 바깥에 얇은 껍질을 만든 "세포"
rotators덩어리가 제자리에서 회전
movers덩어리가 한 방향으로 헤엄쳐 감
clusters멈춘 덩어리 4개 이상
blobs멈춘 덩어리 1~3개
점수는 구조가 있을 때만 올라가고, 움직임·회전·막이 있으면 더 붙습니다. 한 덩어리로 다 뭉친 경우(85% 이상)는 깎습니다.

"새롭다"는 어떻게 판단하나

Game of Life에는 전 세계 사람들이 찾은 패턴을 모은 목록(Catagolue)이 있지만, Gray-Scott과 Particle Life에는 그런 목록이 없습니다. 그래서 결과를 숫자 벡터로 바꾸고, 이미 아는 것들과의 거리로 새로움을 정합니다.

새 후보 ○ 알려진 기준(Pearson) ● 저장된 발견 새로움 = 같은 모드에서 가장 가까운 3개까지 거리의 평균 비교 대상: 알려진 Pearson 기준 + 지금까지 저장한 발견 기준을 넘으면 저장 (Gray-Scott 0.18, Particle Life 0.15) 알려진 패턴에 너무 가까우면 "새롭지 않음"으로 버림 모드별로 가장 새로운 40개만 유지 한 분류가 30%를 넘지 못하게 막음 — 혼돈은 잡음 때문에 늘 새로워 보여서, 막지 않으면 갤러리를 다 차지함
특징 벡터 — Gray-Scott 13개: 농도 분산, 높은 쪽 비율, 덩어리 수, 평균 크기, 원형도, 줄 비율, 활동량, 이동, 증가, 교체율, 점/구멍 여부, 후반 증가, 변하는 칸 비율. Particle Life 10개: 뭉친 비율, 덩어리 수, 최대 덩어리, 속도, 이동, 회전, 막, 종 순도, 크기 편차, 평균 크기. 모두 0~1로 맞춥니다.

한계: "새롭다"는 이 특징들로 본 거리일 뿐이라 사람 눈으로 보는 새로움과 다를 수 있습니다. 발견은 이 브라우저(IndexedDB)에만 저장되고, 썸네일을 누르면 같은 규칙과 시드로 다시 돌려볼 수 있습니다. 출처는 갤러리 탭 아래쪽에 있습니다.