Complexity. 13-1. Hierarchy Theorem. Complexity Andrei Bulatov. Complexity. For a language L over an alphabet , we denote the complement of L , the language * - L. Definition The class of languages L such that can be solved by a
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
For a language L over an alphabet , we denote the complement
of L, the language * -L
Definition
The class of languages L such that can be solved by a
non-deterministic log-space Turing machine verifier is called
coNL
13-2
NL and coNL
Theorem (Immerman)
NL=coNL
13-3
Proof
The properties of NL and coNL are similar to those of NP and coNP:
Reachability is NL-complete.
Therefore it is enough to show that No-Reachability is in NL.
In order to do this, we have to find a non-deterministic algorithm that proves in log-space that there is a path between two specified vertices in a graph
Let be the set of all vertices connected to s with a path of length at most i, and
Clearly, , and
We compute the numbers inductively
13-4
Counting the number of reachable vertices
Given a graph G andtwo its vertices s and t;
let n be the number of vertices of G
First, we count the number c of vertices reachable from s
Suppose is known. The following algorithm non-deterministically either compute or reject
- check whether or not using non-deterministic walk
- if there is the edge (w,v) then set
and leave the loop
13-5
- if not then reject
- if yes then set m = m – 1
13-6
Checking Reachability
Given G, s, t and c
- check whether or not v is reachable from s using
non-deterministic walk
- if not then reject
- if yes then set m = m – 1
- if v = t then reject
13-7
Complexity Classes
We know a number of complexity classes and we how they relate each other
L NL P NP , coNP PSPACE
However, we do not know if any of them are different
Questions P NP and L NL concern the (possible) difference between determinism and nondeterminism and known to be extremely difficult
Complexity classes can be distinguished using another parameter:
The amount of time/space available
Definition
A function f:N N, where f(n) log n, is called space
constructable, if the function that maps to the binary
representation of f(n) is computable in space O(f(n)).
13-8
Space Constructable Functions
Examples
13-9
Hierarchy Theorem
Theorem
For any space constructable function f:N N, there exists
a language L that is decidable in space O(f(n)), but not in
space o(f(n)).
Corollary
If f(n) and g(n) are space constructable functions, and
f(n) = o(g(n)), then SPACE[f] SPACE[g]
Corollary
LPSPACE
Corollary
NLPSPACE
13-10
Proof Idea
Diagonalization Method:
In our case, a contradiction can be with the claim that something is computable within o(f(n))
Let L = {“M” | M does not accept “M” in f(n) space}
13-11
If M decides L in space f(n) then what can we say about M(“M”)?
There are problems
L = {“M ” | simulation ofM on a UTM does not accept “M ”
in f(n) space}
13-12
Proof
In order to kick in asymptotics, change the language
The following algorithm decides L in O(f(n))
On input x
13-13
Clearly, this algorithm works in O(f(n)) space
The key stage is the simulation of M
Our algorithm simulates M with some loss of efficiency, because the alphabet of M can be arbitrary.
If M works in g(n) space then our algorithm simulates M using bg(n) space, where b is a constant factor depending on M
Thus, bg(n) f(n)
There is such that for all inputs x with we have
Consider
Since , the simulation of M either accepts or rejects on
this input in space f(n)
13-14
Suppose that there exists a TM M deciding L in space g(n) =o(f(n))
We can simulate M using bg(n) space
Theorem
For any time constructable function f:N N, there exists
a language L that is decidable in time O(f(n)), but not in
time .
Corollary
If f(n) and g(n) are space constructable functions, and
, then TIME[f] TIME[g]
13-15
Time Hierarchy Theorem