=========================================================================== CSC 363H Tutorial Exercises for Week 2 Summer 2006 =========================================================================== - Exercise 3.7 (p.160). Explain why the following is not description of a legitimate Turing machine. M_bad = "The input is a polynomial p over variables x_1, ..., x_k. 1. Try all possible settings of x_1, ..., x_k to integer values. 2. Evaluate p on all of these settings. 3. If any of these settings evaluates to 0, accept; otherwise reject." - Show that TMs with "stay put" head movement are equivalent to regular TMs. Give a detailed answer. - For some alphabet S, say that a function f : S* -> S* is "computable" if there exists a TM M such that for all strings w in S*, M accepts w with final configuration q_accept f(w). In other words, when M is started with w on its tape, it eventually enters its accepting state with only f(w) on the tape and its head on the leftmost symbol of f(w). Show that a function f is computable in this sense iff the language L_f = { w#f(w) : w in S* } is decidable (where # is a symbol that does not belong to S). (Note that this question is slightly more involved than the typical tutorial exercise you can expect, but thinking it through will prove to be very useful to you later on.)