
지난 포스트에서는 온라인 가중치 이분 매칭(online weighted bipartite matching)에 대해서 알아 보았습니다. 이 문제에서는 택시에 대한 정보는 미리 알고 있으며, 승객의 정보는 시간이 흐르면서 한 명씩 들어옵니다. 매 순간 어떤 승객의 정보가 알려질 때마다 우리는 이 승객을 택시에 할당할지 말지를 결정해야 하며, 만약 할당한다면 어느 택시에 태울지도 결정해야 합니다. 지난 포스트에서는 언젠가 승객을 어떤 택시에 할당했을 때 이를 더이상 번복할 수 없다면 좋은 경쟁비(competitive ratio)를 얻을 수 없다는 것을 확인하였습니다. 자세한 사항은 이전 포스트를 참고하시기 바랍니다.
2021.02.14 - [온라인 알고리즘/Online matching] - 온라인 가중치 이분 매칭 (Online Weighted Bipartite Matching)
온라인 가중치 이분 매칭 (Online Weighted Bipartite Matching)
저번 글에서는 온라인 이분 매칭 문제(online bipartite matching problem)가 무엇인지 설명하고 이를 경쟁적으로 해결하는 알고리즘에 대해서 알아 보았습니다. 문제를 간략히 다시 소개하도록 하겠습니
gazelle-and-cs.tistory.com
어떤 문제가 이론적으로 어려운 경우에 많이 하는 작업은 문제의 입력에 특정한 조건을 추가하는 것입니다. 조건이 추가되면 몇몇 어려운 입력들을 고려하지 않을 수 있게 되므로 문제의 난이도가 감소하는 효과를 얻습니다. 이번 글에서는 가중치에 조건을 추가해 보도록 하겠습니다. 이론적으로도 흥미롭고 실생활에서도 유용한 수많은 조건이 있지만, 그중에서도 보편적으로 활용되는 삼각 부등식(triangle inequality)을 고려하고자 합니다.
임의의 서로 다른 세 지점
지난 포스트에서와 같이 아래에서는 최소 거리 완벽 매칭(minimum-distance perfect matching)과 최대 거리 완벽 매칭(maximum-distance perfect matching)을 고민해 보겠습니다. 본문의 내용을 요약하면 다음과 같습니다.
- 최소 거리 완벽 매칭에서 매번 할당 가능한 택시 중 가장 가까운 택시에 할당하는 알고리즘은 지수적으로(exponentially) 못한다. 다행히도 선형적인(linear) 경쟁비를 갖는 알고리즘이 존재하며, 이는 결정론적 알고리즘(deterministic algorithm)으로 달성할 수 있는 점근적으로 최선(asymptotically best-possible)의 방법이다.
- 최대 거리 완벽 매칭에서 매번 할당 가능한 택시 중 가장 먼 택시에 할당하는 알고리즘은
의 경쟁비를 가지며, 이는 결정론적 알고리즘으로 달성할 수 있는 최선의 방법이다.
최소 거리 완벽 매칭
문제를 엄밀히 정의하겠습니다. 입력으로는 어떤 완전 이분 그래프(complete bipartite graph)
이전과 마찬가지로
매번 가장 가까운 택시에 할당하면 좋지 않은 이유
생각할 수 있는 가장 간단한 방법은 다음과 같겠습니다.
매번 승객이 들어오면 빈 택시 중 그 승객으로부터 가장 가까운 택시에 할당한다.
일견 합리적으로 보이는 이 방법은 사실 매우 멍청한 방법입니다. 다음의 예시를 생각해 봅시다.
- 수직선 상에서 처음
대의 택시를 의 위치에 둔다. 마지막 번째 택시는 의 위치에 둔다. - 첫 번째 승객은
의 위치에서 나타난다. 두 번째 승객부터 마지막 번째 승객까지는 각각 의 위치에서 나타난다.
수직선 위의 지점들이 삼각 부등식을 이룬다는 점은 잘 알려진 사실입니다. (직접 증명해 보세요!)

이 입력에서 위 알고리즘이 어떻게 동작하는지를 따져 봅시다. 첫 번째 승객이 들어왔을 때 가장 가까운 택시는
이 상태에서 두 번째 택시가 들어왔다고 합시다. 가장 가까운 택시는 같은 위치의 첫 번째 택시입니다만 이는 이미 첫 번째 승객에게 할당된 상태입니다. 가망이 있는 후보는
같은 이치로
마지막 승객이 들어오면 남은 택시는

