Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... ·...

71
Introduction Boolean Circuits and P /poly Uniformly Generated Circuits Turing Machines that take Advice Lecture 14: Boolean Circuits I Arijit Bishnu 17.04.2010

Transcript of Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... ·...

Page 1: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Lecture 14: Boolean Circuits I

Arijit Bishnu

17.04.2010

Page 2: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Outline

1 Introduction

2 Boolean Circuits and P/poly

3 Uniformly Generated Circuits

4 Turing Machines that take Advice

Page 3: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Outline

1 Introduction

2 Boolean Circuits and P/poly

3 Uniformly Generated Circuits

4 Turing Machines that take Advice

Page 4: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

It is a generalization of Boolean formulas and a simplifiedmodel of the silicon chips.

A boolean circuit is a DAG formed of OR, AND and NOTgates. How can it model the silicon chips which are not cyclicand use cycles to implement memory?

Any computation that runs on a silicon chip using C gatesand finishes in time T can be performed by a Boolean circuitof size O(C · T ).

Boolean circuits is a natural model for non-uniformcomputation as opposed to Turing machines.

Mathematically simpler than TMs.

Proving lower bounds might be easier.

Page 5: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

It is a generalization of Boolean formulas and a simplifiedmodel of the silicon chips.

A boolean circuit is a DAG formed of OR, AND and NOTgates. How can it model the silicon chips which are not cyclicand use cycles to implement memory?

Any computation that runs on a silicon chip using C gatesand finishes in time T can be performed by a Boolean circuitof size O(C · T ).

Boolean circuits is a natural model for non-uniformcomputation as opposed to Turing machines.

Mathematically simpler than TMs.

Proving lower bounds might be easier.

Page 6: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

It is a generalization of Boolean formulas and a simplifiedmodel of the silicon chips.

A boolean circuit is a DAG formed of OR, AND and NOTgates. How can it model the silicon chips which are not cyclicand use cycles to implement memory?

Any computation that runs on a silicon chip using C gatesand finishes in time T can be performed by a Boolean circuitof size O(C · T ).

Boolean circuits is a natural model for non-uniformcomputation as opposed to Turing machines.

Mathematically simpler than TMs.

Proving lower bounds might be easier.

Page 7: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

It is a generalization of Boolean formulas and a simplifiedmodel of the silicon chips.

A boolean circuit is a DAG formed of OR, AND and NOTgates. How can it model the silicon chips which are not cyclicand use cycles to implement memory?

Any computation that runs on a silicon chip using C gatesand finishes in time T can be performed by a Boolean circuitof size O(C · T ).

Boolean circuits is a natural model for non-uniformcomputation as opposed to Turing machines.

Mathematically simpler than TMs.

Proving lower bounds might be easier.

Page 8: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

It is a generalization of Boolean formulas and a simplifiedmodel of the silicon chips.

A boolean circuit is a DAG formed of OR, AND and NOTgates. How can it model the silicon chips which are not cyclicand use cycles to implement memory?

Any computation that runs on a silicon chip using C gatesand finishes in time T can be performed by a Boolean circuitof size O(C · T ).

Boolean circuits is a natural model for non-uniformcomputation as opposed to Turing machines.

Mathematically simpler than TMs.

Proving lower bounds might be easier.

Page 9: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

It is a generalization of Boolean formulas and a simplifiedmodel of the silicon chips.

A boolean circuit is a DAG formed of OR, AND and NOTgates. How can it model the silicon chips which are not cyclicand use cycles to implement memory?

Any computation that runs on a silicon chip using C gatesand finishes in time T can be performed by a Boolean circuitof size O(C · T ).

Boolean circuits is a natural model for non-uniformcomputation as opposed to Turing machines.

Mathematically simpler than TMs.

Proving lower bounds might be easier.

Page 10: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Outline

1 Introduction

2 Boolean Circuits and P/poly

3 Uniformly Generated Circuits

4 Turing Machines that take Advice

Page 11: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Boolean Circuits

Definition (Boolean Circuits)

For every n ∈ N, an n-input, single-output Boolean circuit is aDAG with n sources and 1 sink. All non-source vertices are calledgates and are labeled with one of ∧ (AND), ∨ (OR) and ¬ (NOT).The AND and OR gates have fan-in equal to 2 and the NOT gatehas fan-in equal to 1. The size of the circuit C , denoted by |C |, isthe number of vertices in it.

