Lecture 14: Boolean Circuits I Arijit Bishnu 17.04.2010 - - PowerPoint PPT Presentation

lecture 14 boolean circuits i
SMART_READER_LITE
LIVE PREVIEW

Lecture 14: Boolean Circuits I Arijit Bishnu 17.04.2010 - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

Lecture 14: Boolean Circuits I

Arijit Bishnu 17.04.2010

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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 simplified model of the silicon chips.

slide-5
SLIDE 5

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 simplified model of the silicon chips. A boolean circuit is a DAG formed of OR, AND and NOT

  • gates. How can it model the silicon chips which are not cyclic

and use cycles to implement memory?

slide-6
SLIDE 6

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 simplified model of the silicon chips. A boolean circuit is a DAG formed of OR, AND and NOT

  • gates. How can it model the silicon chips which are not cyclic

and use cycles to implement memory? Any computation that runs on a silicon chip using C gates and finishes in time T can be performed by a Boolean circuit

  • f size O(C · T).
slide-7
SLIDE 7

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 simplified model of the silicon chips. A boolean circuit is a DAG formed of OR, AND and NOT

  • gates. How can it model the silicon chips which are not cyclic

and use cycles to implement memory? Any computation that runs on a silicon chip using C gates and finishes in time T can be performed by a Boolean circuit

  • f size O(C · T).

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

slide-8
SLIDE 8

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 simplified model of the silicon chips. A boolean circuit is a DAG formed of OR, AND and NOT

  • gates. How can it model the silicon chips which are not cyclic

and use cycles to implement memory? Any computation that runs on a silicon chip using C gates and finishes in time T can be performed by a Boolean circuit

  • f size O(C · T).

Boolean circuits is a natural model for non-uniform computation as opposed to Turing machines. Mathematically simpler than TMs.

slide-9
SLIDE 9

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 simplified model of the silicon chips. A boolean circuit is a DAG formed of OR, AND and NOT

  • gates. How can it model the silicon chips which are not cyclic

and use cycles to implement memory? Any computation that runs on a silicon chip using C gates and finishes in time T can be performed by a Boolean circuit

  • f size O(C · T).

Boolean circuits is a natural model for non-uniform computation as opposed to Turing machines. Mathematically simpler than TMs. Proving lower bounds might be easier.

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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 a DAG with n sources and 1 sink. All non-source vertices are called gates and are labeled with one of ∧ (AND), ∨ (OR) and ¬ (NOT). The AND and OR gates have fan-in equal to 2 and the NOT gate has fan-in equal to 1. The size of the circuit C, denoted by |C|, is the number of vertices in it. If C is a boolean circuit, and x ∈ {0, 1}n is some input, then the

  • utput of C on x is denoted by C(x) and is defined in the usual

way.

slide-12
SLIDE 12

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 a sequence {Cn}n∈N of Boolean circuits, where Cn has n-inputs and a 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 circuit family {Cn}n∈N such that for every x ∈ {0, 1}n, x ∈ L ⇐ ⇒ Cn(x) = 1.

slide-13
SLIDE 13

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

Examples

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

slide-14
SLIDE 14

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example What about the language 2COLORABLE = {< G > | Graph G is 2-colorable}? Example What about the language INDSET = {< G, k > | Graph G has an independent set of size ≥ k}?

slide-15
SLIDE 15

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example What about the language 2COLORABLE = {< G > | Graph G is 2-colorable}? Example What about the language INDSET = {< G, k > | Graph G has an independent set of size ≥ k}? Example What about the language = {1n |n ∈ Z}?

slide-16
SLIDE 16

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

Examples

Example What about the language 2COLORABLE = {< G > | Graph G is 2-colorable}? Example What about the language INDSET = {< G, k > | Graph G has an 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}?

slide-17
SLIDE 17

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 function f : {0, 1}n → {0, 1} can be computed by a Boolean circuit of size n2n.

slide-18
SLIDE 18

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 function f : {0, 1}n → {0, 1} can be computed by a Boolean circuit of size n2n. So, “large-sized circuits” are not of much interest.

slide-19
SLIDE 19

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 function f : {0, 1}n → {0, 1} can be computed by a Boolean circuit of size n2n. So, “large-sized circuits” are not of much interest. Interesting complexity classes arise when we consider “small” circuits.

slide-20
SLIDE 20

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 function f : {0, 1}n → {0, 1} can be computed by a Boolean circuit of size 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 by polynomial-sized circuit families. That is, P/poly =

c SIZE(nc).

slide-21
SLIDE 21

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

P/poly and P

Does SAT ∈ P/poly?

slide-22
SLIDE 22

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/poly related?

slide-23
SLIDE 23

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/poly related?

slide-24
SLIDE 24

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/poly related? P and P/poly P ⊆ P/poly

slide-25
SLIDE 25

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/poly related? P and P/poly P ⊆ P/poly Proof

slide-26
SLIDE 26

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/poly related? 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) running in 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.

slide-27
SLIDE 27

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/poly related? 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) running in 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 every

  • ther TM using an amount of speed-up.
