Marking Comments for Problem Set 1 (Graded by Matei David) ============================================================ Question 1 ---------- Most people got lots of marks for this one. I do not have a Turing Machine verification mechanism built inside my brain, so there was no way I could have completely verified your otherwise very ingenious transition functions. In general, I was looking for two details. One was a mechanism to carry the addition bit, the other was a mechanism to provide for potentially zero padded binary strings. Expect to lose 2 marks for omitting either of those. There were 10/20 points allocated for informal descriptions and one which would not convince me would as well lose some marks. This applies particularly to those squeezed on the right side of the picture with the transition function. I was displeased with exorbitant numbers of states, like 20 or more. Question 2 ---------- You were asked for a "complete formal description of the simulation". I didn't expect anything less than that. As a result, some people received at most half of the marks (5/10) for only giving correct and even clear informal descriptions. Due to some misunderstanding between the TAs, there were two versions of this problem which people have tried to solve, one with a 1-way infinite tape, the other with a 2-way infinite tape. I have taken that situation into account when marking. Question 3 ---------- You were asked for an *injective* mapping from N^3 into N *only*. There were a number of simple answers to this. In general I was suspicious of solutions which were trying to give a bijective mapping simply because that meant you haven't really understood the simplicity of the question. Some were able to give a correct description of the latter type of function, but most who attempted it have lost marks for incomplete details. Pictorial representations of lines going around a grid with no other explanations would in general be lucky to get about 3 marks. A solution which would propose a function which clearly does not work (I usually put down an example) would get 0. Question 4 ---------- (a) There were 2 points for saying it's not recursive; 2 points for saying it's re; 2 points for arguing it's re; and 4 points for proving non recursiveness in some way. You would lose marks for omitting to talk about the case a "bad" input is feeded to f. (b) 5 points for saying it's recursive, 5 points for proving it. Only 2 points for saying that it's re. You will lose some of the latter 5 if there are errors/omissions in the proof, you will even lose all of them if you give a bogus argument which does not convince me that you really know how to prove it. I also gave 2 marks for proof of re-ness but only if your proof worked. In many such cases it didn't, remember the machine has to halt and accept any input in the re language, not only accept if it halts on such an input. (c) 5 points for simply stating it's not re (that's a lot...) The other 5 towards the proof. You might lose marks for not using the reduction mechanism and instead mixing up Turing recognition with Turing acceptance. You would also lose 1 mark for not treating the "bad" input case. (d) A total of 3 bonus points only, for observing part of the problem with the listing - see the discussion in the solutions. (e) Mostly like (b), you might get no marks at all for the proof if you do not talk about running the machines in the list - which shows you didn't get the question. Proving only re-ness is very strange, as it will automatically give you recursiveness, whenever you do it right. Question 5 ---------- Generally done well, I took off 2 marks for not explaining how exactly to do the simulation and instead using terms such as "in parallel", "simlutaneously" etc. I was looking for dove-tailing or some variant of it. You would lose more marks (at least 4) for not even hinting at the need to run both machines somehow together, ie, not observing that we cannot afford to wait until one of them halts.