If C is a boolean circuit, and x ∈ {0, 1}n is some input, then theoutput of C on x is denoted by C (x) and is defined in the usualway.

Page 12: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Circuit Families and Language Recognition

Definition: Circuit Families and Language Recognition

Let T : N→ N be a function. A T (n)-size circuit family is asequence {Cn}n∈N of Boolean circuits, where Cn has n-inputs anda single output, and its size |Cn| ≤ T (n) for every n.

We say that a language L is in SIZE(T (n)) if ∃ a T (n)-size circuitfamily {Cn}n∈N such that for every x ∈ {0, 1}n,x ∈ L ⇐⇒ Cn(x) = 1.

Page 13: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example

What about the language 2COLORABLE = {< G > | Graph G is2-colorable}?

Example

What about the language INDSET = {< G , k > | Graph G hasan independent set of size ≥ k}?

Example

What about the language = {1n |n ∈ Z}?

Example

What about the language {< m, n, m + n > | m, n ∈ Z}?

Page 14: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example

What about the language 2COLORABLE = {< G > | Graph G is2-colorable}?

Example

What about the language INDSET = {< G , k > | Graph G hasan independent set of size ≥ k}?

Example

What about the language = {1n |n ∈ Z}?

Example

What about the language {< m, n, m + n > | m, n ∈ Z}?

Page 15: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example

What about the language 2COLORABLE = {< G > | Graph G is2-colorable}?

Example

What about the language INDSET = {< G , k > | Graph G hasan independent set of size ≥ k}?

Example

What about the language = {1n |n ∈ Z}?

Example

What about the language {< m, n, m + n > | m, n ∈ Z}?

Page 16: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example

What about the language 2COLORABLE = {< G > | Graph G is2-colorable}?

Example

What about the language INDSET = {< G , k > | Graph G hasan independent set of size ≥ k}?

Example

What about the language = {1n |n ∈ Z}?

Example

What about the language {< m, n, m + n > | m, n ∈ Z}?

Page 17: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Definition of a New Class

We know by now that any Boolean functionf : {0, 1}n → {0, 1} can be computed by a Boolean circuit ofsize n2n.

So, “large-sized circuits” are not of much interest.

Interesting complexity classes arise when we consider “small”circuits.

Definition: The Class P/poly

P/poly is the class of languages that are decidable bypolynomial-sized circuit families. That is, P/poly =

⋃c SIZE(nc).

Page 18: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Definition of a New Class

We know by now that any Boolean functionf : {0, 1}n → {0, 1} can be computed by a Boolean circuit ofsize n2n.

So, “large-sized circuits” are not of much interest.

Interesting complexity classes arise when we consider “small”circuits.

Definition: The Class P/poly

P/poly is the class of languages that are decidable bypolynomial-sized circuit families. That is, P/poly =

⋃c SIZE(nc).

Page 19: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Definition of a New Class

We know by now that any Boolean functionf : {0, 1}n → {0, 1} can be computed by a Boolean circuit ofsize n2n.

So, “large-sized circuits” are not of much interest.

Interesting complexity classes arise when we consider “small”circuits.

Definition: The Class P/poly

P/poly is the class of languages that are decidable bypolynomial-sized circuit families. That is, P/poly =

⋃c SIZE(nc).

Page 20: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Definition of a New Class

We know by now that any Boolean functionf : {0, 1}n → {0, 1} can be computed by a Boolean circuit ofsize n2n.

So, “large-sized circuits” are not of much interest.

Interesting complexity classes arise when we consider “small”circuits.

Definition: The Class P/poly

P/poly is the class of languages that are decidable bypolynomial-sized circuit families. That is, P/poly =

⋃c SIZE(nc).

Page 21: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 22: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 23: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 24: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 25: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 26: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 27: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 28: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

We believe SAT /∈ P/poly. Then, how are P and P/polyrelated?

P and P/poly

P ⊆ P/poly

Proof

The proof basically shows that for every oblivious TM M(whose head movement is independent of the input) runningin T (n)-time, there exists an O(T (n))-sized circuit family{Cn}n∈N such that Cn(x) = M(x) for every x ∈ {0, 1}n.

