You are on page 1of 7

Edge Addition Problem on making

Eulerian Circuit in Unconnected Graph


안준현
July 2023

1 Introduction
그래프 이론에서 한붓그리기로 알려진 Eulerian Circuit에 대하여 임의의 비연결
그래프들에 있어 새로운 선을 이어 최소 비용(최단 거리)의 Circuit을 만드는 문
제에 대하여 알아볼 것이다. 이러한 연구가 군에서의 활용성에 대해서는 드론으로
연결되지 않은 광범위한 지형 및 도로를 정찰하는 경로를 짜는 데에 모든 정찰 도
로를 확인한 후 가장 빠르게 복귀할 수 있는 경로를 결정하는 데에 이용될 수 있다.
본 연구는 가장 간단한 단계인 두 개의 비연결 그래프에 대하여 최단 거리의 경로를
만들기 위해서 추가해야 하는 간선의 특성 및 실제 해를 만들기 위한 알고리즘적인
방식을 제시하겠다.

2 Problem Define
문제를 명확하게 제시할 필요가 있다. 우선, 그래프의 정의부터 하겠다.

Let G = (V, E) be a set of vertex V and edge E.


V ⊂ R2 and E ⊂ V × V ,
which show that vertices are points in 2-dimensional plane
and edges are connections of vertices.

그래프는 2차원 평면 내에서 임의의 점들과 그 점 간의 관계로 정의한다.


그래프의 각 간선은 비용을 정의할 수 있는데 우리가 정의하는 문제에서는 기존의
R2 에서의 L2 norm을 사용하여 이차원상의 거리를 비용으로 정의하자.

Let c : V × V → R be a cost function of edge.


For some v1 ,v2 ∈ V , let p vi = (xi , yi )
c(v1 , v2 ) = ||v1 − v2 || = (x1 − x2 )2 + (y1 − y2 )2

cost function을 V ×V 에서 정의하기 때문에 새로운 간선을 추가해도 cost function


의 정의역에 문제가 되지 않는다. 또한, V × V 뿐만 아니라 edge 집합에서의 비용
의 합으로 정의하여도 문제가 없다. 편의성 edge 집합에서도 같은 기호를 사용하자.

1
우리가 구하고자 하는 Eulerian circuit을 정의하자.

Let circuit C be finite alternating sequencing of vertices and edges.


C = (v1 , e1 , v2 , e2 , v3 . . . , vn−1 , en−1 , vn = v1 ),
where vi ∈ V and ei = (vi , vi+1 ) ∈ E
If the edge of circuit C contains all edges E in graph G = (V, E),
the circuit is called to be Eulerian circuit.
Eulerian circuit은 우리가 한붓그리기로 표현하는 한 번의 circuit에 모든 변을 지
나는 것이 가능한 경로이다.
문제는 다음과 같이 정의할 수 있다.

Let G1 = (V1 , E1 ) and G2 = (V2 , E2 ), where V1 ∩ V2 = ∅.


Since we consider cost function ans L2 norm,
we should define more strict disconnectedness.
There are no crossings between e1 ∈ E1 and e2 ∈ E2 .

Let l : V × V → {(x, y) ⊂ R2 |y = ax + b} for a, b ∈ R


l(vi , vj ) be a straight line both vi and vj as a closed end.
∀v11 , v12 ∈ V1 and ∀v21 , v22 ∈ V2
l(v1 1, v1 2) ∩ l(v2 1, v2 2) = ∅

3 Theoretical Background
3.1 Minimal Matching
한붓그리기가 불가능한 그래프의 경우 우리는 홀수점을 통해서 판단할 수 있다. 불
가능한 그래프를 가능하게 하기 위해서는 홀수점들을 다시 홀수 번씩 지나는 가장
짧은 변들의 쌍을 찾아야 한다. 이를 Matching이라고 표현할 수 있다.
모든 홀수점 사이에서 complete graph를 만들고 이에 대한 minimal perfect match-
ing을 형성하면 가장 짧은 비용이 드는 홀수점들의 쌍을 구할 수 있다. cost function
을 L2 norm으로 정의한 이상 홀수점들로 이루어진 complete graph의 비용은 ver-
tex의 거리가 될 것이다. 기존의 edge를 거쳐 가는 것이 항상 최단 거리로 가는
것보다 길거나 같기 때문에 기존의 edge를 생각할 필요가 없다.

