원문정보
A Generalized Subtractive Algorithm for Subset Sum Problem
초록
영어
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.
한국어
본 논문은 부분집합 합 문제의 해를 수행 복잡도 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의 해를 얻는 일반적인 알고리즘으로 적용할 수 있을 것이다.
목차
Abstract
Ⅰ. 서론
Ⅱ. 관련연구와 문제점
Ⅲ. SSP의 일반화된 감산 알고리즘
Ⅳ. 알고리즘 적용 및 결과 분석
Ⅴ. 결론
References