SE307 - Computational Complexity Theory
Test 2
Friday 1 December 2000, 13:00, Lab 2
T Naughton, CS NUIM,
Back to SE307 home
Remove everything from your desk except pens/pencils. Paper will be provided. Answer all questions. You have 100 minutes in total. Answer Section A first. After 40 minutes you will be given the Section II questions.
Use the usual web-based simulator for Section A. Your programs will be graded by running them at the end of the lab (after 100 minutes). Full marks for a fully working solution, half marks for a partial solution, one tenth marks for a very poor attempt.
Use the MCQ answer sheet for Section B. Write both your name and student id. number the MCQ sheet. Each MCQ question has only one fully correct option. Negative marking will be enforced: +1 for a correct answer, -0.25 for an incorrect answer, 0 for a non attempt. This means that randomly guessing answers will average a mark of zero.
Hand up all material, including a printout of your program at the end of the exam. Ensure your name appears on everything.
Section A – Turing machine programming (40% of total test marks)
Q1 Write a Turing machine to double a unary number. Initially the TM head will be at the beginning of the input. At halt, the TM head must be at the beginning of the output. For example, input "11" would be transformed into "1111".
Q2 Write a Turing machine to divide a unary number by two (rounding down). Initially the TM head will be at the beginning of the input. At halt, the TM head must be at the beginning of the output. For example, input "1111" would be transformed into "11", and input "111" would be transformed into "1".
Section B – Computability (60% of total test marks)
Q1 Who invented the Turing machine?
Q2 Who did not invent the Turing machine?
Q3 The theory of computation has at its foundations the concept of (I) leading to that of (II) and to that of (III) problem. (I), (II), and (III), in that order, could be
Q4 The theory of computational complexity has at its foundations the concept of (I) leading to that of (II) and to that of (III) problem. (I), (II), and (III), in that order, could be
Q5 Computational complexity theory aims to
Q6 Measurement of something requires a comparison. What scale do we use for algorithms?
Q7
Q8 When n doubles
Q9 Which of the following functions has the largest growth rate?
Q10 The `strongest' of the following statements we can make about the sum 1 + 2 + 3 + ... + n is
Q11 The sum 12 + 22 + 32 + … + n2 = 1/3n (n + 1/2)(n + 1) would also be
Q12 We can reduce our number of unique tape symbols in a TM table of behaviour by
Q13 The minimum number of states we can reduce our set of states of mind to without changing the functionality of any possible TM is
Q14 The minimum number of symbols we can reduce our set of symbols to without changing the functionality of any possible TM is
Q15 Which of the following are not one of the `unrestricted' models of computation?