1 / 22

Simulating a modern computer by a Turing machine and vice versa

Simulating a modern computer by a Turing machine and vice versa. CS 6800 Instructor: Dr. Elise de Doncker By Shweta Gowda Saikiran Ponnam. Outline. Introduction. Components of Turing Machine. Simulating Computer by Turing Machine. Simulating Turing Machine by Computer. Examples.

audra
Download Presentation

Simulating a modern computer by a Turing machine and vice versa

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. Simulating a modern computer by a Turing machine and vice versa CS 6800 Instructor: Dr. Elise de Doncker By Shweta Gowda Saikiran Ponnam

  2. Outline • Introduction. • Components of Turing Machine. • Simulating Computer by Turing Machine. • Simulating Turing Machine by Computer. • Examples. • References.

  3. Introduction • The Turing machine was introduced in 1936 by Alan M. Turing to solve computable problems, and is the foundation of modern computers. • Let us compare TM and the modern computer • While both if this model appear to be different but they can accept exactly the same language - the “recursive enumerable languages”.

  4. Components of Turing machine A Tape Controller Read/Write Head

  5. Continue… • Tape The tape, at any one time, holds a sequence of characters from the set of characters accepted by the machine. Here we assume that the machine can accept only two symbols a) blank b) digit1.

  6. Continue… • Read/Write Head The read/write head reads and writes one symbol at a time from the tape and accordingly moves to right or left based on the design on the Turing machine • Controller The controller is the theoretical counterpart of the central processing unit (CPU) in modern computers. It is a finite state automaton i.e., with finite number of states.

  7. Simulating computer by Turing machine • Example (1): Increment Operation[ incr(x) ]

  8. Continue… • Step by step operation which shows how the TM can increment x when x=2

  9. Continue… • Example (2): Decrement Operation[ decr(x) ]

  10. Continue… • Step by step operation which shows how the TM can decrement x when x=2

  11. Simulating Turing machine by computer • Simulation of the Turing Machine on a Digital Computer is a useful and practical tool not only for problem solving and validation of algorithms but also in the field of programming. • TM are as powerful as the most sophisticated real-world programming languages. which is great, because formally proving any thing about C , java would be difficult • Here we describe simple Turing machine examples…

  12. Example (1): The Identify Function • Let A={0,1} and S={s0}. Let M={} be the empty set, the set containing no elements. M is a set of quintuples of the right type with the right requirements. • Here M is a TM which computes the identity function, f(n)=n • Run M on input n. • The tape is initially configured to (s0,0,”111…1″), where the string contains n 1’s.

  13. Continue… • Step1: Tape reader looks for which instruction to use as no instruction are found because there is no instruction given go to step 2 • Step2: Immediately, the machine halts, which changing the tape at all. • Result: Therefore, the output is identical to the input, and on input n, n is outputted.

  14. Example2: Increment Operation [ f(n)=n+1 ] • Here, we build a machine which takes input n and outputs n+1. • Strategy : We’ll instruct the tape-head that as long as it sees the symbol 1, it will move to the right, leaving the 1 as it is. This way, the tape-reader will move right until it reaches the first zero. Once the tape-reader reaches the first zero on the tape, it will replace that zero with a 1 and then immediately halt. In this way, the string of n consecutive 1’s originally on the tape will be turned into a string of n+1 consecutive 1’s.

  15. Continue… • States: s0 (initial state)=“haven’t found first zero yet” and s1=‘found first zero, ready to halt”. • Step1: If the tape-head is in state s0, i.e., it hasn’t found the first zero yet, and the current cell contains 1, then the reader should move right, leaving the 1 as it is, and staying in the same state. The instruction is represented in the form of quintuple: (s0,1,1,”R”,s0). • Step2: If the tape-head is in state s0, i.e., still looking for that first zero, and the current cell contains 0, the first zero has been found. In that case, we want to replace the first zero with a 1 and then prepare to halt. So we’ll instruct the reader to write 1, move right, and go to state s1. Going to state s1 will be equivalent to halting, provided that we don’t give the machine any instructions in state s1 . Represented as: (s0,0,1,”R”,s1).

  16. Continue… • Step3: We add no other instructions. This ensures that after the machine goes to state s1 after writing that new “1”, it will immediately halt. • Result: The TM which computes the function f(n)=n+1 is the set of quintuples: {(s0,1,1,”R”,s0), (s0,0,1,”R”,s1)}

  17. Comparison with real machines • Anything a real computer can compute, a Turing machine can also compute. • Like a Turing machine, a real machine can have its storage space enlarged as needed, by acquiring more disks or other storage media • Descriptions of real machine programs using simpler abstract models are often much more complex than descriptions using Turing machines • Turing machines simplify the statement of algorithms.

  18. Real time example of TM Example 1

  19. Continue… • Execution and Controls. • The Run button starts execution. • The Pause button suspends execution. • The Run Speed slider changes the execution speed. • The Step button executes the next step and pauses. • The BackStep button reverses the effect of the previous step. A Turing Machine can be back stepped all the way to its initial state. • The Reset button returns the Turing Machine to its initial state. In effect, the definition is reloaded.

  20. Continue… Example 2: https://www.youtube.com/watch?v=E3keLeMwfHY

  21. References • Introduction to Automata Theory, Languages, and Computation by J. E. Hopcroft, (R. Motwani) and J. D. Ullman, Addison Wesley. • http://www.ieee.org (SIMULATION OF A TURING MACHINE ON A DIGJT AL COMPUTER) • http://www.xamuel.com/turing-machines • http://www.cs.odu.edu/~sainswor/Projects/QTMS • https://www.youtube.com

  22. Thank You

More Related