Computability
도입됨
어휘
| English | 의미 |
|---|---|
| Turing machine | Turing machine |
| halting problem | halting problem |
| diagonalisation/daɪˌæɡənəlaɪˈzeɪʃn/ | diagonalisation |
English
The formal algorithm
- The Turing machine: tape, head, states — the formalisation of "algorithm". The halting problem: does $M$ halt on $w$? Suppose a decider $H$ exists; build $D(M)$ = run $H(M,M)$, and if it says "halts", loop forever. Run $D$ on $D$: contradiction.

{exercise:uni-cs1103-tm}
연습
The halting problem proof builds D(M) that —
난이도 1/5 · 100코인 + 오늘 첫 완료 시 작은 보너스 추가
D flips the answer about itself - running D on D contradicts.
English
Diagonalisation, once
- Enumerate all machines and inputs; diagonalisation builds $D$ to disagree with the diagonal entry of every row — so $D$ differs from every machine, yet is one. The same shape proves the reals uncountable and Rice's theorem.
- Rice: every nontrivial semantic property of programs is undecidable — "does $P$ ever print banana?" reduces halting to printing (the suite runs the wrapper).
{exercise:uni-cs1103-rice}
연습
Rice's theorem covers —
난이도 1/5 · 100코인 + 오늘 첫 완료 시 작은 보너스 추가
Nontrivial properties of WHAT the program computes - undecidable.
English
The decidable cousin
- "Does DFA $D$ accept the empty language?" is decidable: mark reachable states from $q_0$ (finite graph search); accept iff no accepting state is marked. Finiteness makes it searchable — the halting problem's infinite tape is exactly what breaks the argument.
{exercise:uni-cs1103-decidable}
연습
DFA emptiness is decidable because —
난이도 1/5 · 100코인 + 오늘 첫 완료 시 작은 보너스 추가
Finite graph, finite search: mark reachable states, check accept.