도구스학업·수학

퍼콜레이션(격자 침투) 계산기

격자의 칸이 확률 p로 열릴 때 위에서 아래로 뚫리는지 유니온–파인드로 판정하고, 문턱값을 시뮬레이션으로 직접 추정합니다. 격자를 키울수록 뚫릴 확률 곡선이 계단에 가까워지는 상전이를 눈으로 보여 줍니다.

n×n = 576칸입니다. 80까지 받습니다

같은 시드는 언제나 같은 격자를 만듭니다. 새로고침해도 결과가 바뀌지 않습니다

n = 24, p = 0.593 · 시드 1

뚫리지 않았습니다

열린 칸 347개 (60.2%) · 가장 큰 덩어리 151칸

격자 — 파란 칸이 위에서 물이 닿은 곳입니다

막힌 칸 열렸지만 물이 안 닿음 물이 닿은 칸
유니온–파인드 판정안 뚫림
BFS로 다시 판정안 뚫림
두 판정이 같은가같음

문턱값 추정에 쓸 실험 횟수입니다. 늘리면 신뢰구간이 좁아집니다

문턱값 추정 (n = 24, 100번)0.59627
95% 신뢰구간0.58758 ~ 0.60495
실험 간 표준편차0.04431
뚫릴 확률이 0.5를 지나는 p0.5953

p에 따라 뚫릴 확률 (0.35 ~ 0.85)

p = 0.35가로 점선이 확률 0.5p = 0.85

격자 크기를 12에서 60으로 올려 보세요. 곡선이 완만한 S자에서 계단에 가깝게 가팔라집니다. 무한히 큰 격자에서는 문턱 아래에서는 절대 안 뚫리고 위에서는 반드시 뚫리는 계단이 됩니다.

문턱값을 상수로 박아 넣지 않았습니다. 2차원 정사각 격자의 사이트 퍼콜레이션 문턱은 닫힌 식이 알려져 있지 않고, 수치 실험으로 0.5927 언저리라고 알려져 있을 뿐입니다. 이 계산기는 그 값을 답으로 쓰지 않고 매번 시뮬레이션으로 추정합니다. 위 추정값 0.59627과(와) 알려진 0.5927을 견주어 보세요. 격자를 키우고 실험 횟수를 늘릴수록 신뢰구간이 좁아집니다.
문턱값은 이렇게 잽니다. p를 훑으며 세는 것보다 나은 방법이 있습니다. 칸을 무작위 순서로 하나씩 열다가 처음 뚫리는 순간의 «열린 칸 비율»을 재는 것입니다. 한 번 돌 때마다 문턱값 하나가 나오므로 평균과 신뢰구간을 바로 얻습니다. 이 방식은 n이 작아도 평균이 이미 0.59 언저리이고, n을 키우면 흩어짐(표준편차)이 줄어듭니다.
유니온–파인드 하나로만 풀면 «역류» 함정에 빠집니다. 맨 위와 맨 아래에 가상의 칸을 붙여 두면 뚫림 판정은 한 번의 질문으로 끝나지만, 뚫린 뒤에는 아래쪽에 매달린 막다른 칸까지 위와 이어진 것으로 보입니다. 아래에서 위로 거슬러 올라간 셈입니다. 그래서 이 계산기는 자료구조를 둘 둡니다 — 뚫림 판정용(위·아래 모두)과 물이 찬 칸 표시용(위쪽만)입니다. 위 격자에서 열렸는데도 회색인 칸이 그 구별의 결과입니다.
난수는 시드를 고정합니다. 새로고침할 때마다 답이 바뀌면 계산기 노릇을 못 하기 때문입니다. 시드를 바꾸면 다른 격자가 나오고, 같은 시드로 돌아오면 언제나 같은 그림이 나옵니다. 위·아래·좌우로만 이어진 것으로 보며 대각선은 이어진 것으로 세지 않습니다.

