Questions: Decidable and Semi-Decidable Languages

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

What does it mean to say the halting problem is semi-decidable?

AThere exists a Turing machine that always halts and correctly answers 'yes' or 'no' for every input
BThere exists a Turing machine that halts and accepts whenever a program halts on its input, but may run forever when the program does not halt
CThe halting problem can be decided in exponential time but not polynomial time
DThe halting problem is almost decidable — a small fraction of inputs cannot be determined
Question 2 Multiple Choice

A language L is recursively enumerable (RE). Its complement L̄ is also recursively enumerable. What can we conclude?

AL is undecidable, because two RE machines cannot decide a language
BL is decidable, because we can run both machines in parallel and one will always halt with the correct answer
CL is in co-RE but not necessarily in RE
DNothing — knowing both L and L̄ are RE tells us only that L is semidecidable in both directions
Question 3 True / False

If a language L is decidable, then its complement L̄ is also decidable.

TTrue
FFalse
Question 4 True / False

A semi-decidable language can be made decidable by adding a timeout: if the Turing machine does not halt within some fixed number of steps, output 'no.'

TTrue
FFalse
Question 5 Short Answer

Explain why the gap between semi-decidable and decidable is 'absolute' — why can't a semi-decision procedure be converted into a decision procedure by limiting computation time?

Think about your answer, then reveal below.