Circuits over natural numbers are a mathematical model used in studying computational complexity theory. They are a special case of circuits. The object is a labeled directed acyclic graph the nodes of which evaluate to sets of natural numbers, the leaves are finite sets, and the gates are set operations or arithmetic operations.
As an algorithmic problem, the problem is to find if a given natural number is an element of the output node or if two circuits compute the same set. Decidability is still an open question.
A natural number circuit is a circuit, i.e. a labelled directed acyclic graph of in-degree at most 2. The nodes of in-degree 0, the leaves, are finite sets of natural numbers, the labels of the nodes of in-degree 1 are -, where
\overline{A}=\{x\inN|x\not\inA\}
A+B=\{a+b|a\inA,b\inB\}
A x B=\{a x b|a\inA,b\inB\}
The subset of circuits which do not use all of the possible labels are also studied.
One can ask:
For circuits which use all the labels, all these problems are equivalent.
The first problem is reducible to the second one, by taking the intersection of the output gate and n. Indeed, the new output get will be empty if and only if n was not an element of the former output gate.
The first problem is reducible to the third one, by asking if the node n is a subset of the output node.
The second problem is reducible to the first one, it suffices to multiply the output gate by 0, then 0 will be in the output gate if and only if the former output gate were not empty.
The third problem is reducible to the second one, checking if A is a subset of B is equivalent to ask if there is an element in
A\cap\overline{B}
Let O be a subset of, then we call MC(O) the problem of finding if a natural number is inside the output gate of a circuit the gates' labels of which are in O, and MF(O) the same problem with the added constraint that the circuit must be a tree.
One difficulty comes from the fact that the complement of a finite set is infinite, and a computer has got only a finite memory. But even without complementation, one can create double exponential numbers. Let
E0=\{2\},Ei+1=Ei x Ei
i
2i | |
E | |
i=\{2 |
\}
1\}=\{2 | |
E | |
0=\{2\}=\{2 |
20 | |
\}
Ei+1=Ei x
2i | |
E | |
i=\{2 |
2i | |
\} x \{2 |
2i | |
\}=\{(2 |
)2\}=\{2
2i x 2 | |
2i+1 | |
\}=\{2 |
\}
And even double exponential—sized sets: let
S0=\{0,1,2\},Si+1=(Si x Si)+Si
2i | |
\{x|0<x<2 |
\}\subsetSi
Si
2i | |
2 |
i
S0
2i+1 | |
x\in\{x|0<x<2 |
\}
x
2i | |
2 |
2i | |
x=2 |
x d+r
d,r<
2i | |
2 |
2i | |
2 |
,d
r
Si
x\in(Si x Si)+Si
These examples explains why addition and multiplication are enough to create problems of high complexity.
The membership problem asks if, given an element n and a circuit, n is in the output gate of the circuit.
When the class of authorized gates is restricted, the membership problem lies inside well known complexity classes. Note that the size variable here is the size of the circuit or tree; the value of n is assumed to be fixed.
scope=col | O | scope=col | MC(O) | scope=col | MF(O) |
---|---|---|---|---|---|
scope=row | ∪,∩,-,+,× | NEXPTIME-hardDecidable with an oracle for the halting problem | PSPACE-hard | ||
scope=row | ∪,∩,+,× | NEXPTIME-complete | NP-complete | ||
scope=row | ∪,+,× | PSPACE-complete | NP-complete | ||
scope=row | ∩,+,× | P-hard, in co-RP | in DLOGCFL | ||
scope=row | +,× | P-complete | in DLOGCFL | ||
scope=row | ∪,∩,-,+ | PSPACE-complete | PSPACE-complete | ||
scope=row | ∪,∩,+ | PSPACE-complete | NP-complete | ||
scope=row | ∪,+ | NP-complete | NP-complete | ||
scope=row | ∩,+ | C=L-complete | in L | ||
scope=row | + | C=L-complete | in L | ||
scope=row | ∪,∩,-,× | PSPACE-complete | PSPACE-complete | ||
scope=row | ∪,∩,× | PSPACE-complete | NP-complete | ||
scope=row | ∪,× | NP-complete | NP-complete | ||
scope=row | ∩,× | C=L-hard, in P | in L | ||
scope=row | × | NL-complete | in L | ||
scope=row | ∪,∩,- | P-complete | NC1-complete | ||
scope=row | ∪,∩ | P-complete | in NC1 | ||
scope=row | ∪ | NL-complete | in NC1 | ||
scope=row | ∩ | NL-complete | in NC1 |
The equivalence problem asks if, given two gates of a circuit, they evaluate to the same set.
When the class of authorized gates is restricted, the equivalence problem lies inside well known complexity classes. We call EC(O) and EF(O) the problem of equivalence over circuits and formulae the gates of which are in O.
scope=col | O | scope=col | EC(O) | scope=col | EF(O) |
---|---|---|---|---|---|
scope=row | ∪,∩,-,+,× | NEXPTIME-hardDecidable with an oracle for the halting problem | PSPACE-hardDecidable with an oracle for the halting problem | ||
scope=row | ∪,∩,+,× | NEXPTIME-hard, in coNEXPNP | ΠP2-complete | ||
scope=row | ∪,+,× | NEXPTIME-hard, in coNEXPNP | ΠP2-complete | ||
scope=row | ∩,+,× | P-hard, in BPP | P-hard, in BPP | ||
scope=row | +,× | P-hard, in BPP | P-hard, in coRP | ||
scope=row | ∪,∩,-,+ | PSPACE-complete | PSPACE-complete | ||
scope=row | ∪,∩,+ | PSPACE-complete | ΠP2-complete | ||
scope=row | ∪,+ | ΠP2-complete | ΠP2-complete | ||
scope=row | ∩,+ | coC=L(2)-complete | in L | ||
scope=row | + | C=L-complete | in L | ||
scope=row | ∪,∩,-,× | PSPACE-complete | PSPACE-complete | ||
scope=row | ∪,∩,× | PSPACE-complete | ΠP2-complete | ||
scope=row | ∪,× | ΠP2-complete | ΠP2-complete | ||
scope=row | ∩,× | coC=L(2)-hard, in P | in L | ||
scope=row | × | C=L-hard, in P | in L | ||
scope=row | ∪,∩,- | P-complete | NC1-complete | ||
scope=row | ∪,∩ | P-complete | NC1-complete | ||
scope=row | ∪ | NL-complete | in NC1 | ||
scope=row | ∩ | NL-complete | in NC1 |