Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why are there a finite number of Turing machines?

In Michael Sipser's Introduction to the Theory of Computation, he states:

"some languages are not decidable or even Turing recognizable, for the reason that there are uncountably many languages yet only countably many Turing machines. Because each Turing machine can recognize a single language and there are more languages than Turing machines, some languages are not recognized by any Turing machine" (178).

Isn't a Turing machine a hypothetical machine that can simulate any computer algorithm? And aren't there theoretically an infinite number of algorithms you could come up with? I'm having trouble wrapping my head around this concept. An 'explain like I'm 5' answer would be greatly appreciated, but of course any help is better than none.

like image 552
Archer Avatar asked Dec 16 '22 12:12

Archer


1 Answers

There are a countable number of Turing machines. That doesn't mean there's a finite number. The set of Turing machines is countably infinite, which means that Turing machines can be numbered using natural numbers. That is you can create a 1-to-1 mapping between natural numbers and Turing machines.

like image 61
sepp2k Avatar answered Mar 19 '23 16:03

sepp2k