logoalt Hacker News

cryzingeryesterday at 8:27 PM4 repliesview on HN

If we can't predict/model these Turing machines' behavior because of unsolved math problems, what's stopping us from actually creating and running them to see what would happen (and maybe getting closer to solving those math problems in the process)? Is it just a matter of scale and resources?

My knowledge here is very limited, so this isn't a "why has no one tried this one weird trick"-type question. I assume there is in fact a good reason that I don't yet understand :P


Replies

Enginerrrdyesterday at 8:35 PM

I’m a little out of my depth, but I’d guess a lot of them would probably fall into one of two categories: Something we believe should go on forever (and not halt) if the math problem is resolved the way we expect, but theoretically could suddenly halt after some absurdly long number of steps. Or something where it halts for a given input after some number of steps unless something some counter example exists where it goes on forever.

In the first, you can’t really do anything but just keep watching it not halt but it isn’t telling you anything about the infinity to go. (Say a program that spits out twin primes, we expect an infinite number but we don’t really know)

And in the second case we’d just have to keep trying larger and larger inputs making this just an extension of the first category if we wrote a program to do that for us. And if we did find an example where it goes on forever without repeating states, how would you even know? It’d be like the first situation again.

show 2 replies
jojomoddingyesterday at 9:04 PM

Consider, for example, the "Hydra" cryptid (second in the list OOP linked).

This is a BB(2,5) machine (2 states, 5 symbols). There are other BB(2,5) machines that take more than 10↑↑4 steps to terminate. And the "Hydra" is called a cryptid because it might run even longer than that. So "naively" running it is unlikely to yield results before the heat death of the universe.

Of course, you can run it more cleverly by looking at what the machine is doing and essentially re-implementing this in a faster language. People have in fact done this, and simulated 4 million "fast" steps (corresponding to much more "naive" steps), and not found it to halt. If you want to run the simulation yourself, the code is on the website OOP linked, in the article about the Hydra.