:: The Journal of the Institute of Internet, Broadcasting and Communication ::, Vol.22 No.2 | (2022) pp.9~14

부분집합 합 문제의 일반화된 감산 알고리즘

Sang-Un Lee

(정회원, 강릉원주대학교 과학기술대학 멀티미디어공학과)


본 논문은 부분집합 합 문제의 해를 수행 복잡도 O(nlogn)으로 얻는 알고리즘을 제안하였다. SSP는 집합 S의 원소가 초증가수열과 랜덤수열로 구성된 경우로 구분된다. 초증가수열 SSP의 해를 구하는 알고리즘은 수행 복잡도 O(nlogn)의 가산 알고리즘 (Additive Algorithm)이 제안되었다. 그러나 랜덤수열 SSP의 해를 구하는 알고리즘은 2n-1의 가능한 모든 경우수를 확인하는 Brute-Force 방법으로 수행 복잡도는 O(n2n) 만이 알려져 있다. 결국, SSP는 NP-완전 (NP-Complete) 문제로 알려져 있다. 본 논문은 초증가수열과 랜덤수열 SSP에 대해 수행 복잡도 O(nlogn)으로 해를 구하는 감산 알고리즘 을 제안하였다. 기존 개념은 목표 값 t보다 작은 값으로 구성된 부분집합 S에 대해 부분 집합의 합에서 목표값을 뺀 값을 잉여량 (Residual, r)으로 하여 잉여량 보다 작은 값들 중 최대 값을 S에서 제거하는 방법을 적용하였다. 제안된 알고리즘을 다양한 초증가수열과 랜덤수열 SSP에 적용한 결과 S의 원소 개수보다 적은 수행 횟수로 해를 빠르게 얻는데 성공하였다. 결국, 제안된 알고리즘은 SSP의 해를 얻는 일반적인 알고리즘으로 적용할 수 있을 것이다.
This paper presents a subset sum problem (SSP) algorithm which takes the time complexity of O(nlogn). The SSP can be classified into either super-increasing sequence or random sequence depending on the element of Set S. Additive algorithm that runs in O(nlogn) has already been proposed to and utilized for the super-increasing sequence SSP, but exhaustive Brute-Force method with time complexity of O(n2n) remains as the only viable algorithm for the random sequence SSP, which is thus considered NP-complete. The proposed subtractive algorithm basically selects a subset  comprised of values lower than target value t, then sets the subset sum less the target value as the Residual r, only to remove from S the maximum value among those lower than t. When tested on various super-increasing and random sequence SSPs, the algorithm has obtained optimal solutions running less than the cardinality of S. It can therefore be used as a general algorithm for the SSP.
  Subset Sum Problem,SSP,Residual,Subtractive Algorithm,Additive Algorithm

Download PDF List