DOI QR코드

DOI QR Code

최대독립집합 문제의 최소차수 정점 우선 선택 알고리즘

First Selection Algorithm of Minimum Degree Vertex for Maximum Independent Set Problem

  • 이상운 (강릉원주대학교 과학기술대학 멀티미디어공학과)
  • Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 투고 : 2019.03.16
  • 심사 : 2019.06.07
  • 발행 : 2019.06.30

초록

본 논문은 지금까지 NP-완전인 난제로 알려진 최대 독립집합(MIS) 문제를 선형시간 복잡도로 해결한 알고리즘을 제안하였다. 제안된 알고리즘은 "MIS 집합의 모든 정점들은 상호간에 연결되지 않는다"는 기본 성질을 적용하여 n개의 정점으로 구성된 그래프에서 최소 차수 ${\delta}(G)$ 정점 ${\nu}$를 선택하고 부속 간선을 제거하였을 때 차수가 변하지 않는 정점들을 차수 오름차순으로 계속적으로 선택하는 단순한 방법을 적용하였다. 제안된 알고리즘을 22개 그래프에 적용한 결과, 시각적으로 그래프를 보면서도 MIS를 쉽게 찾을 수 있는 장점을 갖고 있으며, 알고리즘은 항상 MIS 집합의 원소 개수인 ${\alpha}(G)$회를 수행하여 알고리즘 복잡도는 O(n)으로 선형 알고리즘이다. 결국, 제안된 MIS 알고리즘은 MIS의 최적 해를 도출하는 일반적인 알고리즘으로 적용할 수 있을 것이다.

In this paper I propose an algorithm of linear time complexity for NP-complete Maximum Independent Set (MIS) problem. Based on the basic property of the MIS, which forbids mutually adjoining vertices, the proposed algorithm derives the solution by repeatedly selecting vertices in the ascending order of their degree, given that the degree remains constant when vertices ${\nu}$ of the minimum degree ${\delta}(G)$ are selected and incidental edges deleted in a graph of n vertices. When applied to 22 graphs, the proposed algorithm could obtain the MIS visually yet effortlessly. The proposed linear MIS algorithm of time complexity O(n) always executes ${\alpha}(G)$ times, the cardinality of the MIS, and thus could be applied as a general algorithm to the MIS problem.

키워드

Ⅰ. 서론

n = |V|의 n개 정점이 m = |E|의 m개 간선으로 연결된 가중치가 없는 무방향 그래프(unweighted undirected graph) G= (V,E)에 대해, 최소 정점 피복 (minimum vertex cover, MVC, C) 문제는 모든 간선 e = {u,v}의 정점 u 또는 v중 적어도 하나의 정점을 반드시 포함하는 집합 C를 찾는 문제로 집합 C의 원소개수(cardinality, k)를 최소화시키는 조건을 만족해야 한다.[1] MVC 문제는 최대 독립 집합 (maximum independent set, MIS, \(\bar{C}\))과 밀접하게 연관되어 있다. MIS \(\bar{C}\)= V╲C이며, MIS의 개수는 n-k로 구성되어 있다.[1] MIS의 각 정점들은 반드시 MIS 내의 다른 정점들과 연결되어 있지 않는 독립적인 정점들로 구성되어 있다. MIS 문제를 해결하는 방법은 MVC의 여집합으로 구하는 NP-완전(NP-complete)으로 알려져 있으며, 다항시간으로 정확한 해를 찾는 알고리즘이 제안되지 않고 있다.[3]