하지만 최적의 할당 방법은 첫 번째 승객을
선형 경쟁비 알고리즘
가장 가까운 빈 택시에 할당하는 알고리즘은 안타깝게도 좋은 경쟁비를 가질 수 없었습니다. 어떻게 하면 훨씬 잘할 수 있을까요? 다음 알고리즘을 고려해 봅시다. 아래에서
알고리즘 1. -competitive algorithm for min-distance matching
초기 입력: 택시 정점 집합
출력: 완벽 매칭
- 매번
번째 승객 이 들어왔을 때 아래를 수행하자. 를 지금까지 들어온 승객의 집합이라고 하자. 즉, 이다. 비슷하게 를 지금까지 알려진 간선들의 집합이라고 하자. 에서 가 모두 참여하는 최소 거리 매칭을 라고 하자. 위에서 를 한 끝으로 하는 증가 경로(augmenting path)의 다른 끝을 라고 하자.
을 반환한다.
쉽게 말해 이 알고리즘은 매 승객
먼저 단계 2-b는 헝가리안 알고리즘(Hungarian algorithm)을 사용하면 다항 시간에 해결할 수 있습니다. 궁금하신 분들은 제 이전 포스트를 참고하시기 바랍니다.
2019.08.07 - [조합론적 최적화/Matching] - 할당 문제 & 헝가리안 알고리즘 (Assignment Problem & Hungarian Algorithm)
할당 문제 & 헝가리안 알고리즘 (Assignment Problem & Hungarian Algorithm)
이번 포스팅에서는 assignment problem과 Hungarian algorithm에 대해서 알아보겠습니다. 먼저 assignment problem이 어떤 것인지에 대해서 살펴보고, 이를 해결하는 방법을 알아보도록 하겠습니다. 인터넷을 찾
gazelle-and-cs.tistory.com
다음으로 단계 2-c에서
2020.02.22 - [조합론적 최적화/Matching] - 호프크로프트-카프 알고리즘 (Hopcroft-Karp Algorithm)
호프크로프트-카프 알고리즘 (Hopcroft-Karp Algorithm)
엄청 오랜만에 포스팅을 합니다. 방학이 되면 시간이 나서 글을 좀 쓸 수 있을 줄 알았는데, 대학원생은 방학도 바쁘군요. 다행히 어느정도 일단락이 나서 이렇게 글을 쓸 수 있게 되었습니다.
gazelle-and-cs.tistory.com
사실, 증명을 위해서는 존재성보다 강력한 아래의 성질이 필요합니다.
정리 1. 대칭차의 구조적 특징
모든
[증명] 먼저
이제 일반성을 잃지 않고 교차 경로가 존재하지 않는다고 가정할 수 있음을 보이겠습니다. 어떤 교차 경로가
먼저 이 교차 경로 위에서 각 매칭에 참여하는 간선의 거리의 합은 동일해야 합니다, 다시 말해,
그런데 이때, 식 1이 성립하므로
위와 비슷한 논의로 순환도 제거할 수 있습니다. 위 작업을 모든 교차 경로와 순환에 적용하면
매 시각의 최적해
이제 출력하는
점근적으로 선형 경쟁비가 최선인 이유
알고리즘 1은 선형의 경쟁비를 갖습니다. 이는 처음에 고려한 가장 가까운 택시에 할당하는 방법보다는 월등히 좋지만, 여전히 승객의 수가 많을수록 이론적인 성능이 감퇴합니다. 과연 이보다 잘할 수 있을까요? 안타깝게도 결정론적으로는 선형의 경쟁비보다 잘할 수 없음을 보일 수 있습니다. 다시 말해, 알고리즘 1은 점근적으로 최선이라는 뜻이죠.
결정론적 알고리즘의 경쟁비 하한(lower bound)을 구하기 위해서는 특정한 적응형 상대방(adaptive adversary)을 상정하여도 됩니다. 관련하여 자세한 내용은 아래를 참고하세요.
2020.03.14 - [온라인 알고리즘/Basic] - 온라인 알고리즘 (Online Algorithm)
온라인 알고리즘 (Online Algorithm)
일전에 유명한 온라인 문제 중 하나인 online bipartite matching을 다룬 적이 있었습니다. 당시에는 제 지식이 그렇게 깊지 않아서 제대로 설명하지 못했을뿐더러 잘못 전달한 내용도 있었습니다. 최
gazelle-and-cs.tistory.com
다음과 같은 적응형 상대방을 생각해 봅시다.

이제 상대방이 어떻게 동작하는지 정의하겠습니다. 택시는

어떤 결정론적 알고리즘이든 상대방이 이렇게 동작한다면 매번 거리가 1인 택시에 할당해 주어야 하므로 총 거리는

