Heuristic algorithms have been used for a long time to tackle problems that are known or conjectured intractable. A heuristic algorithm is one that provides a correct decision for most inputs, but may fail on some. We focus on the case when failure means that the algorithm does not return any answer, rather than returning a wrong result. These algorithms are called errorless heuristics.A reasonable quality measure for heuristics is the failure rate over the set of n-bit instances. When no efficient exact algorithm is available for a problem, then, ideally, we would like one with vanishing failure rate. We show, however, that this is hard to achieve: unless a complexity theoretic hypothesis fails, some NP-complete problems cannot have a polynomial-time errorless heuristic algorithm with any vanishing failure rate.On the other hand, we prove that vanishing, even exponentially small, failure rate is achievable, if we use a somewhat different accounting scheme to count the failures. This is based on special sets, that we call α-spheres, which are the images of the n-bit strings under a bijective, polynomial-time computable and polynomial-time invertible encoding function α. Our main result is that polynomial-time errorless heuristic algorithms exist, with exponentially low failure rates on the α-spheres, for a large class of decision problems. This class includes, surprisingly, all known intuitively natural NP-complete problems. We also explore some connections to the theory of average case complexity.
Read full abstract