MIS의 활용분야는 다양하지만, 여기서는 다음의 2가지만 예를 든다. 첫 번째는 그래프 색칠 문제(graph coloring problem, GCP)에서 행정구역을 정점으로, 행정구역 간에 인접하고 있으면 이를 간선으로 표기한 평면 그래프에 대해 영역 경계면을 확실히 구별하도록 인접 영역 간에는 서로 다른 색을 칠하는 문제에서 한 가지 색은 인접하지 않은 독립집합 정점들에 배정하는 방법으로 문제를 풀 수 있다. 두 번째는, 시험일정 문제(exam scheduling problem, ESP)에서 다수의 학생들이 다수의 교과목을 수강하고 있는 경우 교과목을 정점으로, 특정 학생이 2개 이상의 교과목을 수강하고 있으면 이 교과목들 간에 간선을 연결하여 인접하지 않은 교과목 정점들로 구성된 독립집합을 하나의 시간에 동시에 시험을 치르게 하여 문제를 풀 수 있다.

MIS를 구하는 알고리즘으로, Xiao와 Nagamochi[4]는 최대 차수가 6과 7인 그래프에 대해 1.1893nnO(1)과 1.1970nnO(1)복잡도를 갖는 계층적으로 구성된 그래프에서 최소 차수 정점에서 MIS를 찾았다. Xiao[5]는3-차수 그래프에 대해 O(1.0885n)복잡도의 단일한 분기 규칙을 제안하였다. Dahshan[6]은 MIS를 최소비용 경로로 보고 Bellman-Ford 알고리즘을 사용하여 O(m(n2 -m))의 근사 해를 찾는 알고리즘을 제안하였다. Borowiecki와 Göring[7]는 GreedyMax 알고리즘을 이용하였으며, Losievskaja[8] 역시 근사 해를 찾고자 하였다. Olemskoy와 Firyulina[9]은 O(20.276n ) 복잡도의 Robson 알고리즘을 수정하였으며, Lê et al.[10]은 O(n2)의 순차 탐색법을, Andrade et al.[11]은 O(mΔ(G))의 지역 탐색법을, Brændeland[12]은3( n Ck ) 알고리즘을, Byskov[13]은 O(2.3289n)의 나열법을, Sharieh et al.[14]은 O(20.0076n ) 알고리즘을, Ghaffari[15]\(O(\log \Delta)+2^{O(\sqrt{\log \log n})}\)의 분산형 알고리즘을 제안하였다.

본 논문은 인접리스트를 활용할 경우 O(n), 간선을 순차적으로 탐색하면서 각 정점의 차수를 세는 경우 O(m)의 선형시간으로 MIS 문제를 해결하는 정확한 알고리즘을 제안한다. 2장에서는 MIS 문제에 대한 욕심쟁이 알고리즘과 관련된 연구와 문제점을 고찰한다. 3장에서는 MIS 문제의 해를 간단하면서도 선형시간으로 빠르게 도출하는 알고리즘을 제안한다. 4장에서는 다양한 그래프 데이터들을 대상으로 제안된 알고리즘의 적용성을 검증한다.

Ⅱ. 관련 연구와 문제점

그래프이론에서, 그래프 G= (V,E)에서 각 정점 v 에 부속된 간선 수를 차수(degree, deg(v))라 한다. 최대 부속 간선 수를 갖는 정점 v의 차수를 최대 차수 (maximum degree, Δ(G))로, 최소 부속 간선 수를 갖는 정점 v의 차수를 최소 차수(minimum degree, δ(G))로 표기한다.

MVC 문제의 해를 구하는 알고리즘으로는 탐욕, 근사, 진화(evolutionary), 개미집단 최적화(ant coloney optimization), 완전 탐색(complete search) 등 수많은 알고리즘들이 제안되었다.[2] 본 장에서는 가장 간단한 그림 1의 탐욕 알고리즘을 적용하여 MVC를 얻고 MVC 의 여집합인 MIS를 얻는 방법을 고찰한다.

OTNBBE_2019_v19n3_193_f0001.png 이미지

그림 1. MVC 탐욕 알고리즘

Fig. 1. MVC greedy algorithm(GA)