계산 방법

  1. 1격자 크기 n과 칸이 열릴 확률 p를 정합니다.
  2. 2격자 그림에서 위에서 물이 닿은 칸(파란색)이 맨 아랫줄까지 내려가는지 봅니다.
  3. 3아래 문턱값 추정에서 시뮬레이션이 낸 값과 알려진 0.5927을 견줍니다.
  4. 4격자 크기를 12에서 60으로 올려 가며 곡선이 얼마나 가팔라지는지 확인합니다.

자주 묻는 질문

격자의 칸이 확률 p로 «열림»일 때 열린 칸끼리 이어져 위에서 아래로 길이 나는지를 보는 모형입니다. 커피 가루 사이로 물이 내려가는 것, 암반에 지하수가 흐르는 것, 산불이 번지는 것, 전염병이 퍼지는 것이 모두 같은 꼴이라 물리학·재료공학·역학에서 널리 쓰입니다.

p를 조금씩 올리면 뚫릴 확률이 완만히 오르지 않고 어느 지점에서 갑자기 섭니다. 그 자리가 문턱값입니다. 2차원 정사각 격자의 사이트 퍼콜레이션에서는 0.5927 언저리로 알려져 있습니다. 물이 0℃에서 어는 것과 같은 «상전이»가 이 단순한 확률 모형에서 나옵니다.

닫힌 식이 알려져 있지 않아 수치 실험으로 얻은 값입니다. 그래서 이 계산기는 그 값을 상수로 쓰지 않고 매번 시뮬레이션으로 추정합니다. 칸을 무작위 순서로 하나씩 열다가 처음 뚫리는 순간의 «열린 칸 비율»을 재는 방식이며, 한 번 돌 때마다 문턱값 하나가 나오므로 평균과 95% 신뢰구간을 바로 얻습니다.

뚫릴 확률 곡선이 가팔라집니다. 문턱값의 평균은 작은 격자에서도 이미 0.59 언저리지만, 실험 간 흩어짐(표준편차)이 크게 줄어듭니다. 무한히 큰 격자에서는 문턱 아래에서는 절대 안 뚫리고 위에서는 반드시 뚫리는 계단이 됩니다.

칸을 열 때마다 이웃한 열린 칸과 묶습니다. 맨 위에 가상의 위쪽 칸, 맨 아래에 가상의 아래쪽 칸을 두면 «뚫렸는가»는 그 둘이 같은 덩어리인지 한 번 물어보면 끝납니다. 경로 압축과 크기 기준 합치기를 쓰면 사실상 상수 시간에 답합니다.

가상의 아래쪽 칸까지 한 자료구조에 넣으면, 뚫린 뒤에는 아래쪽에 매달린 막다른 칸들까지 위와 이어진 것으로 보이는 문제입니다. 아래에서 위로 거슬러 올라간 셈이라 물이 찬 칸을 칠할 때 틀린 그림이 나옵니다. 이 계산기는 자료구조를 둘 두어 피합니다 — 뚫림 판정용(위·아래 모두)과 물이 찬 칸 표시용(위쪽만)입니다.

같은 격자를 BFS로 다시 판정해 봅니다. 유니온–파인드는 칸을 묶어 가며 판정하고 BFS는 다 만들어 놓은 격자를 훑으므로 같은 실수를 저지를 길이 없습니다. 이 계산기는 두 판정 결과를 화면에 나란히 냅니다.

아닙니다. 위·아래·좌우로 맞닿은 것만 이어진 것으로 봅니다. 대각선까지 세면 문턱값이 크게 달라집니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지고 넣은 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 2차원 정사각 격자의 사이트(칸) 퍼콜레이션만 다룹니다. 본드(변) 퍼콜레이션이나 삼각·육각 격자는 문턱값이 다릅니다.
  • 이어짐은 위·아래·좌우만 셉니다. 대각선은 이어진 것으로 보지 않습니다.
  • 난수는 시드를 고정한 생성기를 씁니다. 같은 시드는 언제나 같은 격자를 만듭니다.
  • 격자는 한 변 80칸까지 받습니다. 그 위로는 화면과 계산 시간이 함께 부담스러워집니다.
  • 문턱값 추정은 확률적 결과라 실험 횟수가 적으면 흔들립니다. 신뢰구간을 함께 보세요.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.