1 / 14

THE CONVENTIONS

THE CONVENTIONS. R . R . “move to the right until you find  “. “move to the right until you find a symbol other than  “. 2 simple rules: Rule # 1: Rule # 2:. Note: first check. Then move (think of a “while”). “Never forget Rule # 1”. (Mr Miogi, The Karate Kid).

marv
Download Presentation

THE CONVENTIONS

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. THE CONVENTIONS R R “move to the right until you find “ “move to the right until you find a symbol other than “ 2 simple rules: • Rule # 1: • Rule # 2: Note: first check. Then move (think of a “while”) “Never forget Rule # 1” (Mr Miogi, The Karate Kid)

  2. Input and Output of Turing Machines When constructing Turing machines we have to establish conventions: For example, the Turing machine ( = { , a, b, , }): … Does the following: when starting with a configuration of the form (s, w), where w  ( - {, , })* then the final configuration is (h, ww).

  3. Acceptance in Previous Machines Machine Configuration Acceptance if q: final state, w = e (q,w) Finite automata q: final state, w =e  = e Pushdown automata (q,w,) Pushdown automata accepting by empty stack w =e,  = e (q,w,) These machines are used to compute if a word belongs to a language

  4. Input and Output of Turing Machines (2) … a a   b a state: s ( - {, })* … b a   a b state: h ( - {, })* 0 Idea: Input: Output:

  5. Functions (Again) This definition says that 2 things should happen: Second, that each element in A has a unique representative in B First, that “no one (in A) is left behind” B A B A a a d d Definition. A function, f, from A to B is a relation such that for every a  A there is one and only one b  A with f(a) = b Example: transitions in Turing machines

  6. Functions (Again – Part 2) From the two restrictions, the first can be easily overcome: A Dom(f) = {a  A : there is a b  B with f(a) = b} One can restrict f to be from Dom(f) to B. In this situation one speaks of a partial function Example: f from Real to Real defined as f(x) = 1/x. Dom(f) = Real - {0} (Thus f is a partial function)

  7. Input and Output of Turing Machines (3) Definition. Let: • M = (S, , , s, H) be a Turing machine • 0 =  - {, } • Suppose that M starts with (s,w) with w  0* If the machine ends in a configuration (h,u) with u  0* and h  H, then: • u is referred to as the output of M and write M(w) = u • We can view M as a function f (from 0* into 0*), with f(w) = u. We say that M computes f. • If M does not end for a w’  0*, then we write M(w’)

  8. Turing-Computable Functions Definition. A function f: 0*  0* is said to be Turing computable if there exists a Turing machine M that computes it (i.e., for each w  dom(f), f(w)=M(w)) and dom(f) = 0*. If dom(f)is an strict subset of 0* (i.e., dom(f)  0* and dom(f)  0*), we say that f is partial Turing computable

  9. Example of a Turing-Computable Function f(w) = wa where a is a fixed character in 0 and w  0*

  10. Example of a Turing-Computable Function (2) Let M be the machine that terminates in the configuration (h, ww) when starting with (s, w) (see Slide # 2) M f(w) = ww where and w  0* …

  11. Computing (Deciding) Languages Definition. Let L be a language in 0* we define the characteristic function, L, as follows: • L(w) = 1, if w  L • L(w) = 0, otherwise Definition. A language L is Turing-computable or decidable if its characteristic function, L, is Turing-computable

  12. Regular Languages are Turing-Computable (1) Steps to obtain a Turing machine accepting a regular language: • Let L be a regular language on alphabet {a,b} • Let A be a deterministic automata accepting L • It is easy to simulate A with a Turing machine ML: • ((p,a),q) ((p,a),(q,)) For every favorable state f in A, add the transition: ((f,),(h,1))

  13. Regular Languages are Turing-Computable (2) 1 M1 1 M0 Use the machine ML as follows: ML This Turing machine recognizes the language L Every regular language is Turing-computable (decidable)

  14. Homework • 4.9, 4.10, See slide # 10

More Related