Non-Uniform Computation
Still in preparation. Please check the references at the end of the document.
In the previous lecture, we introduced the concept of boolean circuits and formulas, and we showed that boolean circuits can efficiently simulate Turing machines. And in lecture 8, we have shown that families of boolean circuits (of exponential size) can even decide languages which are undecidable by Turing machines. Thus, we have seen that (families of) boolean circuits are a powerful model of computation.
Today we will discuss the model of computation arising from boolean circuits, which is denoted by non-uniform computation. This is a model of computation where the algorithm can depend on the input size.
Definition 1: Let $s : \mathbb{N} \to \mathbb{N}$ be a function. A language $L$ is in $\texttt{SIZE}(s)$ if $L$ is decided by a family of circuits $C := \{C_n\}_{n \in \mathbb{N}}$ such that $s_C = O(s)$.
Shannon’s theorem says that any language is in $\texttt{SIZE}(n \cdot 2^{n})$. However, as we discussed in lecture 8, most boolean functions require circuits of exponential size. Thus, an interesting complexity class, which is the non-uniform analogue of $\texttt{P}$, is given by the following definition.
Definition 2: $\texttt{P}_{/\texttt{poly}}$ is the class of languages $L$ that are decidable by a family of polynomial-size circuits. That is, $$ \texttt{P}_{/\texttt{poly}} := \bigcup_{c \in \mathbb{N}} \texttt{SIZE}(n^c). $$
As a corollary of Theorem 1 from the previous lecture, we have:
Corollary 1: $\texttt{P} \subseteq \texttt{P}_{/\texttt{poly}}$.
Thus, even though $\texttt{P}_{/\texttt{poly}}$ cannot compute all languages $L \subset \{0,1\}^*$, it can still decide undecidable languages, as the following corollary shows.
Corollary 2: The language $$ \texttt{UHALT} := \{ 1^n \mid \text{ the binary expansion of } n \text{ encodes a pair } \langle M, x \rangle \text{ such that } M \text{ halts on } x \} $$ is in $\texttt{P}_{/\texttt{poly}}$.
Acknowledgements & References
This lecture was based on these resources:
- Lecture notes by Prof. Eric Blais.
- [S13, Chapter 10.5]
- [AB09, Chapter 6]