MVC 문제를 해결하기 위한 다양한 알고리즘들 중에 그림 1의 탐욕 알고리즘(GA)이 가장 간단한 장점을 갖고 있는 반면 항상 최적 해를 찾지 못하는 단점을 갖고 있다. 여기서는 그림 2의 G1 , G2과 G3 그래프를 대상으로 MVC의 탐욕 알고리즘이 최적 해를 구하지 못하는 단점을 고찰해 본다.

OTNBBE_2019_v19n3_193_f0002.png 이미지

그림 2. MVC 예제 그래프

Fig. 2. MVC example graph

그림 2의 G1 , G2과 G3 그래프에 대한 MIS, 최소지배집합(minimum dominating set, MDS)와 GA로 구한 MVC는 그림 3과 표 1에 제시되어 있다. 여기서 MDS는 모든 간선을 커버하는 MVC가 아닌 모든 정점을 커버하는 최소 지배집합을 의미한다.

OTNBBE_2019_v19n3_193_f0003.png 이미지

그림 3. 예제 그래프의 MIS, MVC, MDS

Fig. 3. MIS, MVC, MDS for example graph

표 1. MIS, MVC와 MDS 관계

Table 1. Relation between MIS, MVC, and MDS

OTNBBE_2019_v19n3_193_t0001.png 이미지

그림 2 그래프에 대해 그림 3의 (c)와 같이 MVC 탐욕 알고리즘을 적용하면 G1의 C= {5,1,7,9,3}, G2의 C= {5, 1,2,3}, G3의 C= {2,3,5,6,8}로 C의 원소 개수 k 는 5,4,5이다. 그러나 (b)와 같이 알려진 MDS 최적 해는 각각 4,2,3으로 n-k로 MIS를 얻는 MVC 탐욕 알고리즘은 G1 그래프에 대해서는 실패하였음을 알 수 있다.

표 3으로부터 MIS의 원소 개수 \(\bar{k}\)는 n-k가 되지 않음을 알 수 있어 그림 1의 MVC를 구하는 탐욕 알고리즘의 MIS \(\bar{C}\) = V╲C도 성립하지 않음을 알 수 있다. 따라서 n≠k+\(\bar{k}\)로 이후부터는 MIS 집합의 원소 수를 l이라 하며, n≥k+l가 성립함을 실험을 통해 증명한다.

결국, MVC를 구하는 탐욕 알고리즘은 최적 해를 얻는데 실패하였으며, 이로부터 MIS를 구하지도 못하는 경우가 발생하여 MIS, MVC(또는 MDS)를 얻기 위해서는 MVC 탐욕 알고리즘을 적용할 수 없는 문제점이 있다. 따라서 3장에서는 MIS를 구하는 단순한 탐욕 알고리즘을 제안한다.

Ⅲ. 최소차수 정점 우선 선택 알고리즘

본 장에서는 주어진 그래프에서 직접 MIS를 구하는 알고리즘을 제안한다. 제안되는 알고리즘은 정점을 하나씩 단지 MIS 집합의 원소 수 α(G) = l회 선택하는 기법이다.

주어진 그래프의 n개 정점들 중에서 인접하지 않은 점들을 최대한으로 선택하여 MIS를 얻기 위해서는 최소차수 정점 u = δ(G)를 선택해야 한다. 따라서 본 장에서 제안되는 MIS 알고리즘은 이러한 기본 속성에 근거를 두고, u = δ(G)를 MIS로 선택한 이후 v = NG (u)인 u에 인접한 이웃 정점들 v를 삭제하는 방법을 적용하였다.

본 장에서 제안되는 MIS 알고리즘을 최소차수 정점 (minimum degree vertex, MinD) 알고리즘이라 하며, 그림 4에 제시되어 있다.

OTNBBE_2019_v19n3_193_f0007.png 이미지

그림 4. MIS의 최소차수 정점 알고리즘

Fig. 4. MinD for MIS

그림 2의 예제 그래프에 MinD MIS 알고리즘을 적용한 결과는 그림 5에 제시되어 있으며, 최적 해를 빠르게 얻는데 성공하였다. 여기서 굵은 실선은 MIS 집합에 포함된 정점에 인접한 정점의 간선을 의미한다.

