Whilst doing exam revision I am having trouble answering the following question from the book, "An Introduction to the Theory of Computation" by Sipser. Unfortunately there's no solution to this question in the book.
Explain why the following is not a legitimate Turing machine.
M = {
The input is a polynomial p over variables x1, ..., xn
This is driving me crazy! I suspect it is because the set of integers is infinite? Does this somehow exceed the alphabet's allowable size?
The turing machine accepts all the language even though they are recursively enumerable. Recursive means repeating the same set of rules for any number of times and enumerable means a list of elements.
A Turing Machine is said to be a halting Turing machine if it always halts for every input string. It can accept the recursive language and is less powerful than Turing machine. Linear Bounded Automata : It behaves as a Turing machine but the storage space of tape is restricted only to the length of the input string.
Solution: Firstly we read the first symbol from the left and then we compare it with the first symbol from right to check whether it is the same. Again we compare the second symbol from left with the second symbol from right. We repeat this process for all the symbols.
Because running off the end of the input doesn't cause the machine to stop, the machine needs to indicate when to stop processing. In particular, a TM can run forever. Definitions: Let L⊆Σ∗ be a language.
Although this is quite an informal way of describing a Turing machine, I'd say the problem is one of the following:
otherwise reject
- i agree with Welbog on that. Since you have a countably infinite set of possible settings, the machine can never know whether a setting on which it evaluates to 0 is still to come, and will loop forever if it doesn't find any - only when such a setting is encountered, the machine may stop. That last statement is useless and will never be true, unless of course you limit the machine to a finite set of integers.
The code order: I would read this pseudocode as "first write all possible settings down, then evaluate p on each one" and there's your problem: Again, by having an infinite set of possible settings, not even the first part will ever terminate, because there never is a last setting to write down and continue with the next step. In this case, not even can the machine never say "there is no 0 setting", but it can never even start evaluating to find one. This, too, would be solved by limiting the integer set.
Anyway, i don't think the problem is the alphabet's size. You wouldn't use an infinite alphabet since your integers can be written in decimal / binary / etc, and those only use a (very) finite alphabet.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With