We already know that an oblivious TM can simulate everyother TM using an amount of speed-up.

This proof also gives the poly-sized circuit in poly-time.

Page 29: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

Take snapshots z1, . . . , zT (n) of the oblivious k-tape TM.z1, . . . , zT (n) depends only on machine’s states and symbolsread by all heads.

We encode each snapshot zi by a O(1)-sized binary string aszi is independent of input.

We can compute zi by knowing zi−1 and the snapshotszi1 , zi2 , . . . , zik where zij denotes the last step that M’s j-thhead was in the same position as it is in the i-th step.

We have O(1) strings each of size O(1).

So, we can compute zi from previous snapshots using aconstant-sized circuit.

Compose all the circuits to get a O(T (n))-sized circuit.

Page 30: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

Take snapshots z1, . . . , zT (n) of the oblivious k-tape TM.z1, . . . , zT (n) depends only on machine’s states and symbolsread by all heads.

We encode each snapshot zi by a O(1)-sized binary string aszi is independent of input.

We can compute zi by knowing zi−1 and the snapshotszi1 , zi2 , . . . , zik where zij denotes the last step that M’s j-thhead was in the same position as it is in the i-th step.

We have O(1) strings each of size O(1).

So, we can compute zi from previous snapshots using aconstant-sized circuit.

Compose all the circuits to get a O(T (n))-sized circuit.

Page 31: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

Take snapshots z1, . . . , zT (n) of the oblivious k-tape TM.z1, . . . , zT (n) depends only on machine’s states and symbolsread by all heads.

We encode each snapshot zi by a O(1)-sized binary string aszi is independent of input.

We can compute zi by knowing zi−1 and the snapshotszi1 , zi2 , . . . , zik where zij denotes the last step that M’s j-thhead was in the same position as it is in the i-th step.

We have O(1) strings each of size O(1).

So, we can compute zi from previous snapshots using aconstant-sized circuit.

Compose all the circuits to get a O(T (n))-sized circuit.

Page 32: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

Take snapshots z1, . . . , zT (n) of the oblivious k-tape TM.z1, . . . , zT (n) depends only on machine’s states and symbolsread by all heads.

We encode each snapshot zi by a O(1)-sized binary string aszi is independent of input.

We can compute zi by knowing zi−1 and the snapshotszi1 , zi2 , . . . , zik where zij denotes the last step that M’s j-thhead was in the same position as it is in the i-th step.

We have O(1) strings each of size O(1).

So, we can compute zi from previous snapshots using aconstant-sized circuit.

Compose all the circuits to get a O(T (n))-sized circuit.

Page 33: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

Take snapshots z1, . . . , zT (n) of the oblivious k-tape TM.z1, . . . , zT (n) depends only on machine’s states and symbolsread by all heads.

We encode each snapshot zi by a O(1)-sized binary string aszi is independent of input.

We can compute zi by knowing zi−1 and the snapshotszi1 , zi2 , . . . , zik where zij denotes the last step that M’s j-thhead was in the same position as it is in the i-th step.

We have O(1) strings each of size O(1).

So, we can compute zi from previous snapshots using aconstant-sized circuit.

Compose all the circuits to get a O(T (n))-sized circuit.

Page 34: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

Take snapshots z1, . . . , zT (n) of the oblivious k-tape TM.z1, . . . , zT (n) depends only on machine’s states and symbolsread by all heads.

We encode each snapshot zi by a O(1)-sized binary string aszi is independent of input.

We can compute zi by knowing zi−1 and the snapshotszi1 , zi2 , . . . , zik where zij denotes the last step that M’s j-thhead was in the same position as it is in the i-th step.

We have O(1) strings each of size O(1).

So, we can compute zi from previous snapshots using aconstant-sized circuit.

Compose all the circuits to get a O(T (n))-sized circuit.

Page 35: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

A Remark about the Proof

Remark

The circuit of the above Theorem is not only of polynomial sizebut can also be computed in polynomial time. Moreover, spacerequirement is only logarithmic as head positions need to be stored.

Page 36: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Claim

Let L ⊆ {0, 1}∗ be a unary language, i.e. L ⊆ {1n | n ∈ N}. Then,L ∈ P/poly.

Proof

