Alan�Turing • Born�in�1912 Turing�Machines • 1922:�Troubles�in�School • 1936:�Turing�Machine A�Model�of�Computation • WWII:�Bletchley Park • 1954:�Suicide?! Original�Motivation Original�Motivation Modeling�“Human�Computers” Modeling�“Human�Computers” What�are�“Human�Computers”? What�are�“Human�Computers”? Remember�the� Turing�Test! (might�be�a�biased�picture) Today’s�Perspective Today’s�Perspective Modeling�“Human�Computers” Modeling�“Computers” What�are�“Human�Computers”? What�are�“Computers”? 1
Today’s�Perspective Today’s�Perspective Modeling�“Computers” Modeling�“Computers” What�are�“Computers”? What�are�“Computers”? • Storage�Device ??? - read/write�access - finite�size�(conceptually�arbitrarily�large) • Control�Unit - defines�which�step�to�do�next - aka�CPUs/Programs� Today’s�Perspective Today’s�Perspective Modeling�“Computers” Modeling�“Computers” What�are�“Computers”? What�are�“Computers”? Modeling… Modeling… But�what� But�what� Reasoning�about for??? for??? - algorithms - computational�problems Treating�them�as�Mathematical�Objects!!! Algorithms�as Relevance�of�TMs: Mathematical�Objects What�is�Computable�by�TMs? • TMs�are�meant�for�formulating�&�proving� LCMs can�do�anything�that�could�be�described� general�statements�about�algorithms: as�"rule�of�thumb"�or�"purely�mechanical". – What�is�computable�by�TMs? So�what?! – How�much�time/space�do�TMs�need�to� Turing�Machines solve�a�given�problem? This�is�sufficiently�well�established�that�it�is and�real�computers?! now�agreed�amongst�logicians�that�"calculable • TMs�are�NOT�meant�for by�means�of�an�LCM"�is�the�correct�accurate� – programming rendering�of�such�phrases. – real�computations – browsing�the�web (Turing�in�1948�on�his�Logical�Computing�Machine) 2
Relevance�of�TMs: Relevance�of�TMs: Church-Turing�Thesis How�efficient�are�TMs? LCMs can�do�anything�that�could�be�described� All�reasonable�models�of�computation�are� as�"rule�of�thumb"�or�"purely�mechanical". polynomially related�to�the�TM�wrt.�their�time performance. • Historically:�A�lot�of�models�are�equivalent�to�TMs (i.e.,�they�describe�the�same�set�of�algorithms) This�is�established�by�simulation�arguments… - Lambda�Calculus - Partially�Recursive�Functions - …� • Practically:�All�known�computer�systems�are equivalent�to�TMs. Relevance�of�TMs: Relevance�of�TMs: How�efficient�are�TMs? Extended�Church-Turing�Thesis All�reasonable�models�of�computation�are� All�reasonable�models�of�computation�are� polynomially related�to�the�TM�wrt.�their�time polynomially related�to�the�TM�wrt.�their�time performance. performance. This�is�established�by�simulation�arguments… This�is�established�by�simulation�arguments… ….�it’s�a�thesis�– not�a�theorem. A� Pentium � 4 � can � be � simulated � by� a � TM DNA-Computing n k k with � runtime � � for � some � fixed � . Quantum-Computing Relevance�of�TMs: This�Lecture Extended�Church-Turing�Thesis • Definition�of�TMs TMs�can�simulate�real�computers�efficiently • Execution�of�TMs TMs�have�a�mathematically�simple�structure • Multi-Tape�TMs • Non-Deterministic�TMs TMs�are�the�ideal�vehicle�to�build�a Theory�on�Efficient�Computability 3
Storage�Device�of�a�TM Control�Unit�of�a�TM • Tape # # # # 1 1 0 0 1 # # # # # # # – arbitrarily�long�but�finite strip�divided�into�cells – each�cell�contains�a�single symbol – finite alphabet�of�symbols • Set�of�States Control # # # # 1 1 0 0 1 # # # # # # # - finite�size Unit • Transition�Function • Tape�Head given�a�state and�an�input�symbol,�the�control decides�which – accesses�one�cell�at�a�time (active�cell) - symbol�to�write – reads symbol�from�active�cell - direction�the�head�is�moved – overwrites symbol�to�active�cell - new�state�to�assume – moves left,�right�or�stays Example Example # # # # 1 1 0 0 1 # # # # # # # Alphabet:�{0,1} Blank�Symbol:�# S Input�String 1:1/ → 1:1/ → 1:0/ ← 1:0/ ← 0:0/ → 0:0/ → #:#/ ← 0:1/ ← 1:1/� ← #:#/ ← 0:1/ ← 1:1/� ← S T B S T B 0:0/� ← 0:0/� ← #:1/- #:1/- #:#/� → #:#/� → H H Example Example # # # # 1 1 0 0 1 # # # # # # # # # # # 1 1 0 0 1 # # # # # # # …. S S 1:1/ → 1:1/ → 1:0/ ← 1:0/ ← 0:0/ → 0:0/ → #:#/ ← 0:1/ ← #:#/ ← 0:1/ ← 1:1/� ← 1:1/� ← S T B S T B 0:0/� ← 0:0/� ← #:1/- #:1/- #:#/� → #:#/� → H H 4
Example Example # # # # 1 1 0 0 1 # # # # # # # # # # # 1 1 0 0 1 # # # # # # # S T 1:1/ → 1:1/ → 1:0/ ← 1:0/ ← 0:0/ → 0:0/ → #:#/ ← 0:1/ ← #:#/ ← 0:1/ ← 1:1/� ← 1:1/� ← S T B S T B 0:0/� ← 0:0/� ← #:1/- #:1/- #:#/� → #:#/� → H H Example Example # # # # 1 1 0 0 0 # # # # # # # # # # # 1 1 0 1 0 # # # # # # # T …. B 1:1/ → 1:1/ → 1:0/ ← 1:0/ ← 0:0/ → 0:0/ → #:#/ ← 0:1/ ← 1:1/� ← #:#/ ← 0:1/ ← 1:1/� ← S T B S T B 0:0/� ← 0:0/� ← #:1/- #:1/- #:#/� → #:#/� → H H Example Example # # # # 1 1 0 1 0 # # # # # # # # # # # 1 1 0 1 0 # # # # # # # B H Output�String 1:1/ → 1:1/ → 1:0/ ← 1:0/ ← 0:0/ → 0:0/ → #:#/ ← 0:1/ ← #:#/ ← 0:1/ ← 1:1/� ← 1:1/� ← S T B S T B 0:0/� ← 0:0/� ← #:1/- #:1/- #:#/� → #:#/� → H H 5
Example Formal�Turing�Machine�Definition = Σ δ M K s , , , Alphabet:�{0,1} = Σ δ M K s , , , Blank�Symbol:�# K - � finite � set � of � states � 1:1/ → 1:0/ ← Σ 0:0/ → - � finite � set � of � symboles � � (alphabet) #:#/ ← 0:1/ ← 1:1/� ← S T B - � transition � function 0:0/� ← δ × Σ → ∪ × Σ × ← → − K K �� : ( {H, A, R}) { , , } #:1/- s ∈ #:#/� → K - � initial � state � H #�is�always� State�H�is� Example Example included never�left! { } { } Σ = Σ = = Σ δ = Σ δ 0 , 1 , # M K s 0 , 1 , # M K s , , , , , , { } K = S, T, B 1:1/ → 1:1/ → 1:0/ ← 1:0/ ← 0:0/ → 0:0/ → #:#/ ← 0:1/ ← 1:1/� ← #:#/ ← 0:1/ ← 1:1/� ← S T B S T B 0:0/� ← 0:0/� ← #:1/- #:1/- #:#/� → #:#/� → H H Example Example { } { } Σ = Σ = M = K Σ δ s M = K Σ δ s 0 , 1 , # 0 , 1 , # , , , , , , { } { } = = K K S, T, B S, T, B s = s = S S δ S =< S →> ( , 1 ) , 1 , 1:1/ → 1:1/ → 1:0/ ← 0:0/ → 0:0/ → δ =< →> S S ( , 0 ) , 0 , #:#/ ← 0:1/ ← #:#/ ← 1:1/� ← δ S =< T ←> ( , # ) , # , S T B S T 0:0/� ← .... #:1/- #:#/� → H 6
Recommend
More recommend