3차원 격자에서 최단 경로 수 계산
초록
본 논문은 3차원 정육면체 격자에서 6‑, 18‑, 26‑이웃(각각 L1, D18, L∞ 거리) 하에 두 점 사이의 최소 거리 경로 개수를 정확히 구하는 수식들을 제시한다. 좌표 차이를 조합론적으로 분석하여 각 이웃 유형별 폐쇄형 식을 도출하고, 이미지 처리와 네트워크 과학 등 실용 분야에 적용 가능함을 논한다.
상세 분석
논문은 먼저 3차원 격자에서 흔히 사용되는 세 가지 이웃 정의를 명확히 구분한다. 6‑이웃은 각 축에 대해 ±1 이동만 허용하는 face‑connectivity이며, 거리 척도는 L1(Manhattan) 거리 d₁ = |Δx|+|Δy|+|Δz| 로 정의된다. 18‑이웃은 face와 edge 연결을 모두 포함해, 한 번의 스텝에서 두 축을 동시에 변화시킬 수 있다. 이 경우 거리 척도 D₁₈은 max(|Δx|,|Δy|,|Δz|)와 |Δx|+|Δy|+|Δz| 사이의 복합식으로 표현되며, 실제 최소 스텝 수는 (|Δx|+|Δy|+|Δz|‑min{|Δx|,|Δy|,|Δz|})/2 로 계산된다. 26‑이웃은 vertex‑connectivity까지 포함해 세 축을 동시에 변화시킬 수 있으므로 거리 척도는 L∞, 즉 d∞ = max(|Δx|,|Δy|,|Δz|) 로 정의된다.
각 이웃에 대해 최소 경로 수를 구하기 위해 저자는 좌표 차이를 (a,b,c)라 두고, a≥b≥c≥0 으로 정렬한다. 6‑이웃에서는 경로가 순수히 축별 이동의 순열이므로, 총 경로 수는 다중계수 (a+b+c)!/(a!b!c!) 로 주어진다. 이는 전형적인 다중조합 문제와 동일하며, 경로 순서만 바뀌면 동일한 거리와 동일한 최단성 조건을 만족한다.
18‑이웃에서는 한 스텝에 두 축을 동시에 이동할 수 있기 때문에, 경로는 “대각선 이동”과 “축 이동”의 조합으로 이루어진다. 저자는 먼저 c(가장 작은 차이) 만큼의 3축 동시 이동(대각선) 스텝을 수행하고, 남은 차이 (a‑c, b‑c) 에 대해 2축 동시 이동(edge) 스텝을 적용한다. 이때 각 단계에서 선택 가능한 축 쌍의 경우의 수를 조합적으로 계산하여, 최종 경로 수는
\
댓글 및 학술 토론
Loading comments...
의견 남기기