이 단원 목차
평형 법칙이 이동 경로까지 정해 주지는 않는다
모든 배치의 확률을 알면 평형이 어떤 모습인지 알 수 있다. 하지만 표본을 어떻게 만들지, 초기 상태의 영향을 잊는 데 얼마나 걸리는지, 실제 물질이 시간에 따라 어떻게 움직이는지까지 정해지는 것은 아니다. 같은 평형 분포를 보존하는 갱신 규칙도 서로 다른 경로와 수렴 성질을 가질 수 있다.
정사각형으로 배치된 네 방을 생각해 보자. 배치 하나에는 두 개의 이진 선택이 기록된다. 첫 선택을 바꾸는 이동과 둘째 선택을 바꾸는 이동은 서로 다른 방향의 변을 따른다. 조건부 Gibbs 갱신은 다른 선택을 고정하고 한 선택을 조건부분포에서 다시 뽑는다. 제약이 방이나 연결을 제거하면, 올바른 조건부 갱신을 반복해도 한곳에 갇힐 수 있다.
조건부 갱신의 출발점은 Stanford의 Gibbs sampling 설명과 연결된다. 아래의 두 스핀 예제, 흐름의 반례와 수축 계산은 직접 유도한다. 목표 분포를 보존하는가, 상세평형을 만족하는가, 모든 허용 초기 상태에서 목표 분포로 수렴하는가를 서로 다른 질문으로 다룬다.
상태와 Hamiltonian을 선언하자
두 스핀 σ1, σ2는 각각 −1 또는 +1이다. 전체 곱 지지집합에서는 (--),(-+),(+-),(++) 순서로 적는다. 에너지와 목표 분포는
J, h1, h2, c는 모두 J 단위의 에너지다. 스핀 값은 무차원이므로 에너지 식의 각 항은 같은 단위를 갖는다. 양의 온도에서 양의 J는 같은 방향의 스핀을 선호하고, 두 장은 서로 다른 부호를 선호하게 만들 수도 있다. 공통 에너지 이동 c는 분배함수를 바꾸지만 정규화한 목표 분포와 모든 조건부 확률에서는 소거된다.
지지집합도 준비 조건에 포함된다. 네 상태가 모두 있는 전체 곱 공간과, (-+),(+-)만 허용하는 합0 제약을 비교하자. 지지집합 밖의 상태는 드물게라도 방문할 상태가 아니라 애초에 없는 상태다. 유한한 비영 온도에서는 모든 허용 상태의 목표 확률이 엄밀히 양수다.
한 자리 조건부 갱신을 유도하자
둘째 스핀을 s로 고정하면 첫째 스핀에 의존하는 에너지는 −(Js+h1)σ1로 줄어든다. 두 조건부 가중치를 나누면
logistic의 인자는 무차원이다. 이것은 heat-bath 갱신으로, 정확한 조건부분포에서 새 스핀 값을 뽑는다. 원래 값과 같은 값을 다시 뽑을 수도 있다. 매 단계 반드시 스핀을 반전시키는 규칙이 아니다. 둘째 자리에서는 첨자를 바꾸고 h2를 사용한다.
이 logistic 식은 다른 스핀을 고정했을 때 두 부호가 모두 허용된다는 가정을 쓴다. 합0 제약에서는 둘째 부호가 정해지면 첫째 부호도 하나로 정해진다. 이때 조건부분포는 그 값에 확률1을 준다. 제약 지지집합에 무제약 logistic 식을 그대로 적용하면 다른 모델을 시뮬레이션하게 된다.
출발 상태를 행으로 둔 전이행렬을 만들자
K1은 첫째 자리, K2는 둘째 자리를 갱신한다. 분포 q를 행벡터로 쓰고 오른쪽에 전이행렬을 곱한다.
행은 현재 방, 열은 다음 방이다. 각 행의 합은1이다. K1과 K2의 0에는 구조적 이유가 있다. 한 갱신에서 고정하기로 한 좌표를 바꿀 수 없기 때문이다. 대각 성분은 현재 방에 머무를 확률이며 조건부 갱신에 자연스럽게 포함된다.
이상적인 준비 βJ=ln 2, h1=h2=0에서는 목표 분포가 (2/5,1/10,1/10,2/5)이고 고정 이웃과 같은 방향을 뽑을 조건부 확률은4/5이다. 따라서
(--)의 행을 따라가 보자. 첫째 자리 갱신에서는 확률4/5로 (--)에 남고 확률1/5로 (+-)로 이동한다. (-+)로 갈 수는 없다. 그것은 고정한 둘째 좌표를 바꾸는 이동이기 때문이다. 상태 그림과 행렬을 대응시키면 어느 값이 조건부 확률인지 더 분명해진다.
한 자리 갱신의 분포 보존과 상세평형을 증명하자
첫째 자리를 갱신할 때 예전 첫째 스핀을 합하면 둘째 스핀의 주변분포가 남는다.
따라서 목표 분포에서 시작하면 갱신 후에도 같은 분포다. 둘째 좌표가 같은 두 상태 사이의 평형 흐름은
이다. 이것이 상세평형이다. 둘째 좌표가 다른 두 상태 사이에서는 양방향 흐름이 모두0이다. K2에도 같은 증명을 적용할 수 있고, 두 좌표를 π에서 함께 다시 뽑는 joint block에도 적용된다.
하지만 분포 보존은 수렴보다 약한 성질이다. K1만 반복하면 y가 변하지 않으므로 처음 선택한 둘째 스핀을 잊을 수 없다. 두 y 집합이 각각 닫힌 채로 남는다. π가 정상분포이고 상세평형을 만족해도 정상분포가 유일하지 않을 수 있다. 특정 목표 분포가 보존된다는 증명만으로 어떤 초기 상태에서든 그 목표로 간다는 결론을 내리지 말자.
random scan과 systematic scan을 비교하자
동일 확률 random scan은1/2의 확률로 갱신할 좌표를 선택한다. systematic sweep는 첫째 자리를 갱신한 다음 둘째 자리를 갱신한다.
random 혼합에서는 두 대칭 평형 흐름을 같은 고정 계수로 더하므로 상세평형이 유지된다. 순차 곱에서는 각 인자가 π를 보존하므로 그 곱도 π를 보존한다. 그러나 가역 kernel의 곱이 항상 가역인 것은 아니다. 경로를 역으로 뒤집으면 갱신 순서도 뒤집혀 일반적으로 K2K1에 대응하기 때문이다.
이상적 예제의 순차 sweep 행렬은
이다. 행렬을 반대쪽에 곱하거나 갱신 순서를 바꾸면 다른 행렬이 된다. (--)에서 K1을 거쳐 K2로 나뉘는 두 갈래 경로를 따라가면 최종 분포는 (16,4,1,4)/25이다. 경로를 직접 더하는 계산으로 행렬의 방향 관례를 검산할 수 있다.
순차 갱신에서 상세평형이 깨지는 모습을 확인하자
이상적인 순차 전이에서 (--)에서 (-+)로 가는 확률과 역방향 확률은 모두4/25이다. 상세평형은 전이 원소만이 아니라 출발 평형 확률을 곱한 흐름을 비교한다.
두 흐름은 다른데도 목표 분포는 보존된다. random scan에서는 이 쌍의 양방향 흐름이 모두1/25이다. 전이 원소의 대칭성이나 정상성만으로 상세평형을 증명할 수 없다는 반례다. 정상성은 각 상태에 들어오는 흐름의 합과 나가는 합을 맞추지만, 상세평형은 모든 쌍의 흐름까지 맞춘다.
이 특정 수치보다 일반적인 판정도 가능하다. 네 양의 목표 질량을 상태 순서대로 a,b,c,d라고 쓰면
분모의 모든 인자가 양수이므로 이 차이의 부호는 βJ의 부호와 같다. 전체 곱 지지집합과 유한 비영 온도에서 정확히 J=0일 때만 이 차이가0이다. 작은 상호작용 때문에 수치를 표시하기 어려워져도 순차 chain이 정확히 가역이 된 것은 아니다. 합0 제약에서 생기는 항등 chain은 다른 지지집합이므로 별도로 다룬다.
두 스핀의 수축으로 수렴을 측정하자
total variation 거리는 두 개별 경로가 아니라 두 확률 법칙을 비교한다.
순차 sweep에서는 예전 첫째 좌표를 즉시 버린다. 둘째 좌표의 주변분포는 두 상태 Markov chain을 따른다. 그 비자명한 고윳값은 두 조건부 확률 차이의 곱으로 쓸 수 있다.
마지막 등식은 이진 변수의 조건부 평균이 다른 변수의 affine 함수라는 사실에서 나온다. 중심을 뺀 기울기는 한 방향에서 Cov(X,Y)/Var(Y), 역방향에서 Cov(X,Y)/Var(X)다. 두 조건부 기대값을 차례로 적용하면 기울기가 곱해진다. 모든 질량이 양수인 전체 지지집합에서는0≤λ<1이다. 음의 상관도 제곱되므로 λ 자체는 비음수다.
두 상태 위에서 정상분포를 뺀 분포는 자유도가 하나뿐이다. 그 편차가 sweep마다 λ배 되고, 다음 두 조건부 갱신에서 결합분포를 재구성하는 연산도 선형이므로
이다. J=0이면 한 번의 전체 sweep가 독립 곱 분포를 새로 뽑아 q1=π가 된다. 이 경우는 직접 처리하고 수치 라이브러리에0^0 계산을 맡기지 않는다. 이상적 영장 예제에서는 Corr(X,Y)=3/5, λ=9/25이고, (--)의 점질량으로 시작하면 d1=3/10이다. 둘째와 넷째 sweep의 거리는 각각0.108과0.0139968이다.
이 항등식은 수치 계산에도 도움이 된다. 상호작용이 극히 작으면 q4와 π의 확률이 화면에서는 모두 같아 보여도 d4는 양수일 수 있다. 조건부 확률 차이와 d1의 구간을 마지막 표시 변환 전에 곱하면 이 거리를 보존할 수 있다. 이미 표시한 확률을 빼면 거짓0을 얻게 된다.
지지집합 제약으로 연결을 제거하자
이제 (-+)와 (+-)만 허용하자. h1=h2이면 두 허용 에너지는 같고 π=(1/2,1/2)다. 한 자리만 바꾸면 합0 제약을 위반한다. 따라서
항등 chain에서는 두 고립 상태의 모든 혼합분포가 정상분포다. 첫 상태에서 시작하면 q_t=(1,0)이 영원히 유지되고, 지정한 목표와의 total variation 거리는1/2로 남는다. 상세평형은 만족하지만 어떤 초기 상태에서든 그 목표로 가는 것은 아니다.
joint block은 두 좌표를 함께 다시 뽑는다. 모든 행이 π이므로 한 단계에 목표 분포가 된다. 두 장이 다르면 합0 지지집합의 목표는 편향되지만, 한 자리 kernel은 여전히 항등이고 joint block은 그 편향된 확률을 사용한다. 따라서 갇히는 원인은 큰 상호작용이나 같은 목표 가중치가 아니라 지지집합의 연결 구조다.
| 성질 | 전체 지지집합 random/systematic | 합0 한 자리 갱신 | joint block |
|---|---|---|---|
| 목표 분포 보존 | 예 | 예 | 예 |
| 서로 통하는 클래스 하나 | 예 | 아니오, 고립 상태 두 개 | 예 |
| 유일한 정상분포 | 예 | 아니오 | 예 |
| 모든 초기 상태에서 목표로 수렴 | 유한 비영 온도에서 예 | 아니오 | 한 단계 뒤 예 |
양의 자기 전이 확률은 유한 클래스 안의 비주기성을 보장한다. 일부 양의 변이 표시 범위보다 작아져도 이 연결성과 자기 전이는 수학적 kernel의 성질로 남는다. 화면의 반올림 값으로 변을 삭제하면 이 성질을 잘못 판단할 수 있다.
계산 비용을 비교하되 물리적 시계를 만들지 말자
random scan 한 단계는 좌표 하나를 다시 뽑는다. systematic sweep 하나는 좌표 두 개를 다시 뽑는다. 같은 단계 번호로 비교하면 갱신한 좌표 수가 다르다. 두 좌표 갱신의 예산으로 맞추려면 random 두 단계와 sweep 한 단계를 비교해야 한다. 그래도 random에서는 같은 자리를 두 번 고를 수 있으므로 완전히 같은 연산은 아니다.
joint block도 두 좌표를 다시 뽑지만, 이 개수만으로 두 번의 스칼라 갱신과 실행 시간이 같다고 할 수 없다. 큰 모델에서는 결합 조건부분포를 구성하고 표본을 뽑는 비용이 훨씬 클 수 있다. 가로축이 무엇을 세는지 명시하자. 단계, sweep, 좌표 갱신 수, 실제 실행 시간은 서로 다른 측정값이다.
이 kernel들은 물리적인 스핀 반전율이나 열저장고의 완화 시간, 실험실의 시계를 지정하지 않는다. Boltzmann 법칙을 보존하는 알고리즘이라는 이유만으로 물질의 동역학 모델이 되지는 않는다. 하나의 정적 평형 분포에도 서로 다른 가역·비가역 표본추출기를 만들 수 있다.
이론적 분포와 유한 난수 경로를 구별하자
q_t=q_0P^t 계산은 명시한 수치 구간 안에서 분포를 설명한다. 고정 seed의 유한 경로 하나는 경험적 방문 횟수를 만든다. 그 빈도는 변동하고 초기 상태에 의존하며 강한 상관을 가질 수 있다. 갇힌 항등 chain은 표본마다 같은 상태를 반복한다. 경로를 길게 늘려도 목표 혼합분포를 복원하지 못한다.
난수 구현도 별도의 근사를 추가한다. b비트로 균등 정수 R=0,…,2^b−1을 만들고 R/2^b<p일 때 사건을 선택한다고 하자. 정확한 실수 p와 비교한다면 실제 구현 확률은
이다. b=8, p=0.001이면 확률은0.001이 아니라1/256이다. 격자점을 다른 위치에 놓는 방식은 다른 반올림 행동을 갖는다. p를 먼저 부동소수점0으로 반올림했다면 이 계산도 달라져 사건이 한 번도 선택되지 않는다. seed를 지정했다는 사실만으로 임의 실수 확률에 대한 정확한 표본이 되는 것은 아니다.
경로 시각화는 PRNG, 비트 정밀도, seed, 초기화, 좌표 갱신 횟수를 밝혀야 한다. 이론적인 희귀 전이를 조용히0으로 바꾸면 안 된다. 수치 모델은 이론적 kernel과 분포를 계산한다. 읽기 화면에는 별도의 유한 비트 경로 생성기가 구현되어 있다. 그 양자화 kernel과 시드 예시는 이론 법칙과 구별해야 한다.
경계 조건과 수치 근거를 읽자
모델은 유한한 J,h1,h2,c와 유한 비영 T를 받는다. 유한 지지집합에서는 음의 T도 수학적으로 정규화되며 조건부 선호가 그에 따라 뒤집힌다. 이것이 에너지 위쪽이 무한한 실제 계의 음의 온도 평형을 증명하지는 않는다.
이 조건부 모델은 T=0을 명시적으로 거부한다. 양의 쪽 극한에서는 어떤 바닥 상태가 살아남는지, 목표 확률이0이 된 조건화 사건을 어떻게 처리할지 별도로 정해야 한다. logistic 식에 무한 β를 넣는다고 확률0인 사건의 조건부분포가 정해지지는 않는다. 앞 장의 가중 유한 법칙은 자체적인 바닥 확률 극한을 다루지만, 그것이 조건부 kernel의 경계 문제까지 없애지는 않는다.
정확한 이진 Hamiltonian 합은 큰 공통 에너지 이동 아래에서도 간격을 보존한다. 각 조건부는 지수함수를 계산하기 전에 자신의 국소 에너지를 기준으로 삼는다. 따라서 전체 목표 확률에서 희귀 조건화 클래스가 언더플로하더라도 그 안의 조건부 정규화를 잃지 않는다. 방향성 구간은128–8192비트로 적응하며, 해결된 비영 값은 확정된 부호와2^-48이하 상대 구간 폭을 갖는다. 선형 표시 범위 밖 비영은 부호와 null 표시값을 보존하고, 상한에서 충분히 정밀하지 못하면 미해결로 남긴다.
수치 정상성 잔차도 구간으로 제공한다. 그 구간에0이 들어 있다는 것만으로 정상성을 증명한 것은 아니다. 증명은 조건부 구성에서 나온다. 마찬가지로 가역성과 연결성은 정확한 Hamiltonian과 지지집합으로 판단하며, 허용 오차나 반올림된 전이 그래프로 판단하지 않는다. 독립 Decimal 참조는 실제 binary64 입력에서 다섯 kernel, 흐름, 유한 단계 분포, 수축과 거리를 대조한다. 희귀 전이와 미약한 상호작용도 포함한다.
해설이 있는 연습문제
-
한 자리만 갱신해서 전체 목표를 표본추출할 수 있을까? 전체 지지집합의 (--)에서 시작해 K1만 반복하자. 해설: 둘째 스핀은−1로 고정된다. 첫 갱신에서 그 값에 대한 올바른 조건부를 뽑고 이후에도 그 조건부를 보존한다. 둘째 스핀이+1인 두 상태에는 갈 수 없으므로 이 초기 상태에서 양의 네 상태 목표 분포로 수렴하지 않는다.
-
행렬은 어느 순서로 곱할까? 이상적 예제의 (--)에서 첫째 자리, 둘째 자리 순서로 갱신하자. 해설: 출발 상태를 행으로 쓰는 행벡터 관례에서는 K1K2이다. 최종 확률은 (16,4,1,4)/25이다. K2K1이면 (16,1,4,4)/25가 되어 다른 sweep 순서를 뜻한다. 둘 다 π는 보존한다.
-
양방향 전이 원소가 같으면 가역일까? P(--,-+)=P(-+,--)=4/25이다. 해설: 출발 평형 질량을 곱해야 한다. 흐름은8/125와2/125여서 상세평형이 깨진다. 정상성은 각 상태에 들어오는 흐름의 총합을 제한하므로 여전히 성립한다. 두 검사는 서로 다른 성질을 묻는다.
-
이상적 순차 법칙은 얼마나 빨리 π에 접근할까? (--)의 점질량 시작에서 d1=0.3, λ=0.36이다. 해설: d2=0.3×0.36=0.108, d4=0.3×0.36³=0.0139968이다. 이것은 sweep 뒤 전체 확률 법칙의 거리다. 경로 하나의 경험적 오차나 물리적 완화 시간을 나타내지 않는다.
-
올바른 조건부면 제약 아래에서도 혼합될까? 에너지가 같은 (-+),(+-)만 허용하자. 해설: 각 한 자리 조건부가 결정적이므로 모든 좌표 scan kernel은 항등이다. π를 보존하지만 점질량 시작은 영원히 거리1/2에 머문다. joint block은 두 행을 π로 두어 한 단계에 도달한다. 중요한 변화는 허용 상태들을 연결할 수 있는 갱신 방식이다.
-
8비트 추출은 무엇을 구현할까? 균등 정수 R=0,…,255에 대해 R/256<0.001을 검사하자. 해설: R=0만 성공하므로 구현 확률은1/256이다. seed로 재현 가능해도 이론 확률과 다르다. 비트를 늘리면 이 방식의 이산화 오차는 작아지지만, 갇힘·상관된 표본·잘못 지정한 지지집합까지 고쳐 주지는 않는다.
연속 Gibbs 법칙으로 이어가기
유한 지지집합에서는 유한 비영 온도의 분배합이 항상 유한하다. 무한한 연속 공간에서는 조건부나 표본추출기를 신뢰하기 전에 정규화 가능성을 증명해야 한다. 다음 이차 Gaussian 예제에서는 기준 부피 측도를 명시하고 양의 정부호를 검사하며, 올바른 밀도와 유한 그림 안에서만 정규화된 모습을 구분한다.
kernel·분포·경로를 실험 화면과 연결하기
순차 흐름의 비가역 반례를 선택하세요. 결과에서 Systematic sweep를 고르고 전이행렬과 평형 흐름 표를 확인하세요. 양방향 전이 원소가4/25로 같아도 출발 목표 질량을 곱하면 흐름은8/125와2/125로 달라집니다. 이론적 kernel을 Random scan으로 바꾸어 상세평형 진단을 비교하세요. 이 조회 선택은 저장된 물리적 준비를 다시 정의하지 않습니다.
| 실험 | 확인할 것 | 설명할 내용 |
|---|---|---|
| 독립 자리·한 sweep 정규화 | 한 systematic sweep 뒤의 q와 TV 거리 | J=0에서는 전체 곱 새로 뽑기가 목표에 도달 |
| 합0·단일 자리 갱신 정지 → 편향된 목표도 이동 불가 | 좌표 kernel과 Joint block 비교 | 목표 보존만으로 고립 상태가 연결되지는 않으며 결합 갱신은 가능한 이동을 바꿈 |
| 화면에 안 보이는 비영 결합 | 확률 막대 옆의 수축·거리 상태 확인 | 표시된 법칙이 같아 보여도 이론적 거리가0이라는 증거는 아님 |
다른 갱신 횟수의 전체 법칙을 비교하려면 증가하는 관측 단계 목록을 편집·적용한 뒤 결과의 관측 선택기를 사용하세요. random 한 단계는 좌표 하나, systematic 한 sweep는 좌표 두 개를 갱신합니다. 그래프와 q_t 표는 이론 확률이며 경험적 방문 횟수나 물리적 시계가 아닙니다. 전이 수치를 표시하지 못해도 이론적 양수이면 화살표를 유지합니다.
화면에는 이미 별도의 유한 비트 예시 경로 생성 옵션도 있습니다. 켠 뒤 seed1·비트8·경로 단계16으로 지정하세요. 경로 갱신 규칙은 이론적 kernel 조회 선택과 별도입니다. 수동 재생은 미리 계산한 결정적 경로의 커서를 옮깁니다. 방문 횟수는 현재 보이는 구간만이 아니라 초기 상태를 포함한 전체 생성 경로에 대한 값입니다.
실수 확률 kernel P, 독립 균등 격자 추출을 가정한 양자화 kernel Q, 시드 LCG 예시를 구별하세요. 명시된 점화식은 s←(1664525s+1013904223) mod2³²이며 확률 격자에는 상위 비트를 사용합니다. random scan은 별도 상위 비트로 좌표를 고릅니다. 같은 seed는 구현의 재현성을 주지만 출력의 독립성을 보장하지 않습니다.
Q 표의 분모는2^d입니다. b비트 좌표 추출은 d=b, 동일 random 혼합은 d=b+1, 두 번 갱신하는 systematic 곱은 d=2b입니다. 따라서8비트 random 예제의 표에는 d=9, systematic에는 d=16이 표시됩니다. 격자 비트 입력이 저절로 바뀐 것은 아닙니다. Q는 양의 전이를 바꾸거나 없앨 수 있고 원래 목표를 정확히 보존하지 않을 수 있습니다. 한 단계 TV 상한은 정상분포 오차의 일반적인 상한이 아닙니다. 이론 진단과 유한 비트 결과를 서로 다른 수치 질문으로 비교하세요.
개별 수치 입력은 Enter를 누르거나 다른 곳으로 초점을 옮길 때 적용합니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.