3.2 Triangle Inequality


삼각형의 두 변의 길이의 합보다 다른 한 변의 길이가 항상 짧다는 부등식이다.
이차원 평면에서 두 개의 점을 곧바로 잇는 경로와 다른 한 점을 거쳐서 가는 경로
중 더 짧은 쪽을 판단할 때 알 수 있다. 앞서 Minimal Matching에서 당연시하고
넘어갔던 기존의 edge를 거쳐 가는 것이 항상 최단거리로 가는 것보다 길거나 같
다는 것은 triangle inequality를 통해 알 수 있다.
L2 norm을 채택하기 때문에 minimal matching인지 판별하는 가장 간단한 방식은
matching 된 edge 간의 이차원 평면상의 교차점이 존재하느냐이다. 만약 교차점이
존재한다면 triangle inequality를 통해 optimal solution이 아니라는 결론에 도달할
수 있다.

2
3.3 Smallest-circle Problem
그래프 안에서 matching이 가질 수 있는 비용의 범위와 그래프들의 크기와 상대
적인 거리를 알기 쉽게 하기 위해서 그래프의 모든 vertex를 설정하자.

Let ∂ be a smallest covering circle of graph G = (V, E)


Let Cr (a, b) a circle with radii of r and has a center at (x, y),
∀Cr (a, b) s.t. V ⊆ Cr (a, b), R be the smallest radii of Cr (a, b)s.
Since G in on 2-dimensional plane, ∃e ∈ E with largest c(e).
∃R ≥ c(e), !∃CR (x, y), which a unique circle defined as ∂(V )

이러한 원이 유일하게 존재한다는 것을 보이자.


만약 서로 다른 두 개의 반지름 R인 원이 주어진 도형을 완전히 둘러싸고 있다
면, 교차하는 점이 1개에서 2개 존재할 것이다. 1개라면 주어진 그래프는 한 개의
vertex로 이루어진 그래프이다. 2개 존재한다면, 두 원이 공통으로 포함하는 영역
이 존재할 것이다. 두 원의 중심 사이의 거리를 a라고 두면 a < R이다. 그 영역을
포함하고 두 점을 지나는 p 가장 작은 원은 두 원의 중심을 1:1로 내분하는 점을 중
심으로 가지고, 반지름은 R2 − (a/2)2 으로 가지는 유일한 원(대칭에 의해서)이
존재한다. 따라서 반지름이 같은 서로 다른 원이 같은 영역을 둘러싸고 있다면 그
원은 가장 작은 원이 아니다. 따라서 가장 작은 크기의 원은 유일하게 존재한다.
편의상 center(CR (x, y)) = (x, y), radii(CR (x, y)) = R이라고 사용하겠다.

4 Case division
두 개의 비연결 그래프에서의 Eulerian circuit을 구할 때도 기존의 방식처럼 홀수
점들의 complete graph에서의 minimal perfect matching을 구하면 최소 비용의
경로를 찾을 수 있다. 하지만 Circuit의 특성상 두 개의 비연결 그래프 사이의 edge
가 2개 이상 존재하지 않으면 두 개의 그래프를 한 번에 모두 지날 수 없다. 간
단히 표현하자면 minimal perfect matching의 결과 서로 다른 그래프의 vertex로
이루어진 edge가 2개 이상 선택되어야 한다는 것이다. 만약 선택되었다면 문제는
간단히 해결된다. 한 쌍도 선택되지 않았을 경우 다음과 같이 Case를 나눠서 어떤
경우가 optimal solution을 이루는지 확인할 수 있다.
Case를 나눌 때 기준을 두기 위하여 그래프 사이의 거리를 정의하자.