If 1n ∈ L, then the circuit for inputs of size n is a tree of ANDgates; otherwise, it is the circuit that always outputs 0.

Unary version of the Halting Problem

UHALT = {1n | n′s binary expansion encodes a pair < M, x > s.t.M halts on input x}.

The above language is undecidable and hence is not in P.

But, UHALT being a unary language belongs to P/poly.

So, P ⊂ P/poly, i.e. the inclusion is proper.

Page 37: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Claim

Let L ⊆ {0, 1}∗ be a unary language, i.e. L ⊆ {1n | n ∈ N}. Then,L ∈ P/poly.

Proof

If 1n ∈ L, then the circuit for inputs of size n is a tree of ANDgates; otherwise, it is the circuit that always outputs 0.

Unary version of the Halting Problem

UHALT = {1n | n′s binary expansion encodes a pair < M, x > s.t.M halts on input x}.

The above language is undecidable and hence is not in P.

But, UHALT being a unary language belongs to P/poly.

So, P ⊂ P/poly, i.e. the inclusion is proper.

Page 38: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Claim

Let L ⊆ {0, 1}∗ be a unary language, i.e. L ⊆ {1n | n ∈ N}. Then,L ∈ P/poly.

Proof

If 1n ∈ L, then the circuit for inputs of size n is a tree of ANDgates; otherwise, it is the circuit that always outputs 0.

Unary version of the Halting Problem

UHALT = {1n | n′s binary expansion encodes a pair < M, x > s.t.M halts on input x}.

The above language is undecidable and hence is not in P.

But, UHALT being a unary language belongs to P/poly.

So, P ⊂ P/poly, i.e. the inclusion is proper.

Page 39: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Claim

Let L ⊆ {0, 1}∗ be a unary language, i.e. L ⊆ {1n | n ∈ N}. Then,L ∈ P/poly.

Proof

If 1n ∈ L, then the circuit for inputs of size n is a tree of ANDgates; otherwise, it is the circuit that always outputs 0.

Unary version of the Halting Problem

UHALT = {1n | n′s binary expansion encodes a pair < M, x > s.t.M halts on input x}.

The above language is undecidable and hence is not in P.

But, UHALT being a unary language belongs to P/poly.

So, P ⊂ P/poly, i.e. the inclusion is proper.

Page 40: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Claim

Let L ⊆ {0, 1}∗ be a unary language, i.e. L ⊆ {1n | n ∈ N}. Then,L ∈ P/poly.

Proof

If 1n ∈ L, then the circuit for inputs of size n is a tree of ANDgates; otherwise, it is the circuit that always outputs 0.

Unary version of the Halting Problem

UHALT = {1n | n′s binary expansion encodes a pair < M, x > s.t.M halts on input x}.

The above language is undecidable and hence is not in P.

But, UHALT being a unary language belongs to P/poly.

So, P ⊂ P/poly, i.e. the inclusion is proper.

Page 41: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Claim

Let L ⊆ {0, 1}∗ be a unary language, i.e. L ⊆ {1n | n ∈ N}. Then,L ∈ P/poly.

Proof

If 1n ∈ L, then the circuit for inputs of size n is a tree of ANDgates; otherwise, it is the circuit that always outputs 0.

Unary version of the Halting Problem

UHALT = {1n | n′s binary expansion encodes a pair < M, x > s.t.M halts on input x}.

The above language is undecidable and hence is not in P.

But, UHALT being a unary language belongs to P/poly.

So, P ⊂ P/poly, i.e. the inclusion is proper.

Page 42: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly is Awkward!

P/poly contains even undecidable languages. What is it in thedefinition of the class that allows even undecidable languages?

A language L ∈ P/poly if ∃ a circuit family; we do not evenneed to construct it!!

Page 43: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

P/poly is Awkward!

P/poly contains even undecidable languages. What is it in thedefinition of the class that allows even undecidable languages?

A language L ∈ P/poly if ∃ a circuit family; we do not evenneed to construct it!!

Page 44: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Outline

1 Introduction

2 Boolean Circuits and P/poly

3 Uniformly Generated Circuits

4 Turing Machines that take Advice

Page 45: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Uniformly Generated Circuits

We restrict our attention to circuits that can be built by anefficient TM.

Definition: P-uniform Circuit Families

