patternMinor
Why can useless states in TMs not be found by traversing the state graph?
Viewed 0 times
whycanthegraphtmsstatestraversingfounduselessstate
Problem
Can anyone explain why can't we use a Turing machine's transition diagram?
For e.g.
The definition of a USELESSTM is as follow:
A useless state in a TM is one that is never entered on any input string.
USELESSTM = { ⟨ M, q⟩ ∣ q is a useless state in M }
I know this problem can be proved to be undecidable by reducing ETM to it, but I want to know why can't we do a breadth first search of the Turing machine's state diagram to find states that are unreachable. Then based on whether or not we found any unreachable states, we can say that there are or there are not any useless states.
For e.g.
The definition of a USELESSTM is as follow:
A useless state in a TM is one that is never entered on any input string.
USELESSTM = { ⟨ M, q⟩ ∣ q is a useless state in M }
I know this problem can be proved to be undecidable by reducing ETM to it, but I want to know why can't we do a breadth first search of the Turing machine's state diagram to find states that are unreachable. Then based on whether or not we found any unreachable states, we can say that there are or there are not any useless states.
Solution
Your proposed algorithm finds some useless state, but not all of them.
Remember that you have tape content to deal with. Say, for instance, a state is reachable when there's a symbol
The proof you have tells you that there is no way to fix this.
Note that this problem is similar to detecting dead code; maybe this metaphor works better for you.
Remember that you have tape content to deal with. Say, for instance, a state is reachable when there's a symbol
2 on the tape. It is reachable in the state graph, but if the TM gets only binary input (and never write a 2 itself) it will never be attained by the machine.The proof you have tells you that there is no way to fix this.
Note that this problem is similar to detecting dead code; maybe this metaphor works better for you.
Context
StackExchange Computer Science Q#66910, answer score: 7
Revisions (0)
No revisions yet.