Solutions to Homework 6

Solutions to Homework 6

CS4510 Automata and Complexity Section A Homework 6 Solutions Posted: 5pm Apr 24 2020 Due: 12pm, Tuesday Apr 21 2020 This homework has a total of 3 problems on 1 page. Solutions should be submitted to Canvas before 12:00pm on Tuesday Apr 21. The problem set is marked out of 25, you can earn up to 1 + 8 + 8 + 9 = 26 points. Please refer to the homework guidelines for formatting as well as policy on late days. If you choose not to submit a typed write-up, please write neat and legibly. Collaboration is allowed/encouraged on problems, however each student must independently com- plete their own write-up, and list all collaborators. No credit will be given to solutions obtained verbatim from the Internet or other sources. 0. (1 point) Submit your homework in accordance to the guidelines at https://www.cc.gatech.edu/~rpeng/CS4510_S20/HomeworkGuidelines.pdf. 1. (8 points) A language is undecidable if there is no Turing Machine that will recognize that language and halt on all inputs. Show that the following language is undecidable: A = fM j M is a Turing machine that accepts exactly all the odd length stringsg The intended solution is to reduce from the halting problem, which we will show is undecidable. The halting problem is given a Turing machine M and an input w, decide whether M terminates when given w as input. SOLUTION: We reduce the halting problem to deciding A. Recall HALT = fhM; wi j M terminates when ran on input wg Let < M; w > be a TM / input pair. That is, we want to decide whether M halts on w. Construct M 0 that on any input s, simulates M on input w (we can hard code w into the construction of M 0). If M halts w (either accept or reject), then M 0 checks whether s has odd length, and accepts s if it has odd length. Then: (a) If M does not terminate on w, then M 0 accepts nothing. (b) If M halts on w (either accepts or rejects), then M 0 accepts all odd length strings. 1 In other words, M 0 2 A if and only if < M; w >2 HALT, what we constructed is a valid reduction from HALT to A. As HALT is undecidable, A is undecidable as well. GRADING: (a) 1 for reducing from an undecidable problem (b) 1 for picking explicit M, x for undecidable problem (c) 2 for correct direction of reduction (d) 2 for reduction holds for both halves of “iff" statement (e) 1 for making new machine M 0 which runs M inside of it (f) 1 for no minor errors 2. (8 points) Consider the ambiguous CFG problem: given a context free grammar, does there exist a string that can be generated by two different parse trees. Show that this problem is undecidable by reducing the post correspondence problem to it. The post correspondence problem is the following: given two sequences of strings a1; :::; an and b1; :::; bn, is there a sequence of indices i1; :::; im (with possibly repeats, and whose total length may be much bigger than n) such that ai1 ai2 :::aim = bi1 bi2 :::bim ? SOLUTION: Let the strings be a1 : : : an; b1 : : : bn. We construct a CFG with rules: S ! S1 j S2 (1) S1 ! iS1ai (2) S2 ! iS2bi (3) S1 ! # (4) S2 ! # (5) Then if we start with S1, the left part (with the indices) uniquely determines the right portion, as # is a unique symbol. Similarly, everything generated from S2 is unique. Thus the only ambiguity comes from S1 and S2 generating the same string, but as the indices are the same, the portions right of the # must agree as in the post correspondence problem. 3. (9 points) Show that if a language L is in Turing recognizable, then L∗ is also Turing recognizable. Note that unlike Turing machines that decide languages, Turing machines that recognize lan- guages may not halt on inputs not in the language. Formally, a Turing machine M recognizes a language L if for every string w 2 L, M terminates with accept when given w as input. 2 SOLUTION: Let a Turing machine that recognizes L be M. Given a word w, we take all possible decomposition of w: w = w1w2 : : : wk: We then check in parallel whether M accepts w1 : : : wk in each of the breakdown. As soon as M accepts one of the breakdowns, we accept. If w 2 L, then some breakdown will have each of its strings be accepted by M. So running M on each of the strings sequentially will all terminate with accept everywhere, and thus accept in that run on the breakdown. As we check all the splits in parallel, this means that w will be accepted as well. GRADING: (a) 2 points for saying there is a TM that recognizes L. (b) 2 points for enumerating all breakdowns (ideally this should come with a description of how it's implemented on TM). (c) 1 point for the right accept/reject conditions (accept iff one of the breakdowns accept) (d) 2 points for running things in parallel. (e) 2 points for justifying termination if any of the breakdowns terminate, aka. properly handle the case where M loops forever on one of the (earlier) breakdowns. 3.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    3 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us