최대 거리 완벽 매칭
지금까지 최소 거리 완벽 매칭에 대해서 알아 보았습니다. 그렇다면 반대로 거리를 최대화하는 문제는 어떻게 될까요? 사실 거리를 최대화하는 완벽 매칭을 찾을 이유가 딱히 있을지는 모르겠지만, 이 경우에는 최소 거리 완벽 매칭보다 훨씬 좋은 경쟁비로 문제를 해결할 수 있습니다.
참고로 아래 알고리즘은 승객의 수가 택시의 개수보다 크지 않을 때, 즉
매번 가장 먼 택시에 할당하는 알고리즘
이전에 최소 거리 완벽 매칭에서는 매번 가능한 택시 중 가장 가까운 택시에 할당하는 알고리즘을 생각해 봤고, 이 알고리즘이 그다지 좋은 경쟁비를 주지 못한다는 사실을 확인했습니다. 최대 거리 완벽 매칭에서도 자연스럽게, 매 승객이 들어올 때마다 가장 먼 택시에 방법을 생각해 봅시다.
놀랍게도 거리가 삼각 부등식을 만족한다면 이 알고리즘은
증명을 해보죠. 승객이 모두 들어왔을 때의 최대 거리 매칭
이제 알고리즘을 생각해 봅시다.
반대로

1/3의 경쟁비가 최선인 이유
좋은 경쟁비를 갖는 알고리즘을 만들었으니 남은 질문은 더 잘할 수 있는가입니다. 흥미롭게도 최대 거리 매칭을 결정론적으로 경쟁적으로 해결하는 알고리즘은
다음의 상대방을 생각해 봅시다. 먼저 거리를 정의하기 위해서 아래와 같은 가중치가 없는(unweighted) 네트워크를 생각해 보겠습니다. 알고리즘의 입력
링크는 다음과 같이 구성됩니다.
(즉, 과 모든 사이에 링크가 있다.)- 모든
에 대해, 각 (다시 말해서, 모든 쌍 중에서 각 를 뺀 나머지 쌍 사이에 링크가 있다.)

이제 두 지점 사이의 거리
이제 상대방의 동작을 정의하겠습니다. 먼저 택시는

상대방에 의해 어떤 결정론적 알고리즘이라도 매 승객을 1만큼 떨어진 거리의 택시에 할당할 수 밖에 없습니다. 따라서 최종 거리의 합은

마치며
이것으로 가중치가 삼각 부등식을 만족하는 온라인 가중치 이분 매칭에 대한 설명을 모두 마칩니다. 최소 거리 완벽 매칭에 대해서는
이번 글을 적은 이유는 최소 거리 완벽 매칭 때문입니다. 처음에 저는 매번 가장 가까운 택시에 할당하는 것이 최선의 알고리즘이라고 생각했었습니다. 그런데 혼자 증명을 시도하는 중에 그 알고리즘이
이번 글에서는 랜덤 알고리즘에 대한 내용은 다루지 않았습니다. 최소 거리 완벽 매칭에 대해서는 관련하여 다양한 결과가 있는 것으로 알고 있습니다만, 제가 아직 그쪽까지는 제대로 공부하지 않았습니다. 나중에 공부하게 되면 포스팅해 보도록 하겠습니다. 반면 최대 거리 완벽 매칭은 아무래도 풀어야 할 정당성이 부족한 문제이다 보니 연구가 덜 되었습니다. 하지만 개인적으로는 랜덤성이 최대 거리 이분 매칭에 어떻게 영향을 줄 수 있을지 궁금하기도 합니다.
읽어 주셔서 고맙습니다 :)
참조
[1] Bala Kalyanasundaram and Kirk Pruhs. "Online weighted matching." Journal of Algorithms 14, no. 3 (1993): 478-488.
[2] Samir Khuller, Stephen G. Mitchell, and Vijay V. Vazirani. "On-line algorithms for weighted bipartite matching and stable marriages." Theoretical Computer Science 127, no. 2 (1994): 255-267.
'온라인 알고리즘 > Online matching' 카테고리의 다른 글
온라인 이분 매칭 경쟁비 상한 (Upper Bound of Competitive Ratio for Online Bipartite Matching) (2) | 2024.03.12 |
---|---|
온라인 분수 이분 매칭 (Online Fractional Bipartite Matching) (3) | 2024.02.03 |
온라인 가중치 이분 매칭 (Online Weighted Bipartite Matching) (0) | 2021.02.14 |
온라인 이분 매칭 랭킹 알고리즘 (Ranking Algorithm for Online Bipartite Matching) (0) | 2021.01.09 |
온라인 이분 매칭 (Online Bipartite Matching) (0) | 2020.11.07 |