Let d be a distance function of graph G1 = (V1 , E1 ), G2 = (V2 , E2 ).


d : V1 × V2 → R,
where d(V1 , V2 ) = min{c(v1 , v2 )|(∀v1 ∈ V1 )(∀v2 ∈ V2 )}

4.1 Case1
기존의 minimal matching 이외의 한 쌍의 matching을 임의로 설정한 후에 minimal
perfect matching을 실행하는 경우가 최적의 해를 보장하는 경우를 찾아보자.
Vi ′ ⊆ Vi 이기 때문에, d(V1 , V2 ) ≤ d(V1 ′, V2 ′),
만약 d(V1 , V2 ) = d(V1 , V2 ) 이면, ∃vi ∈ Vi ′ s.t. vi ∈ Vi .
v1 과 v2 가 원래 그래프 상에서 가장 가까운 점이다.

3
vi 에서 matching으로 생긴 ei1 = (vi , vi1 )와 double edge로 생긴 ei2 = (vi , vi2 )로
표기하자.
Triangle inequality에 의해 삼각형 △vi vi1 vi2 로 두 edge ei1 와 ei2 가 ei ′ = (vi1 , vi2 )
로 줄일 수 있다. e11 and e22 대신 e1 ′와 e2 ′로 새로운 matching을 만들 수 있고 이
비용은 double edge를 생성하는 것보다 비용이 적다.

4.2 Case2
기존의 minimal matching을 유지하고 둘 사이를 잇는 가장 짧은 edge(그래프 간의
거리)를 double edge로 잇는 경우가 최적의 해를 보장하는 경우를 찾아보자.
G1 과 G2 의 홀수점 vertex 집합을 각각 V1 ′, V2 ′으로 정의하자.
만약 d(V1 , V2 ) ≪ d(V1 ′, V2 ′)라면, double edge를 만드는 것이 최적의 해이다. 정
성적으로 표현하자면 matching을 바꾸는 것이 손해일 만큼 그래프의 간격이 좁고
홀수점의 간격이 멀 때 double edge를 만드는 것이 더 적은 비용을 보장한다.

두 가지 경우의 수 double edge를 설정하


는 경우와 matching을 변형하는 경우에서 비
용 변화를 보자. 우리는 double edge를 사용하
는 것이 항상 최적의 해인 조건을 찾기 때문
에 matching을 바꾸는 경우 비용 증가보다 dou-
ble edge를 추가할 때 비용 증가가 적어야 한
다. ∂(V1 ′)과 ∂(V2 ′)는 각각 R1 , R2 의 반지름
을 가지는 원이고 두 원의 중심 사이 거리
Figure 1: Location 를 D라 하자. 기존의 matching은 M , matching
을 바꾸어 간선을 연결하는 경우 M ′이라고 두
자.

이미 minimal matching에서 서로 간의 간선 연결이 없었기 때문에, 우리는 M ′이


두 그래프 간의 연결은 단 2개로만 이루어졌다는 것을 알 수 있다. c(M ) ≤ c(M ′)
이기 때문에 M ′에서 두 그래프를 잇는 간선에 해당하는 홀수점 2개씩 각 그래프
에서 vi1 , vi2 라고 두자. v1j , v2j 가 M ′에서 연결되어 있다고 하자. vi1 , vi2 가 이어진
상태에서 나머지 홀수점들로 만든 minimal matching을 Malter 라고 하자. 만약
c(Malter ) + 2d(G1 , G2 ) ≤ c(M ′)라면, 항장 double edge를 선택하는 것이 최적의
해를 보장한다. v11 , v12 는 ∂(V1 ′)에 속하고 v21 , v22 는 ∂(V2 ′)에 속한다. d(G1 , G2 )는
정해진 값이기 때문에, c(Malter )를 최대화하고, c(M ′)을 최소화할 때도 부등식이
성립할 때가 그 조건이다.

Figure 2: Possible matchings