OTNBBE_2019_v19n3_193_f0004.png 이미지

그림 5. 예제 그래프에 대한 MinD MIS 알고리즘

Fig. 5. MinD MIS algorithm for example graphs

G1 그래프에 대해서는 deg(u) = 1인 {1,3,7,9} 중에서 임의로 {1}을 선택한 이후 계속적으로 최소차수 정점인 7,9,5,3 순서로 선택하였다. 결국, 제안된 Min D는 단순히 최소차수 정점을 MIS 집합의 원소 개수인 l회 선택하여 MIS의 최적 해를 구할 수 있으며, 인접 리스트(adjacency list)를 순차적으로 탐색하여 최소 차수 정점을 찾는 O(n)선형 수행 복잡도를 l회 수행하는 알고리즘이다. 여기서 n은 MIS 집합에 포함되는 정점 u가 증가함에 따라 각 횟수에서 이웃인 NG (u)개씩 계속적으로 감소된다. 따라서 O(kn′)≃O(n) 복잡도이다.

Ⅳ. 알고리즘 적용 및 결과 분석

본 장에서 적용한 실험 데이터는 모든 정점의 차수 가동 일한 그래프와 정점의 차수가 상이한 그림 6의 그래프들을 대상으로 한다.

OTNBBE_2019_v19n3_193_f0005.png 이미지

그림 6. 실험 데이터

Fig. 6. Experimental data

이들 실험 그래프들을 대상으로 본 논문에서 제안된 MinD MIS 알고리즘이 얼마나 빠르고 정확하게 MIS의 최적 해를 구하는지 고찰해본 결과는 그림 7에 제시되어 있다.

OTNBBE_2019_v19n3_193_f0006.png 이미지

그림 7. 실험 데이터에 대한 MinD MIS 알고리즘

Fig. 7. MinD MIS algorithm for Experimental data

본 논문에서 적용된 22개 그래프에 대해 MinD MIS 알고리즘의 성능 분석 결과는 표 2에 제시되어 있다. MinD MIS 알고리즘은 MIS 집합 원소 개수인 α(G) = l회 최소차수 정점을 단순히 선택하면서도 22개 데이터 모두에서 최적 해를 찾는데 성공하였음을 알 수 있다. 결론적으로, MIS 문제는 최적 해를 선형 시간으로 찾을 수 있는 규칙을 가진 휴리스틱 기법이 존재하여 더 이상 NP-완전 문제로 분류될 수 없으며, P 문제로 분류되어야 함을 알 수 있다.

표 2. MinD MIS 알고리즘 성능 분석

Table 2. Performance analysis of MinD MIS algorithm

OTNBBE_2019_v19n3_193_t0002.png 이미지

Ⅴ. 결론

본 논문은 MIS 문제를 O(n)의 선형시간 복잡도로 해결하는 알고리즘을 제안하였다. 기존에 가장 빠른 알고리즘으로 알려진 MVC를 얻는 탐욕 알고리즘을 활용하여, MVC의 여집합으로 MIS를 찾는 방법이 있다. 그러나 이 방법 역시 MVC의 최적 해를 찾지 못하는 경우가 발생하는 단점을 갖고 있다.

본 논문은 주어진 그래프에서 MVC를 구한 후 MIS를 구하는 간접법이 아닌, 주어진 그래프에서 직접 MIS를 구하는 직접법을 제안하였다. 제안된 알고리즘은 단지 주어진 그래프에서 최소 차수 정점을 MIS 집합으로 선택하고, 선택된 정점 u의 닫힌 이웃인 NG [u]를 V에서 삭제하였다. 이 과정을 V = {Φ}가 될 때까지 MIS 원소수 α(G) = l회 반복 수행하면 최적 해를 구할 수 있다.

