1 / 15

Theory of Computation

Theory of Computation. Theory of Computation Peer Instruction Lecture Slides by  Dr. Cynthia Lee, UCSD  are licensed under a  Creative Commons Attribution- NonCommercial - ShareAlike 3.0 Unported License . Based on a work at  www.peerinstruction4cs.org. “Father of Computer Science”.

Download Presentation

Theory of Computation

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Theory of Computation Theory of Computation Peer Instruction Lecture Slides by Dr. Cynthia Lee, UCSD are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Based on a work at www.peerinstruction4cs.org.

  2. “Father of Computer Science” Famous People:Alan Turing

  3. Famous People: Alan Turing “Father of Computer Science” • Born in England in 1912 • Studied at University of Cambridge (UK) • Contributions to: • Computer Science • Logic • Artificial Intelligence • Cryptography

  4. During WWII • German “Enigma” machine was used to send sophisticated encrypted messages • Cracking the Enigma code a major factor in course of the war • First cracked by Polish investigators, who shared techniques with England • Turing and others devised further ways of detecting configurations • Allowed England to know which cities were going to be bombed, U-boat whereabouts, etc Enigma configuration rotors

  5. Artificial Intelligence • In this Jeopardy! challenge, the identities were not hidden, so it was not a Turing Test format. But it was a remarkable display of the kind of power that Turing predicted machines could have. • How will we know if/ when computers have achieved enough sophistication to be called intelligent? • Alan Turing proposed the “Turing Test” • A human tester chats with a human and computer • Can the tester reliably identify which is which?

  6. Turing’s Three Major Contributions in this Course Current Events • Turing Machine design • Talk about this starting today (!!) • Church-Turing thesis • Halting problem undecidability • Talk about these over the next two weeks • In 2009, British government issued a formal apology for its persecution of Turing, which may have led to his suicide at just 41 years old • Alan Turing was a gay man, and homosexuality was crime in England at that time • Government forced him to undergo “treatments” with terrible side effects

  7. At last we reach: Turing Machines

  8. Turing Machine Model

  9. Why do we careabout Turing Machines? • All modern computers follow the Turing Machine model • CPU = TM control • Memory = TM tape • This division seems obvious now, but is the core of Turing’s model • Our memory isn’t infinite  • Theoretical analysis of TMs answers the question: what kinds of problems could we solve (or can’t we solve), if we didn’t have to worry about memory limitations (sometimes with computing “cloud” it feels like we’re almost to that point!) • “Memory” can include all levels of the memory hierarchy (more about this in CSE 141): RAM, disk, etc

  10. Turing Machine Formal Description • In the TM transition function δ: QxΓ -> QxΓx{L,R}, in other words, a given input of the transition function is: • A current state, a character read, and whether we came from the left or right • A current state, a character read • A current state, a character to write • A destination state, a character read • None of the above or more than one of the above

  11. Turing Machine Formal Description • In the TM transition function δ: QxΓ -> QxΓx{L,R}, in other words, a given output of the transition function is: • A current state, a character read, and whether we came from the left or right • A current state, a character to write, and whether we should next go left or right • A destination state, a character read, and whether we should write ‘L’ or ‘R’ • A destination state, a character to write, and whether we should next go left or right • None of the above or more than one of the above

  12. Executing a Transition, “yields” • Suppose we have at TM s.t. Γ={a,b,c,d,_}, Q = {qx | 1≤x≤10} U {qacc,qrej}, and the transition function includes rules δ(q1,a) = (q3,b,R) and δ(q1,b) = (q3,a,L). We also have strings x,y in Γ*. Which configuration does the current configuration, xbq1ay, yield? • xq3bay • xbbq3y • xbaq3by • xq3aay • None of the above or more than one of the above

  13. Executing a Transition, “yields” • Suppose we have at TM s.t. Γ={0,1,_}, Q = {qx | 1≤x≤7} U {qacc,qrej}, and the transition function includes rules δ(q2,1) = (q1,0,R) and δ(q2,0) = (q1,1,L). We also have strings x,y in Γ*. Which configuration does the current configuration, x0q21y, yield? • xq101y • x01q1y • x00q1y • xq111y • None of the above or more than one of the above

  14. Executing a Transition, “yields” • Suppose we have at TM s.t. Γ={a,b,c,d,_}, Q = {q1, q2, q3, q4,qacc,qrej}, and the transition function includes rules δ(q2,c) = (q3,d,R) and δ(q2,d) = (q3,c,L). We also have strings u,v,x,y in Γ*. Which configuration does the current configuration, xcq2dy, yield? • xq3ddy • xcdq3y • xq3ccy • xq3ccdy • None of the above or more than one of the above

  15. More Transition Function • (a) TRUE • (b) FALSE x0qrej11y yields x01q11y can never happen in any Turing Machine

More Related