4
c(M ′)을 최소화하기 위해서 vij 중 일부를 가깝게 배치하면 할수록 Case 1의
경우가 되어 결국은 matching을 바꾸는 것이 효과적이다. 따라서 2D인 경우는
발생하지 않는다. Figure 2에서 보여주듯, 두 가지 경우가 존재할 것이다. vij 들의
미세 변화에 의한 차이는 sin 및 cos 함수로 보듯, 양극단이 아닌 이상 초반 미세
변화에 의한 c(M ′) 증가가 비대하기 때문에 가장 극단이 두 경우만 살펴보자. 두
경우에 대하여 계산하면 다음과 같은 조건들로 귀결된다.

1. c(vi1 , vi2 ) ≤ 2Ri


2. c(v11 , v21 ) + c(v12 , v22 ) ≥ min(
p
2 2
p D + (R1 − R2 ) ,p
2
2 2 2 2
p(D − R1 ) + R2 + p(D + R1 ) + R2 ,
(D − R2 ) + R1 + (D + R2 ) + R12 )
2 2 2

따라서, double edge를 만드는 것이 해가 되는 경우는 d(G1 , G2 )가 다음 세 값


보다 작은 경우이다. 홀수점들의 집합 V1 ′, V2 ′이라고 두고, radii(∂(Vi ′))= Ri ,
|center(∂(V1 ′)) − center(∂(V2 ′))| = D
p
D2 + (R1 − R2 )2 − R1 − R2
q 
1
q
2 2 2 2
(D − R1 ) + R2 + (D + R1 ) + R2 − R1 − R2
2
q 
1
q
2 2 2 2
(D − R2 ) + R1 + (D + R2 ) + R1 − R1 − R2
2

5 Approximation
Case 2의 경우는 조건이 매우 까다롭고, Case 1과 Case 2로 모든 그래프의 가능성
을 포함하고 있지 않기 때문에 모든 그래프에 대해서 한 가지 방식을 택할 때, 그
해법이 최적의 해보다 지나치게 비용이 크지 않다는 것을 보이자.

나는 Case 2의 경우처럼 double edge를 형성하는 것이 항상 최적의 해보다 지나


치게 많지 않음을 보이겠다. 그 이유는 matching을 변형하는 것은 가능성이 매우
다양하여 어떠한 matching이 최적인지 찾아내는 데에 여러 경우의 수를 시험해야
한다. 최소 비용 perfect matching의 경우 O(n3 )의 시간 복잡도를 가진다. 우리
는 각각 n개, m개의 홀수점들에서의 minimal matching을 찾고, 그들 중 임의의
한 edge를 이은 후 나머지에서의 minimal edge를 찾아야 한다. 시간 복잡도는
O(nm) + O((n + m − 2)2 )이기 때문에 결국 O((n + m)2 )의 시간 복잡도를 가진다.

그런 데에 반하여 double edge를 추가하는 것은 그래프의 convex hull 간의 최


소 거리만 반영하면 되기 때문에 무식하게 계산해도 O(nm) 안에 해결되며 거리에
대하여 O(l) 안에 해결할 수도 있는 문제이기 때문에 double edge를 추가하는 것에
대한 boundary를 찾겠다.

Case 1을 보일 때 조건 d(V1 , V2 ) ≤ d(V1 ′, V2 ′)이 가장 간단한 boundary를 보인다.


만약 Case 2가 최적의 해라면 문제가 없다. Case 1이 최적의 해라면 boundary를

5
찾아야 한다.

최적의 matching을 M 이라 하고, Case 1에서 도출된 최적의 해를 S라 하자. 당


연히 최적의 matching에서 최소 한 번의 변형이 있었기 때문에 모든 matching 주
비용이 가장 적은 M 에 대하여 c(M ) ≤ c(S)이다. d(V1 , V2 )는 그래프 G1 과 G2
사이의 가장 짧은 거리이기 때문에 V1 ′과 V2 ′ 사이에서 두 개의 edge는 두 그래프
사이를 연결하기 때문에 2d(V1 , V2 ) ≤ 2d(V1 ′, V2 ′) ≤ c(S)이다. 두 식을 합치면
우리는 다음과 같은 결론을 얻는다.