본 논문에서 제안된 알고리즘은 지금까지 NP-완전인 난제로 여겨졌던 MIS 문제를 O(n)의 선형 복잡도로 풀어 다항식(P) 문제임을 실험을 통해 증명하였다.

참고문헌

  1. N. Apollonio and B. Simeone, "The Maximum Vertex Coverage Problem on Bipartite Graphs," Discrete Applied Mathematics, Vol. 165, pp. 37-48, Mar. 2014, doi:10.1016/j.dam.2013.05.015
  2. S. Richter, M. Helmert, and C. Gretton, "A Stochastic Local Search Approach to Vertex Cover," Annual Conference on Artificial Intelligence, Lecture Notes in Computer Science, Vol. 4667, pp. 412-426, 2007, doi:10.1007/978-3-540- 74565-5_31
  3. R. M. Karp, "Reducibility Among Combinatorial Problems," Complexity of Computer Computations, pp. 85-103, 1972, doi:10.1007/978-1-4684- 2001-2_9
  4. M. Xiao anf H. Nagamochi, "Exact Algorithms for Maximum Independent Set," Information and Computation, Vol. 255, No. 1, pp. 126-146, Aug. 2017, doi:10.1016/j.ic.2017.06.001
  5. M. Xiao,"A Simple and Fast Algorithm for Maximum Independent Set in 3-Degree Graphs," International Workshop on Algorithms and Computation, pp. 281-292, 2010, doi:10.1007/ 978-3-642-11440-3_26
  6. M. H. Dahshan, "Maximum Independent Set Approximation Based on Bellman-Ford Algorithm," Arabian Journal for Science and Engineering, Vol. 39, No. 10, pp. 7003-7011, Oct. 2014, doi:10.1007/s13369-014-1159-7
  7. P. Borowiecki and F. Goring, "GreedyMAX-type Algorithms for the Maximum Independent Set Problem," International Conference on Current Trends in Theory and Practice of Computer Science, pp. 146-156, 2011, doi:10.1007/978-3 -642-18381-2_12
  8. E. Losievskaja, "Approximation Algorithms for Independent Set Problems on Hypergraphs," Ph. D. Desertation, School of Computer Science, Reykjavik University, Dec. 2009.
  9. I. V. Olemskoy and O. S. Firyulina, "Modification of Robson's Algorithm for Finding Maximum Independent Set in Undirected Graph," 2015 International Conference "Stability and Control Processes, pp. 1-3, Dec. 2015, doi:10.1109/ SCP.2015.7342131
  10. N. C. Le, C. Brause and I. Schiermeyer, "On Sequential Heuristic Methods for the Maximum Independent Set Problem," Discussiones Mathematicae Graph Theory, pp. 1-12, Feb. 2017, doi:0.7151/dmgt.1965
  11. D, V, Andrade, M, G. C. Resende, R, F. Werneck, "Fast Local Search for the Maximum Independent Set Problem," Journal of Heuristics, Vol. 18, No. 4, pp. 525-547, Aug. 2012, doi:10.1007/s10732-012-9196-4
  12. A. Brændeland, "A Family of Greedy Algorithms for Finding Maximum Independent Sets," Cornell University Library, arXiv:1505.00752, pp. 1-4, May 2015.
  13. J. M. Byskov, 'Enumerating Maximal Independent Sets with Applications to Graph Colouring," Operations Research Letters, Vol. 32, No. 6, pp. 547-556, Nov. 2004, doi:10.1016/j.orl.2004.03.002
  14. A. Sharich, W. A. Rawagepfeh, M. H. Mahafzah, and A. A. Dahamsheh, "An Algorithm for Finding Maximum Independent Set in a Graph," European Journal of Scientific Research, Vol. 23, No. 4, pp. 586-596, Nov. 2008, ISSN:1450-216X
  15. M. Ghaffari, "An Improved Distributed Algorithm for Maximal Independent Set," Proceedings of the 27th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 270-277, Jan. 2016, ISBN:978-1-611974-33-1