A circuit family {Cn} is P-uniform if there is a poly-time TM thaton input 1n outputs the description of the circuit Cn.

What happens when we restrict circuits to be P-uniform.

Theorem

A language L is computable by a P-uniform circuit family iff L ∈ P.

Page 46: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Uniformly Generated Circuits

We restrict our attention to circuits that can be built by anefficient TM.

Definition: P-uniform Circuit Families

A circuit family {Cn} is P-uniform if there is a poly-time TM thaton input 1n outputs the description of the circuit Cn.

What happens when we restrict circuits to be P-uniform.

Theorem

A language L is computable by a P-uniform circuit family iff L ∈ P.

Page 47: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Uniformly Generated Circuits

We restrict our attention to circuits that can be built by anefficient TM.

Definition: P-uniform Circuit Families

A circuit family {Cn} is P-uniform if there is a poly-time TM thaton input 1n outputs the description of the circuit Cn.

What happens when we restrict circuits to be P-uniform.

Theorem

A language L is computable by a P-uniform circuit family iff L ∈ P.

Page 48: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Uniformly Generated Circuits

We restrict our attention to circuits that can be built by anefficient TM.

Definition: P-uniform Circuit Families

A circuit family {Cn} is P-uniform if there is a poly-time TM thaton input 1n outputs the description of the circuit Cn.

What happens when we restrict circuits to be P-uniform.

Theorem

A language L is computable by a P-uniform circuit family iff L ∈ P.

Page 49: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 50: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 51: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 52: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.

M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 53: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 54: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 55: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

Assume L is computable by a circuit family {Cn} that isgenerated by a poly-time TM M.

We now design a poly-time TM M ′ that works as follows:

On input x , M ′ runs M(1|x|) to obtain the circuit C|x|.M ′ evaluates C|x| on x .

The Proof of the Theorem (only if part)

The proof of P ⊆ P/poly can be used as the proof isconstructive and generates a circuit family that is P-uniform.

Page 56: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Logspace-uniform families

Definition: Logspace-uniform Circuit Families

A circuit family {Cn} is logspace-uniform if there is an implicitlylogspace computable function mapping 1n to the description of thecircuit Cn.

Theorem

A language L has logspace-uniform circuits of polynomial size iffL ∈ P.

Page 57: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Logspace-uniform families

Definition: Logspace-uniform Circuit Families

A circuit family {Cn} is logspace-uniform if there is an implicitlylogspace computable function mapping 1n to the description of thecircuit Cn.

Theorem

A language L has logspace-uniform circuits of polynomial size iffL ∈ P.

Page 58: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Outline

1 Introduction

2 Boolean Circuits and P/poly

3 Uniformly Generated Circuits

4 Turing Machines that take Advice

Page 59: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Definition

We say that a language L ∈ P/poly if ∃ a sequence of advice{a1, a2, . . .} ⊆ {0, 1}∗, a polynomial p(n) and a language L′ ∈ P,s.t.

∀n ∈ N, |an| ≤ p(n)

∀x ∈ {0, 1}∗ x ∈ L ⇐⇒ < x , a|x | >∈ L′

Example

Every unary language can be decided by a poly-time TM with 1 bitof advice. The advice string for inputs of length n is the single bitindicating whether or not 1n is in the language.

Page 60: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Definition

We say that a language L ∈ P/poly if ∃ a sequence of advice{a1, a2, . . .} ⊆ {0, 1}∗, a polynomial p(n) and a language L′ ∈ P,s.t.

∀n ∈ N, |an| ≤ p(n)

∀x ∈ {0, 1}∗ x ∈ L ⇐⇒ < x , a|x | >∈ L′

Example

Every unary language can be decided by a poly-time TM with 1 bitof advice. The advice string for inputs of length n is the single bitindicating whether or not 1n is in the language.

Page 61: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Definition

We say that a language L ∈ P/poly if ∃ a sequence of advice{a1, a2, . . .} ⊆ {0, 1}∗, a polynomial p(n) and a language L′ ∈ P,s.t.

∀n ∈ N, |an| ≤ p(n)

∀x ∈ {0, 1}∗ x ∈ L ⇐⇒ < x , a|x | >∈ L′

Example

Every unary language can be decided by a poly-time TM with 1 bitof advice. The advice string for inputs of length n is the single bitindicating whether or not 1n is in the language.

