CS代考计算机代写 Java python algorithm BU CS 332 – Theory of Computation

BU CS 332 – Theory of Computation
Lecture 12:
• TM Variants
Reading:
Sipser Ch 3.2, 4.1
• Decidable Languages
Mark Bun March 4, 2020

Recognizers vs. Deciders
• •
in state
􏶧􏶨􏶨􏶩􏶍􏶪 􏶫􏶩􏶬􏶩􏶨􏶪 OR
• •
halts on
in state in state
􏶧􏶨􏶨􏶩􏶍􏶪 􏶫􏶩􏶬􏶩􏶨􏶪
the set of all strings which accepts
is Turing‐recognizable if halts on halts on
for some TM :
is (Turing‐)decidable if halts on
for some TM
3/4/2020
CS332 ‐ Theory of Computation 2
in state runs forever
which halts on every input

TM Variants
3/4/2020 CS332 ‐ Theory of Computation 3

Extensions that do not increase the power of
the TM model
• TMs with a 2‐way infinite tape, unbounded left to right Input
Tape …𝑎𝑏𝑎 …
Proof that TMs with 2‐way infinite tapes are no more
powerful:
Simulation: Convert any TM with 2‐way infinite tape into
a 1‐way infinite TM with a “two‐track tape”
3/4/2020 CS332 ‐ Theory of Computation 4

Formalizing the Simulation
􏶄􏶄􏶄􏶄􏶄􏶄􏶄
􏵹 􏶧􏶨􏶨􏶩􏶍􏶪 􏶫􏶩􏶬􏶩􏶨􏶪
New tape alphabet: New state set:
means “
, working on upper track” , working on lower track”
means “
New transitions:
􏶄 􏶄
􏵼 􏶒 𝑞,􏶣 , 𝑏,𝑎􏵵 ,𝑅􏶓 Also need new transitions for moving right, lower track, hitting $,
If𝛿 𝑝,𝑎􏶷 􏵼 􏶒𝑞,𝑏,𝐿􏶓,let𝛿′ 𝑝,􏶣 , 𝑎􏶷,𝑎􏵵
initializing input into 2‐track format
3/4/2020 CS332 ‐ Theory of Computation 5

TMs are equivalent to…
• TMs with “stay put”
• TMs with 2‐way infinite tapes
• Multi‐tape TMs
• Nondeterministic TMs
• Random access TMs
• Enumerators
• Finite automata with access to an unbounded queue = 2‐ stack PDAs
• Primitive recursive functions
• Cellular automata
• “Turing‐complete” programming languages (C, Python, Java…)

3/4/2020 CS332 ‐ Theory of Computation 6

Church‐Turing Thesis
The equivalence of these models is a mathematical theorem
Church‐Turing Thesis: Each of these models captures our intuitive notion of algorithms
The Church‐Turing Thesis is not a mathematical statement!
3/4/2020 CS332 ‐ Theory of Computation 7

Multi‐Tape TMs
Finite control
𝑏𝑏𝑎𝑎𝑎 𝑎𝑏⊔𝑎𝑎 ⊔𝑏𝑎𝑎𝑐
Fixed number of tapes (can’t change during computation)
Transition function
􏶇􏶇􏶇
3/4/2020 CS332 ‐ Theory of Computation 8

Multi‐Tape TMs are Equivalent to Single‐Tape TMs
Theorem: Every ‐tape TM with can be simulated by an equivalent single‐tape TM
Finite control
𝑏𝑏𝑎𝑎 𝑎𝑏⊔𝑎 ⊔𝑏𝑎𝑎
Finite control
𝑏𝑏𝑎𝑎#𝑎𝑏⊔𝑎#⊔𝑏𝑎𝑎𝑐# CS332 ‐ Theory of Computation 9
3/4/2020

Simulating Multiple Tapes
Implementation‐Level Description
On input
􏵶􏶊􏵳
1. Format tape into
2. For each move of :
􏵶􏶊􏵳
Scan left‐to‐right, storing current symbols in finite control Scan left‐to‐right, writing new symbols,
Scan left‐to‐right, moving each tape head
If a tape head goes off the right end, insert blank If a tape head goes off left end, move back right
3/4/2020 CS332 ‐ Theory of Computation 10

3/4/2020 CS332 ‐ Theory of Computation 11

Why are Multi‐Tape TMs Helpful?
To show a language is Turing‐recognizable or decidable, suffices to construct a multi‐tape TM
Very helpful for proving closure properties
Ex. Closure of recognizable languages under union. Suppose 𝑀􏵶 is a
single‐tape TM recognizing 𝐿􏵶, 𝑀􏶊 is a single‐tape TM recognizing 𝐿􏶊
3/4/2020 CS332 ‐ Theory of Computation 12

Nondeterministic TMs
At any point in computation, may nondeterministically branch. Accepts iff there exists an accepting branch.
Transition function
Ex. NTM for is a binary number representing the product of two positive integers
3/4/2020 CS332 ‐ Theory of Computation 13

Nondeterministic TMs
Theorem: Every nondeterministic TM has an equivalent deterministic TM
Proof idea:
Systematically try all 1‐step computations, all 2‐step computations, … and see if one of them accepts
3/4/2020 CS332 ‐ Theory of Computation 14

Nondeterministic TMs
Theorem: Every nondeterministic TM has an equivalent deterministic TM
Proof idea: Simulate an NTM 𝑤􏵶 𝑤􏶊 𝑤􏶋 𝑤􏶑
using a 3‐tape TM
Finite control
𝑤􏵶 ⊔
# 𝑤􏶋 3 7
𝑤􏶑
Input 𝑤 to 𝑁 (read‐only) Simulation tape (run 𝑁 on 𝑤 using
3/4/2020
CS332 ‐ Theory of Computation 15
1 3
nondeterministic choices from tape 3) Address in computation tree

3/4/2020 CS332 ‐ Theory of Computation 16

Enumerators
Finite control
Work tape “Printer”
• Starts with two blank tapes • Prints strings to printer
strings eventually printed by
• May never terminate (even if language is finite) • May print the same string many times
3/4/2020 CS332 ‐ Theory of Computation 17

Enumerable = Turing‐Recognizable
Theorem: A language is Turing‐recognizable some enumerator enumerates it
Start with an enumerator for and give a TM
3/4/2020 CS332 ‐ Theory of Computation
18

Enumerable = Turing‐Recognizable
Theorem: A language is Turing‐recognizable some enumerator enumerates it
Start with a TM for and give an enumerator
3/4/2020 CS332 ‐ Theory of Computation 19

Mid‐Semester Feedback Form
https://forms.gle/LTBEY1BoSZh8nupV6
3/4/2020 CS332 ‐ Theory of Computation 20