Abstract
This paper proposes a simple algorithm for circuit minimization. There are currently two effective heuristics for circuit minimization, namely manual Karnaugh maps and computable Quine-McCluskey algorithm. The latter, however, has a major defect: the runtime and memory required grow $3^n/n$ times for every increase in the number of variables n. The proposed algorithm, however, extracts the prime implicants (PI) that cover minterms of a given Boolean function by deriving an implicants table based on frequency. From a set of the extracted prime implicants, the algorithm then eliminates redundant PIs again based on frequency. The proposed algorithm is therefore capable of minimizing circuits polynomial time when faced with an increase in n. When applied to various 3-variable and 4-variable cases, it has proved to swiftly and accurately obtain the optimal solutions.
본 논문은 회로 최소화 문제를 간단하게 풀 수 있는 알고리즘을 제안하였다. 회로 최소화 문제는 수기식 방법인 카르노 맵과 전산화가 가능한 휴리스틱 방법인 Quine-McCluskey 알고리즘이 있다. 그러나 Quine-McCluskey 알고리즘은 변수 개수 n이 증가하면 $3^n/n$의 메모리와 수행횟수가 요구되는 단점을 갖고 있다. 제안된 방법은 빈도수에 기반하여 내포 항 표를 이용하여 주어진 부울 함수의 최소 항을 포함하는 주 내포 항을 빠르게 추출하는 방법을 적용하였다. 추출된 주 내포 항들 중에서 중복 선택된 여분의 주 내포 항을 빈도수를 적용하여 제거하는 방법을 제안하였다. 제안된 알고리즘은 비록 변수 개수 n이 증가하여도 다항시간으로 회로를 최소화시킬 수 있는 해를 구할수 있는 장점을 갖고 있다. 제안된 알고리즘을 3-변수와 4-변수의 다양한 사례들에 적용한 결과 해를 빠르고 정확하게 구할 수 있었다.