엠비 매칭 알고리즘 간소화와 증명

엠비 매칭 알고리즘 간소화와 증명

초록

본 논문은 Micali‑Vazirani 일반 그래프 최대 매칭 알고리즘의 정확성을 가장 직관적인 그래프 이론적 도구만을 이용해 증명한다. 기존 증명에 비해 복잡한 구조와 용어를 제거하고, 핵심 아이디어인 레벨 그래프와 증강 경로 탐색을 단순화한다. 또한 알고리즘 자체를 구현하기 쉬운 형태로 재구성하여 실용적 효율성을 유지한다.

상세 분석

논문은 먼저 기존 MV 알고리즘이 사용한 “블로스”와 “듀얼 라벨” 같은 추상적 개념을 폐기하고, 순수히 “레벨 그래프(level graph)”와 “증강 경로(augmenting path)”라는 두 가지 기본 구조만으로 전체 흐름을 재구성한다. 레벨 그래프는 현재 매칭 M에 대해 자유 정점(free vertex)에서 시작해 교차(edge)와 비교차(edge)를 번갈아 가며 BFS를 수행해 얻는다. 이때 각 정점에 부여되는 레벨은 가장 짧은 교차‑비교차 교대 경로의 길이와 일치한다는 점을 명시적으로 증명한다. 레벨이 짝수인 정점은 교차(edge)만, 홀수인 정점은 비교차(edge)만을 통해 확장될 수 있기에, 레벨 그래프 내부에서 찾은 자유 정점 간의 경로는 자동으로 증강 경로가 된다.

핵심 정리는 “레벨 그래프에 존재하는 자유 정점 쌍 사이의 최단 경로는 항상 증강 경로이며, 그 길이는 현재 매칭의 최소 증강 경로 길이와 동일하다”는 것이다. 이를 증명하기 위해 저자는 두 단계 귀류법을 사용한다. 첫째, 레벨 그래프에 증강 경로가 없다고 가정하면, 현재 매칭이 최대임을 보이는 “오비탈(odd‑even) 불가능성”을 도출한다. 둘째, 증강 경로가 존재한다면 그 길이가 레벨 그래프에서 발견된 최단 경로와 일치함을 보이며, 이는 BFS의 특성에서 바로 따라온다.

알고리즘 자체는 다음과 같이 단순화된다. 1) 현재 매칭 M을 초기화하고, 모든 자유 정점을 큐에 삽입한다. 2) BFS를 수행해 레벨 그래프를 구축하면서, 각 정점에 레벨을 할당한다. 3) BFS 과정에서 자유 정점에 도달하면 즉시 증강 경로를 복원하고, 매칭을 교체한다. 4) 매칭이 변경되면 레벨 정보를 초기화하고 1단계로 돌아간다. 이 루프는 매칭이 더 이상 증강될 수 없을 때까지 반복된다.

시간 복잡도 분석에서는 각 BFS 단계가 O(m) (m은 간선 수)이며, 증강 경로가 발견될 때마다 매칭 크기가 1씩 증가한다는 점을 이용해 전체 알고리즘이 O(√n·m) 시간에 동작함을 보인다. 여기서 n은 정점 수이다. 저자는 특히 레벨 그래프를 재구성할 때 불필요한 “다중 레벨”이나 “가상 정점”을 도입하지 않음으로써 메모리 사용량을 O(n+m)으로 제한한다는 점을 강조한다.

마지막으로 논문은 기존 MV 증명에서 복잡하게 다루던 “듀얼 라벨”과 “블로스 트리”의 수학적 정의를 완전히 배제하고, 순수 그래프 탐색과 레벨 할당만으로도 동일한 정당성을 확보할 수 있음을 보여준다. 이는 알고리즘 구현자와 교육자 모두에게 큰 장점으로, 복잡한 이론적 배경 없이도 최대 매칭 문제를 효율적으로 해결할 수 있게 한다.