c(M ) + 2d(V1 , V2 ) ≤ 2c(S)

따라서, double edge를 추가하는 것은 항상 최적해의 2배보다 작거나 같은 범위에


속한다.
우리는 double edge를 추가하는 알고리즘이 2-approximation이라는 것을 보였다.

6 Result
우리는 주어진 문제를 푸는 두 가지 알고리즘을 제시하였고 double edge를 추
가하는 알고리즘에 대하여 최적의 해에 대하여 bounded되어 있음을 보였다. 2-
approximation. 또한, Case 1에서 그래프 간의 최소 비용이 되는 간선이 홀수점들
로 이루어져 있을 경우 matching을 변형하는 것이 최적의 해임을 보였다.

조금 더 특별한 경우에 대하여 생각해 보자면 하나의 그래프가 한 개의 점으로


귀결되는 G = ({v}, ∅)인 경우를 살펴보자. Eulerian circuit이기 때문에 시작과
끝을 이 한점으로 잡을 수 있다. 홀수점이 없기 때문에 double edge를 추가하는
것이 최적의 해가 된다.
이러한 연구를 실제 군사 상황에서 반영해 보자. 지휘부의 기지를 한 점으로 분
석하고 정찰해야 하는 적 지역의 연결 상태를 그래프로 표현하면 지휘부라는 한
점에서 시작하여 정찰을 마치고 지휘부로 돌아오는 회로를 짤 수 있다.

7 Further study
1. 3개 혹은 더 많은 그래프에 대해서는 세 그래프의 홀수점에 대하여 동일하게
새로운 matching을 찾거나 세 개의 영역을 다 이을 수 있도록 하는 두 개의 double
edge를 추가하거나 하나의 cycle을 제시할 수도 있다. 3개 이상에 대해서는 각 그
래프를 연결하는 edge 형성 면에서 matching 변형하는 것도 고려해야 할 조건이
많고, 두 개의 그래프는 matching을 변경해서 잇고 두 개의 그래프는 double edge
로 잇는 등 두 개의 방식이 섞일 수도 있다. 이 경우 두 개를 먼저 계산하고 다시
작업하는 것이 approximation이 되는가도 살펴보아야 할 사항이다. 3개에 대해서
최적의 해를 구할 수 있다면 수학적 귀납법으로 3개에서 4개, 그 이상의 그래프에
서도 유사한 알고리즘을 반영할 수 있다.
2. L2 norm을 반영하였기 때문에 두 그래프 사이를 잇는 것은 꼭 vertex에서
vertex로 이루어질 필요가 없었다. convex hull을 잡아서 두 도형 간의 거리를 잡는
것이 최적의 해가 된다. 이러면 edge 한가운데에서도 새로운 edge 추가가 일어날

6
수 있다. 다만 Case 2에서만 변동 사항이 있기 때문에 알고리즘상의 큰 차이가
발생하지 않고 d(G1 , G2 )의 값이 달라지는 것뿐이다.
3. edge의 비용을 L2 norm이 아니라 작전 지역의 위험도 등의 정보를 바탕으로
설정된 소요 시간이 되는 연구도 진행될 수 있을 것이다. 더 나아가서는 공간에
대하여 비용함수를 둘 수 있어서 지나온 경로에 대한 적분값은 소요된 총비용으로
둘 수도 있다. 이러면 vertex와 vertex를 잇는 edge를 단순하게 잡을 수 없다. 또한,
비용함수가 음수가 되는 경우 비용을 줄이는 경로를 통해 무한정으로 비용을 줄일
수도 있어 함수 설정에 유의해야 할 것이다.

8 Reference
1. Minimum weight perfect matching, University of Washington,
site : https://sites.math.washington.edu/ raymonda/assignment.pdf
2. Elzinga J.;Hearn D.W.(1972), ”The minimum covering sphere problem”,
Management Science, 19: 96–104, doi:10.1287/mnsc.19.1.96

You might also like