Meta-algorithms are algorithms that take other algorithms as input. Meta-algorithms are important in a variety of applications, from minimizing circuits in VLSI to verifying hardware and software to machine learning. Lower bound proofs show that computational problems are difficult in the sense of requiring a prohibitive amount of time, memory, or other resource to solve. This is particularly important in the context of cryptography, where it is vital to ensure that no feasible adversary can break a code. Surprisingly, recent research by the PIs and others shows that designing meta-algorithms is, in a formal sense, equivalent to proving lower bounds. In other words, one can prove a negative (the non-existence of a small circuit to solve a problem) by a positive (devising a new meta-algorithm). This was the key to a breakthrough by PI Williams, proving lower bounds on constant depth circuits with modular arithmetic gates.
The proposed research will utilize this connection both to design new meta-algorithms and to prove new lower bounds. A primary focus will be on meta-algorithms for deciding if a given algorithm is 'trivial' or not, such as algorithms for the Boolean satisfiability problem. The proposed research will devise new algorithms that improve over exhaustive search for many variants of satisfiability. On the other hand, it will also explore complexity-theoretic limitations on how much improvement is possible, using reductions and lower bounds for restricted models. Satisfiability will provide a starting point for a more general understanding of the exact complexities of other NP-complete problems such as the traveling salesman problem and k-colorability. The proposal addresses both worst-case performance and the use of fast algorithms as heuristics for solving this problem.
This exploration will be mainly mathematical. However, when new algorithms and heuristics are developed, they will be implemented and the resulting software made widely available. This research will be incorporated in courses taught by the PI's, at both graduate and undergraduate levels. Both graduate and undergraduate students will perform research as part of the project.