DOI QR코드

DOI QR Code

Competitive Algorithm of Set Cover Problem Using Inclusion-Exclusion Principle

포함-배제 원리를 적용한 집합피복 문제의 경쟁 알고리즘

  • Sang-Un Lee (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 이상운 (강릉원주대학교 과학기술대학 멀티미디어공학과)
  • Received : 2023.02.01
  • Accepted : 2023.08.04
  • Published : 2023.08.31

Abstract

This paper proposes an algorithm that can obtain a solution with linear time for a set cover problem(SCP) in which there is no polynomial time algorithm as an NP-complete problem so far. Until now, only heuristic greed algorithms are known to select sets that can be covered to the maximum. On the other hand, the proposed algorithm is a competitive algorithm that applies an inclusion-exclusion principle rule to N nodes up to 2nd or 3rd in the maximum number of elements to obtain a set covering all k nodes, and selects the minimum cover set among them. The proposed algorithm compensated for the disadvantage that the greedy algorithm does not obtain the optimal solution. As a result of applying the proposed algorithm to various application cases, an optimal solution was obtained with a polynomial time of O(kn2).

본 논문은 지금까지 NP-완전 문제로 다항시간 알고리즘이 존재하지 않는 집합피복 문제에 대해 선형시간으로 해를 구할 수 있는 알고리즘을 제안하였다. 지금까지는 최대로 피복할 수 있는 집합을 선택하는 휴이스틱 탐욕 알고리즘만이 알려져 있다. 반면에 제안된 알고리즘은 최대 원소 수 2순위 또는 3순위까지의 노드들 k개를 대상으로 포함-배제 원리 규칙을 적용하여 N개의 노드 모두를 피복하는 피복집합을 구하고, 이들 중 최소 피복집합을 선택하는 경쟁 알고리즘이다. 제안된 알고리즘은 욕심쟁이 알고리즘이 최적 해를 얻지 못하는 단점을 보완하였다. 제안된 알고리즘을 다양한 응용 사례들에 적용한 결과 O(kn2)의 다항시간으로 최적 해를 얻었다.

Keywords

Ⅰ. 서론

m개의 원소로 구성된 전체집합(universe set) U의 모든 원소들을 n개의 부분집합 S(S ⊆ U)가 중복(overlap)되게 커버(피복, cover)하고 있는 경우, S의 모든 부분집합의 합은 U가 된다. 최소 집합피복(minimum set cover, MSC, C) 문제는 U의 모든 원소들을 커버하는 S의 최소의 부분집합 C(C ⊆ S)를 찾는 문제로 S에서 중복을 가능한 최대로 제거한 최소한의 집합이 된다. 즉, C의 모든 부분집합의 합집합도 U가 된다. 이 문제는 U의 모든 원소들은 적어도 C의 어느 한 집합에 포함되어야하고, U의 원소들은 중복되어 포함되어도 무방하다.[1-4]

MSC 문제는 배송 및 노선 문제, 일정문제와 위치 선정 문제, 메시지 교환 이론, VLSI 회로시험, 회로 균등 문제, 항공사 운행일정 문제 등 다양한 분야에 적용되고 있다.[5]

MSC 문제는 NP-완전(NP-complete)으로 Karp의 21개 NP-완전 문제들 중 하나로 알려져 있으며[2], 해를 구하는 가장 간단한 방법으로 욕심쟁이 알고리즘(greedy algorithm)이 제안되어 있다. 그러나 욕심쟁이 알고리즘은 최적 해(optimal solution)를 찾지 못하는 단점을 갖고 있다.[1,3]

본 논문은 경쟁 알고리즘(competitive algorithm, CA)을 적용하여 MSC의 최적 해를 찾는 방법을 제안한다. 2장에서는 MSC 관련 연구 동향과 문제점을 고찰해 본다. 3장에서는 MSC 문제를 다항시간으로 정확한 해를 구하는 경쟁 알고리즘을 제안한다. 4장에서는 다양한 데이터들을 대상으로 제안된 알고리즘의 적용성을 평가해 본다.

Ⅱ. 관련연구와 문제점

MSC 문제의 해를 구하는 욕심쟁이 알고리즘[1-3]은 그림 1에 제시되어 있다.

OTNBBE_2023_v23n4_165_f0007.png 이미지

그림 1. MSC 욕심쟁이 알고리즘

Fig. 1. MSC Greedy algorithm

12개 원소로 구성된 U = {1,2,⋯,12}와 6개 부분집합의 모임인 S = {S1,S2,S3,S4,S5,S6}이 그림 2의 MSC1과 같이 주어진다고 가정하였을 때 U의 모든 원소를 포함하는 S의 부분집합 C를 구하여 보자. MSC1 데이터는 Wan과 Ba[3]와 Sadeghi[6]에서 인용되었다.

OTNBBE_2023_v23n4_165_f0002.png 이미지

그림 2. MSC1 문제

Fig. 2. MSC1 problem

MSC1의 최적 해는 그림 3과 같이 C = {S3,S4,S5}이다. 즉, U의 모든 원소 12개를 모두 포함하는 최소의 C⊆S는 {S3,S4,S5}이며, S3∪S4∪S5 = U가 된다.

OTNBBE_2023_v23n4_165_f0001.png 이미지

그림 3.MSC1 문제의 최적 해

Fig. 3. Optimal solution of MSC1

MSC1에 대해 욕심쟁이 알고리즘을 적용한 결과 표 1과 같이 4개의 부분집합을 얻어 3개의 부분집합이 최적 해인 값을 얻는데 실패하였다.[3]

표 1. MSC1의 욕심쟁이 알고리즘 수행 결과

Table 1. Result of greedy algorithm for MSC1

OTNBBE_2023_v23n4_165_t0001.png 이미지

또 다른 문제점은 임의의 수행 횟수에서 동일한 원소 개수를 가진 부분집합이 다수 존재할 경우 어떤 부분집합을 선택할 것인가가 문제가 된다. 예로, 4번째 수행횟수에서 S3와 S6는 모두 원소 개수가 1개로 동일하다. 이 경우 S6을 선택하여 C = {S1,S4,S5,S6}을 얻은 경우, S1,S4,S5,S6중 어느 한 부분집합이 나머지 3개 부분집합의 합에 진부분집합이 되지 않아 더 이상 최소로 할 수 없는 결과를 초래한다.

MSC의 최적 해를 구하는 욕심쟁이 알고리즘을 적용하는데 있어 다음과 같이 2가지 문제점이 있다.

[문제점 1] 욕심쟁이 알고리즘을 적용하여 얻은 해는 어느 하나의 부분집합이 다른 모든 부분집합의 합에 진부분집합이 존재하여 최적 해를 얻는데 실패할 수 있다.

[문제점 2] 임의의 단계에서 동일한 원소개수를 가진 부분집합이 다수 존재할 경우 어떤 부분집합을 선택하느냐에 따라 삭제가 가능한 진부분집합을 얻지 못할 수 있다.

이러한 문제점을 개선하기 위해 Lee[7]는 동일한 최대 원소 수를 가진 경우, 탐욕 알고리즘으로 얻은 해 중에서 타 부분집합의 진부분집합이 존재하는 경우에 대해 해결 책을 제시하였다. 그러나 이 방법 역시 특정 문제에 대해서는 최적 해를 찾지 못하는 경우가 발생하고 있어 완벽한 알고리즘이라고 할 수 없다.

Ⅲ. 경쟁 알고리즘

본 장에서는 욕심쟁이 알고리즘의 단점을 해결하여 MSC의 최적 해를 구할 수 있는 경쟁 알고리즘을 제안한다. 제안된 알고리즘은 그림 4의 포함-배제 원리(inclusion-exclusion principle, IEP)를 적용한다. 이 원리를 적용 시 제기되는 문제점은 |U∪V| = (|U| +|V|) - (|U∩V|)에서 |U∪V|는 |U∩V|에 따라 결정되며, |U∩V|는 사전에 알지 못한다. 따라서 i개의 부분집합들 중에서 |U|가 가장 큰 경우가 반드시 |U∪V|가 가장 크다고 할 수 없다. 이러한 사례는 MSC1 문제에서 고찰하였으며, 이는 욕심쟁이 알고리즘으로 해결할 수 없는 문제이다.

OTNBBE_2023_v23n4_165_f0004.png 이미지

그림 4. 포함-배제 원리

Fig. 4. Inclusion- exclusion principle(IEP)

본 장에서는 이러한 문제점을 해결하기 위해, |U|가 가장 큰 값 내림차순으로 2순위 또는 최대 3순위까지의 부분집합을 선택하여 식 (1)로 최적 해를 결정하는 방법을 적용한다.

|U∪V| = |U| + |V∖U|

|U∪V∪W| = |U| + |V∖U| + |W∖U∪V|       (1)

JAKO202326257790738_167수식(1).png 이미지

 

포함-배제 원리를 적용한 경쟁 알고리즘은 그림 5에 제시되어 있다.

OTNBBE_2023_v23n4_165_f0008.png 이미지

그림 5. 포함-배제 원리 적용 경쟁 알고리즘

Fig. 5. Comparative algorithm using IEP

MSC1에 대해 3순위까지 적용한 경쟁 알고리즘을 적용한 결과 표 2와 같이 최적 해 |C|=3을 얻는데 성공하였다. 1순위 S1(6) 2순위 S4(5)와 3순위인 S2(4)는 최적 해를 구하지 못한 반면, 3순위인 S3(4)와 S5(4)는 최적 해 C = {S3,S4,S5}를 구하였다.

표 2. MSC1의 경쟁 알고리즘 수행 결과

Table 2. Result of comparative algorithm for MSC1

OTNBBE_2023_v23n4_165_t0002.png 이미지

Ⅳ. 실험 및 결과 분석

본 장에서는 MSC 문제의 최적 해를 구하는 실험 데이터로 응용 사례를 고찰해 본다. MSC 문제의 최적 해를 구하는 응용 사례는 그림 6[8-11]과 Storbeck과 Vohra[12]에서 인용된 21-노드 망인 MSC5, Daskin[13]에서 인용된 MSC6이다.

OTNBBE_2023_v23n4_165_f0005.png 이미지

그림 6. MSC 응용 사례

Fig. 6. Applied examples for MSC

MSC2는 Skiena[8]에서 인용되었다. MSC3는 Trick[9]에서 인용된 데이터로, 11개의 동으로 구분되어 있는 도시에 대해 소방서를 최소로 몇 개를 설치하면 11개 동을 모두 커버할 수 있는지를 결정하는 문제이다. 각 소방서는 인접한 동을 커버한다고 가정한다. Si는 각 동에 대해 인접한 동을 커버하는 원소들로 구성할 수 있다. Trick[9]은 MSC3을 선형계획법을 적용하여 최적해로 x3 = x8 = x9 = 1 즉, C = {S3,S8,S9}를 구하였다.

MSC4는 Shuai와 Hu[10]에서 인용된 데이터로, 광통신망 연결 방송의 주파수 할당 문제이다. 10개 지역 간에 5개의 주파수 광통신망이 설치되어 있다. 이는 10개 지역을 커버할 수 있는 최소의 연결된 주파수 망을 선택하는 문제로 연결 최소 집합피복(connected MSC) 문제이다. Si는 각 주파수 wi = {v1,v2}의 2개 정점을 원소로 하는 집합으로 표기할 수 있다. 본 문제는 10개 지역을 연결하는 주파수 망을 찾아야 하며, 사이클이 존재하면 안된다. 이 문제의 최적 해는 C = {S1,S2,S3,S4}로 알려져 있다.

Storbeck과 Vohra[12]는 21-노드 망 MSC5에 Natural Slack Covering(NSC) 알고리즘을 적용하여 T = 2의 해인 S = {S5,S11,S13,S20} 위치를 찾았다.

MSC6은 Daskin[13]에서 인용된 데이터로, 미국 텍사스주 오스틴시를 국세조사표준구역(census tracts)에 의해 33개의 구역(zones)으로 분할하여 각 구역 간 소요(응답) 시간(분)을 나타내고 최대 허용 응답시간 T를 10분으로 설정하여 구급차량의 위치를 선형계획법으로 해를 구하지 못하였다.

5개의 사례에 대해 경쟁 알고리즘을 적용하여 구한 최적해는 그림 7에 제시되어 있다. MSC3의 경우 11개 동을 커버하는 최소한의 소방서 개수 3개를 구하는데 성공하였다. MSC4의 경우C = {S1,S2,S3,S4} 또는 C = {S1,S3,S4,S5}를 얻어 w2 또는 w5 주파수 망을 삭제할 수 있다.

OTNBBE_2023_v23n4_165_f0006.png 이미지

그림 7. 경쟁 알고리즘 적용 결과

Fig. 7. Applied result of CA

욕심쟁이 알고리즘은 MSC1, MSC3, MSC5에서 최적 해를 얻지 못하는 반면에, 제안된 알고리즘은 6개의 데이터 모두에서 최적 해를 얻었으며, 다양한 부분집합들로 구성된 최적해 C도 얻음을 알 수 있다.

Ⅴ. 결론 및 향후 연구과제

최소 집합피복 문제의 최적 해를 다항시간으로 얻는 방법은 아직까지 알려지지 않고 있다. 그러나 최소 집합 피복 문제의 해를 간단히 얻는 방법으로 욕심쟁이 알고리즘이 제안되었지만 최적 해를 얻지 못하는 경우가 빈번히 발생하였다.

본 논문은 욕심쟁이 알고리즘의 단점을 보완하여 최적 해를 다항시간으로 얻을 수 있는 경쟁 알고리즘을 제안하였다. 이 방법은 엄밀히 말하면 원소 개수가 많은 상위 순위 2개 또는 3개의 부분집합들의 개수 k개에 대해 욕심쟁이 알고리즘을 반복수행하는 방법이라 할 수 있다. 이러한 방법을 적용한 결과 욕심쟁이 알고리즘으로 최적해를 구하지 못하는 문제에 대해서도 최적 해를 구할 수 있음을 보였다.

6개의 사례를 대상으로 경쟁 알고리즘을 적용한 결과 욕심쟁이 알고리즘은 3개 데이터에서 최적 해를 구하지 못한 반면에, 제안된 알고리즘은 6개 데이터 모두에서 다양한 조합의 최적 해를 구할 수 있었다.

References

  1. M. Sudan, "Approximability of Optimization Problems: Set Cover, Minimum Multicut," MIT, http://people.csail.mit.edu/madhu/FT99, 2009.
  2. Wikipedia, "Set Cover Problem," http://en.wikipedia.org/wiki/Set_cover_problem, Retrieved Apr. 2022.
  3. V. K. Wan and K. D. Ba, "CS 105: Algorithms - Set Cover and Application to Shortest Superstring," Computer Science, Darmouth Collage, 2005.
  4. P. Chew, "CS 482: Introduction to Analysis of Algorithms," Cornell University, 2007.
  5. K. Hoffman and M. Padberg, "Set Covering, Packing and Partitioning Problems," Department of Systems Engineering and Operations Research George Mason University, 2009.
  6. I. Sadeghi, "An Introduction to Approximation Algorithms," http://mehr.sharif.edu/~ce354/seminars/sadeghi.pdf, 2003.
  7. S. U. Lee, "An Improved Greedy Algorithm for Set Cover Problem", Journal of Korean Institute of Information Technology, Vol. 13, No. 2, pp. 83-91, Feb. 2015, https://doi.org/10.14801/jkiit.2015.13.2.83
  8. S. Skiena, "The Stony Brook Algorithm Repository, Department of Computer Science, Stoney Brook University, 2008.
  9. M. A. Trick, "A Tutorial on Integer Programming," The Operations Research Faculty of GSIA, 1997.
  10. T. P. Shuai and X. D. Hu, "Connected Set Cover Problem and Its Applications," AAIM 2006, LNCS 4041, pp. 243-254, 2006.
  11. Q. Yang, J. McPeek, and A. Nofsinger, "Efficient and Effective Practical Algorithms for the Set-Covering Problem," Department of Computer Science and Software Engineering, University of Wisconsin, 2008.
  12. J. E. Storbeck and R. V. Vohra, "A Simple Trade-off Model for Maximal and Multiple Coverage," Geographical Analysis, Vol. 20, No. 3, pp. 220-230, Jul. 1988. https://doi.org/10.1111/j.1538-4632.1988.tb00177.x
  13. M. S. Daskin, "A Hierarchical Objective Set Covering Model for Emergency Medical Service Deployment," Transportation Science, Vol. 15, No. 2, pp. 137-152, May 1981, https://doi.org/10.1287/trsc.15.2.137