World's most popular travel blog for travel bloggers.

[Solved]: What determines valid and invalid turing machines?

, , No Comments
Problem Detail: 

According to my understanding, a Turing machine that's valid has to have finite steps to finish a certain step. If this is right, what else determines the validity of a turing machine?

Asked By : Shelby. S

Answered By : Jonathan Gallagher

If you are referring to what I think you are referring to then your understanding seems correct.

A Turing machine has a precise definition: It is a tuple ... see for example http://en.wikipedia.org/wiki/Turing_machine#Formal_definition

Any system with the same components and conditions as described by the definition is indeed a Turing machine. Anything else (which may at first glance appear to be a Turing machine) is not a Turing machine.

This distinction is to weed out some wrong intuitions.
Here is an example adopted from: http://stackoverflow.com/questions/2435607/why-is-this-an-invalid-turing-machine

For example (given a polynomial P as input):

Start counter at 0 Start Zero at False while(not Zero) { eval P(counter) if ^^ is 0 set Zero to True } Return True

Can be computed by a Turing machine (i.e. describes a valid Turing machine) while

Start list at [] Start counter at 0 while(true){ add eval P(counter) to list } if any element of list is 0 return true else return false

Describes an invalid Turing machine, i.e. the code does not correspond to a Turing mahcine.

Well ^^ is all I can come up with. Maybe it will help.

Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/11173

0 comments:

Post a Comment

Let us know your responses and feedback