第四章:可判定性
4 Decidability
关于其他章节的内容,请点这:《计算理论导引》学习笔记
4.1 Decidable Languages
几个可判定的语言
acceptance problem for DFA
the acceptane problem for DFAs of testing whether a particular deterministic finite automaton accepts a given string can be expressed as a language\( A_{DFA}\).
\( A_{DFA} = \{\langle B,w \rangle | \text{ B is a DFA that accepts input string w}\}\).
The problem of testing whether a DFA B accepts an input w is the same as the problem of testing whether is a member of the language \( A_{DFA}\).
We simply need to present a TM M that decides \( A_{DFA}\).
M = “on input , where B is a DFA and w is string:
1. Simulate B on input w.
2. If the simulation ends in an accept state, accept. If it ends in a nonaccepting state, reject.”
acceptance problem for NFA
\( A_{NFA} = \{\langle B,w \rangle | \text{ B is a NFA that accepts input string w}\}\).
N = “on input , where B is a NFA and w is string:
1. Convert NFA B to an equivalent DFA C.
2. Run TM M on input .
2. If M accepts, accept; otherwise, reject.”
acceptance problem for REX
\( A_{REX} = \{\langle B,w \rangle | \text{ B is a regular expression that generates string w}\}\).
P = “On input , where R is a regular expression and w is a string:
1. Convert regular expression R to an equivalent NFA A.
2. Run TM N on input .
3. If N accepts, accept; if N rejects, reject.”
emptiness testing for DFA
\( E_{DFA} = \{\langle A \rangle | \text{ A is a DFA and } L(A) = \emptyset\}\).
T = “On input , where A is a DFA:
1. Mark the start state of A.<