# What complexity class is this ciruit problem?

I'm exploring an algorithm that solves k-SAT. It uses a ton of preprocessing, so I'm thinking that this will be a circuit bounds.

Without knowing the runtime, I speculate on how quickly it will solve k-SAT instances. It will either solve all instances of k-SAT with probability $p$, or it won't be able to solve any instances. The runtime is based on $p$. Essentially, it runs in quasi-polynomial time.

So essentially, what we have is an algorithm that runs in time $2^{O((\log{n})^{c_1})}\cdot O(c_2 + q)$, and solves all instances with probability $\frac{2^q-1}{2^q}$, or it can't solve any instances. Here, $c_1$ and $c_2$ are constants.

It also requires space polynomial in $q$.

I'm trying to find what complexity class this is, and what is known about it.

SOME NOTES

Just to ensure I've described this correctly, I have an algorithm that either solves all instances, or it can't solve any. We can say it uses $2^{2^n}$ preprocessing. Then, it runs in time that is quasi-polynomial multiplied by a function of $q$.

THE QUESTION, AGAIN

What complexity class is this, and what is known about it?

• Your terminology is a bit off. You write, "which complexity class is this?", but you don't seem to be defining one. You talk about algorithms, but problems go into complexity classes. Also, what exactly is your random experiment? Picking an algorithm (from which class?) at random? – Raphael Nov 20 '14 at 19:01
• @Raphael: Sorry, I'll try to explain. I'm really talking about a k-SAT algorithm, and I'm trying to find how to describe it in terms of things like complexity classes, but I guess I need a different way to describe it. The algorithm uses a data structure to help it solve the k-SAT problem, which it can either solve all instances for a particular $n$ variables, $m$ clauses, and $k$, or none at all. It can solve everything with probability $p^\alpha, p>1/2$, and the time and space requirements grow linearly with $\alpha$. I was trying to find if this is a new result, which it seems to be. – Matt Groff Nov 20 '14 at 19:15
• @Raphael: The random experiment is picking some additional values at random, to add to the data structure, which helps it to solve all problems (in the k-SAT problem class with a given $n$ and $m$) with increased probability. – Matt Groff Nov 20 '14 at 19:33
• Increasing $\alpha$ makes that result increasingly useless. $\:$ What's more interesting is how $\hspace{1.24 in}$ the resource requirements grow as $\alpha$ goes to zero. $\:$ If that growth rate is slow enough, $\hspace{1.06 in}$ then your algorithm may place k-SAT in QP/quasipoly. $\;\;\;\;$ – user12859 Nov 21 '14 at 1:54
• @RickyDemer: Sorry, I wrote those comments in haste - it should be with probability $(1-p)^\alpha, p<1/2$. What I'm trying to convey is that, from what I understand, with high probability, we can find a circuit that solves all instances of k-SAT with given $m$ and $n$ in pseudopolynomial time and space. Wouldn't these circuits be significant results? – Matt Groff Nov 21 '14 at 2:04

Assuming that the probability is over the randomized preprocessing and $p > 0$, by fixing the correct random choice you get a circuit of size $S = O(2^{\log^{O(1)} n} q^{O(1)})$ for $k$-SAT. The corresponding complexity class is non-uniform circuits of size $S$. If, for example, $q$ is quasipolynomial ($2^{\log^{O(1)}n}$), the you get a non-uniform circuit of quasipolynomial size.