=========================================================================== CSC 363 Homework Exercise 3 -- Marking Scheme Fall 2008 =========================================================================== NOTE TO STUDENTS: You will find below the marking scheme used for your homework, including the meaning of marking codes and number of marks associated with each one. This file also contains my instructions to the marker (so you can get an idea of how the homework was marked) and the marker's comments about each question. Please take the time to read this carefully before you ask questions about the grading of your homework. NOTE TO MARKER: Be picky! On any homework, it is the responsibility of students to show that they understand how to solve each problem and to write up their answers carefully. At the same time, keep in mind that exercises are worth only 1.5% of the final grade, so your marking should be somewhat coarse. And remember that marking is not just about evaluating the students's performances, but also about giving them feedback so that they can learn from their mistakes. This is especially important for students who made numerous or more serious mistakes, as they are likely to need more feedback in order to understand why their answers were incorrect. For each question, I list solution elements with an associated code for writing on student papers (the letter(s) between underscores _) and a number of marks. There are also general errors (with associated codes) given below, with a maximum number of marks to take off for each type of general error (as a percentage of the value of the question). You will likely encounter other common errors, or maybe decide to break down the marking scheme further. Simply make note of these changes/additions to the marking scheme, and introduce new code letters (or short words) to allow you to quickly give accurate feedback to the students (both in terms of what they did wrong and how many marks it cost them). GENERAL ERRORS (marked negatively, in addition to any other errors): _N_otation [up to 20%]: incorrect/ambiguous notation _V_agueness [up to 20%]: incorrect/unjustified/vague claim 1. [6 marks] _A_nswer [1 mark]: correct answer (decidable) _S_tructure [2 marks]: clear attempt to describe an explicit decider (an algorithm that takes arbitrary inputs and that accepts/rejects depending on whether or not (- BA_TM), and to justify the correctness of the decider _D_ecider [2 marks]: correct decider _J_ustification [1 mark]: good justification of correctness Expected Errors: _R_ecognizable: for students who claim "undecidable but recognizable", mark the recognizer out of 2 marks (1 for correctness, 1 for justification), and give at most 1 mark for the correct structure of a proof of undecidability (such a "proof" must be incorrect) _U_nrecognizable: for students who claim "unrecognizable", give at most 2 marks for the correct structure of a proof of unrecognizability Marker's Comments: Everyone got this basically right. 2. [9 marks] _A_nswer [1 mark]: correct answer (decidable) _S_tructure [2 marks]: clear attempt to describe an explicit decider (an algorithm that takes arbitrary inputs and that accepts/rejects depending on whether or not (- NL_TM), and to justify the correctness of the decider _D_ecider [3 marks]: correct decider _J_ustification [3 marks]: good justification of correctness Expected Errors: _R_ecognizable: for students who claim "undecidable but recognizable", mark the recognizer out of 4 marks (2 for correctness, 2 for justification), and give at most 1 mark for the correct structure of a proof of undecidability (such a "proof" must be incorrect) _U_nrecognizable: for students who claim "unrecognizable", give at most 2 marks for the correct structure of a proof of unrecognizability Marker's Comments: (1) When writing a proof by contradiction, it is NOT ok to write something like: "Assume D is a decider for L. Define D as follows: [list of instructions]." EITHER D is a general decider, OR you are writing the instructions for D. If you do the above and then show it leads to a contradiction, all you have shown is that YOUR particular machine doesn't decide L. There might be another one that does (that you didn't think of). (2) Let L be the language of TMs that have "PROPERTY", i.e., L = { : M is a TM and M has "PROPERTY" }. When defining a decider D for L, you must define the decider's behavior on (- L and !(- L, BOTH. D must be able to take the description of any TM M and tell whether it is in L or not.