The Complexity of Near-Optimal Programmable Logic Array Folding

The problem of optimally folding a Programmable Logic Array (PLA) is known to be NP-complete. Motivated by the practical importance of this problem, we address the question of obtaining good, though not necessarily optimal, foldings. Two sets of results are presented. First, we show that three natural variants of the folding problem are equivalent with respect to approximation, in the sense that either they are all efficiently approximable or none of them is efficiently approximable. Next, we show for one of the variants (optimal bipartite folding) that if there is a polynomial time approximation algorithm (heuristic) which, for every PLA, produces a folding that is within a fixed factor of an optimal folding, then for any constant $\varepsilon > 0$, there is a heuristic which, for every PLA, produces a folding that is within a factor of $(1+\varepsilon )$ of the optimal folding. This result strongly suggests that the optimal folding problem is not efficiently approximable for arbitrary PLAs. In a compani...