Page 62: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Definition

We say that a language L ∈ P/poly if ∃ a sequence of advice{a1, a2, . . .} ⊆ {0, 1}∗, a polynomial p(n) and a language L′ ∈ P,s.t.

∀n ∈ N, |an| ≤ p(n)

∀x ∈ {0, 1}∗ x ∈ L ⇐⇒ < x , a|x | >∈ L′

Example

Every unary language can be decided by a poly-time TM with 1 bitof advice. The advice string for inputs of length n is the single bitindicating whether or not 1n is in the language.

Page 63: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Theorem

L ∈ P/poly iff L has polynomial size circuits.

Proof (if part)

Suppose L ∈ P/poly. We follow the definition.

There exists a sequence of advice {a1, a2, . . .} and a languageL′ ∈ P. We know from earlier theorem that L′ has polynomialsize circuits, say {C1, C2, . . .}.Obtain the circuits {C ′1, C ′2, . . .} as follows:

C ′i is obtained from Ci+|ai | by presetting the advice ai .

Page 64: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Theorem

L ∈ P/poly iff L has polynomial size circuits.

Proof (if part)

Suppose L ∈ P/poly. We follow the definition.

There exists a sequence of advice {a1, a2, . . .} and a languageL′ ∈ P. We know from earlier theorem that L′ has polynomialsize circuits, say {C1, C2, . . .}.Obtain the circuits {C ′1, C ′2, . . .} as follows:

C ′i is obtained from Ci+|ai | by presetting the advice ai .

Page 65: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Theorem

L ∈ P/poly iff L has polynomial size circuits.

Proof (if part)

Suppose L ∈ P/poly. We follow the definition.

There exists a sequence of advice {a1, a2, . . .} and a languageL′ ∈ P. We know from earlier theorem that L′ has polynomialsize circuits, say {C1, C2, . . .}.Obtain the circuits {C ′1, C ′2, . . .} as follows:

C ′i is obtained from Ci+|ai | by presetting the advice ai .

Page 66: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Theorem

L ∈ P/poly iff L has polynomial size circuits.

Proof (if part)

Suppose L ∈ P/poly. We follow the definition.

There exists a sequence of advice {a1, a2, . . .} and a languageL′ ∈ P. We know from earlier theorem that L′ has polynomialsize circuits, say {C1, C2, . . .}.

Obtain the circuits {C ′1, C ′2, . . .} as follows:

C ′i is obtained from Ci+|ai | by presetting the advice ai .

Page 67: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Theorem

L ∈ P/poly iff L has polynomial size circuits.

Proof (if part)

Suppose L ∈ P/poly. We follow the definition.

There exists a sequence of advice {a1, a2, . . .} and a languageL′ ∈ P. We know from earlier theorem that L′ has polynomialsize circuits, say {C1, C2, . . .}.Obtain the circuits {C ′1, C ′2, . . .} as follows:

C ′i is obtained from Ci+|ai | by presetting the advice ai .

Page 68: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Theorem

L ∈ P/poly iff L has polynomial size circuits.

Proof (if part)

Suppose L ∈ P/poly. We follow the definition.

There exists a sequence of advice {a1, a2, . . .} and a languageL′ ∈ P. We know from earlier theorem that L′ has polynomialsize circuits, say {C1, C2, . . .}.Obtain the circuits {C ′1, C ′2, . . .} as follows:

C ′i is obtained from Ci+|ai | by presetting the advice ai .

Page 69: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Proof (only if part)

We encode the polynomial size circuits for L as advice.

A poly-size circuit can be evaluated on any input efficiently.So, this encoding constitutes a valid advice sequence.

Page 70: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Proof (only if part)

We encode the polynomial size circuits for L as advice.

A poly-size circuit can be evaluated on any input efficiently.So, this encoding constitutes a valid advice sequence.

Page 71: Lecture 14: Boolean Circuits Iarijit/courses/spring2010/slides/complexityl... · IntroductionBoolean Circuits and P =poly Uniformly Generated CircuitsTuring Machines that take Advice

Introduction Boolean Circuits and P/poly Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Proof (only if part)

We encode the polynomial size circuits for L as advice.

A poly-size circuit can be evaluated on any input efficiently.So, this encoding constitutes a valid advice sequence.