WIPIVERSE

빠른 행진 방법

빠른 행진 방법(빠른行进方法, 영어: Fast Marching Method)은 제임스 세티안(James A. Sethian)이 고안한 수치적 방법으로, 아이코날 방정식(Eikonal equation)의 경계값 문제를 해결하는 알고리즘이다. 1996년 발표된 논문 "A Fast Marching Level Set Method for Monotonically Advancing Fronts"에서 처음 소개되었다.

이 방법은 다음 형태의 편미분방정식을 푸는 데 사용된다:

|∇u(x)| = 1/f(x) (x ∈ Ω) u(x) = 0 (x ∈ ∂Ω)

이는 닫힌 표면의 진화를, 점 x에서 전파 표면으로 가는 법선 방향의 속도 f와 시간 u에 관한 함수로 설명한다. 속도 함수가 결정되어 있을 때, 파면(wave front)이 특정 점을 통과하는 시간을 방정식을 풀어서 얻을 수 있다. 즉, u(x)는 점 x에서 시작하여 경계 ∂Ω에 도달하는 최소 시간으로 해석될 수 있다.

알고리즘의 작동 방식은 데이크스트라 알고리즘(Dijkstra's algorithm)과 유사하다. 계산 영역을 메쉬로 이산화한 후, 시작 경계에서부터 바깥쪽으로 정보를 확장해 나간다. 각 꼭짓점(vertex)은 다음 세 가지 상태 중 하나로 분류된다:

  • 멂(Far): 아직 방문하지 않음
  • 고려 중(Considered): 방문했으며 시험적인 값이 부여됨
  • 완료됨(Accepted): 방문했으며 영구적인 값이 부여됨

알고리즘은 가장 작은 u값을 가진 고려 중인 꼭짓점을 선택하여 완료 상태로 전환하고, 그 인접 꼭짓점들의 값을 갱신하는 과정을 반복한다. 이는 레벨 셋 방법(Level Set Method)의 특수한 경우에 해당한다.

빠른 행진 방법은 삼각형 메쉬에서 지오데식 거리(geodesic distance)를 계산하는 데이크스트라 알고리즘의 연속적 버전으로 간주되며, 영상 처리, 컴퓨터 그래픽스, 반도체 제조 공정 시뮬레이션, 로보틱스 경로 계획 등 다양한 분야에서 활용된다. 평면이 아닌 삼각화된 표면으로의 확장은 론 킴멜(Ron Kimmel)과 제임스 세티안이 추가로 고안하였다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기