slide-28
SLIDE 28

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/poly related? 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) running in 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 every

  • ther TM using an amount of speed-up.

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

slide-29
SLIDE 29

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 symbols read by all heads.

slide-30
SLIDE 30

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 symbols read by all heads. We encode each snapshot zi by a O(1)-sized binary string as zi is independent of input.

slide-31
SLIDE 31

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 symbols read by all heads. We encode each snapshot zi by a O(1)-sized binary string as zi is independent of input. We can compute zi by knowing zi−1 and the snapshots zi1, zi2, . . . , zik where zij denotes the last step that M’s j-th head was in the same position as it is in the i-th step.

slide-32
SLIDE 32

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 symbols read by all heads. We encode each snapshot zi by a O(1)-sized binary string as zi is independent of input. We can compute zi by knowing zi−1 and the snapshots zi1, zi2, . . . , zik where zij denotes the last step that M’s j-th head was in the same position as it is in the i-th step. We have O(1) strings each of size O(1).

slide-33
SLIDE 33

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 symbols read by all heads. We encode each snapshot zi by a O(1)-sized binary string as zi is independent of input. We can compute zi by knowing zi−1 and the snapshots zi1, zi2, . . . , zik where zij denotes the last step that M’s j-th head 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 a constant-sized circuit.

slide-34
SLIDE 34

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 symbols read by all heads. We encode each snapshot zi by a O(1)-sized binary string as zi is independent of input. We can compute zi by knowing zi−1 and the snapshots zi1, zi2, . . . , zik where zij denotes the last step that M’s j-th head 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 a constant-sized circuit. Compose all the circuits to get a O(T(n))-sized circuit.

slide-35
SLIDE 35

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 size but can also be computed in polynomial time. Moreover, space requirement is only logarithmic as head positions need to be stored.

slide-36
SLIDE 36

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.

slide-37
SLIDE 37

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 AND gates; otherwise, it is the circuit that always outputs 0.

slide-38
SLIDE 38

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 AND gates; 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}.

slide-39
SLIDE 39

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 AND gates; 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.

slide-40
SLIDE 40

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 AND gates; 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.

slide-41
SLIDE 41

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 AND gates; 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.

slide-42
SLIDE 42

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 the definition of the class that allows even undecidable languages?

slide-43
SLIDE 43

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 the definition of the class that allows even undecidable languages? A language L ∈ P/poly if ∃ a circuit family; we do not even need to construct it!!

slide-44
SLIDE 44

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

slide-45
SLIDE 45

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 an efficient TM.

slide-46
SLIDE 46

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 an efficient TM. Definition: P-uniform Circuit Families A circuit family {Cn} is P-uniform if there is a poly-time TM that

  • n input 1n outputs the description of the circuit Cn.
slide-47
SLIDE 47

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 an efficient TM. Definition: P-uniform Circuit Families A circuit family {Cn} is P-uniform if there is a poly-time TM that

  • n input 1n outputs the description of the circuit Cn.

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

slide-48
SLIDE 48

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 an efficient TM. Definition: P-uniform Circuit Families A circuit family {Cn} is P-uniform if there is a poly-time TM that

  • n 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.

slide-49
SLIDE 49

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

The Proof

The Proof of the Theorem (if part)

slide-50
SLIDE 50

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 is generated by a poly-time TM M.

slide-51
SLIDE 51

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 is generated by a poly-time TM M. We now design a poly-time TM M′ that works as follows:

slide-52
SLIDE 52

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 is generated 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|.

slide-53
SLIDE 53

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 is generated 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.

slide-54
SLIDE 54

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 is generated 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)

slide-55
SLIDE 55

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 is generated 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 is constructive and generates a circuit family that is P-uniform.

slide-56
SLIDE 56

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 implicitly logspace computable function mapping 1n to the description of the circuit Cn.

slide-57
SLIDE 57

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 implicitly logspace computable function mapping 1n to the description of the circuit Cn. Theorem A language L has logspace-uniform circuits of polynomial size iff L ∈ P.

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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.

slide-60
SLIDE 60

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)

slide-61
SLIDE 61

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′

slide-62
SLIDE 62

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 bit

  • f advice. The advice string for inputs of length n is the single bit

indicating whether or not 1n is in the language.

slide-63
SLIDE 63

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.

slide-64
SLIDE 64

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)

slide-65
SLIDE 65

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.

slide-66
SLIDE 66

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 language L′ ∈ P. We know from earlier theorem that L′ has polynomial size circuits, say {C1, C2, . . .}.

slide-67
SLIDE 67

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 language L′ ∈ P. We know from earlier theorem that L′ has polynomial size circuits, say {C1, C2, . . .}. Obtain the circuits {C ′

1, C ′ 2, . . .} as follows:

slide-68
SLIDE 68

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 language L′ ∈ P. We know from earlier theorem that L′ has polynomial size 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.

slide-69
SLIDE 69

Introduction Boolean Circuits and P

/poly

Uniformly Generated Circuits Turing Machines that take Advice

Turing Machines that take Advice

Proof (only if part)

slide-70
SLIDE 70

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.

slide-71
SLIDE 71

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.