Since the model tape isn't actually infinite, this machine has a finite state space, and termination is therefore decidable. No Turing Award to obtain here …
There still is no shortcut -you will still need to actually compute out those states to see how long they run. The fact that for very simple machines this is possible on modern computers does not avoid or solve the halting problem.
I’m not even sure if that is actually possible on this machine even- I suppose it depends on how many bits on the tape, and rapidly becomes impossible to compute after a pretty small number of bits.
But yes- a particular program must eventually either halt or loop back to a state it already was in, which confirms non halting.
I think this is related to the https://en.wikipedia.org/wiki/Busy_beaver game. I count 5 bits on the tape, and BB(5) = 47,176,870 which seams like a tractable number of steps for a modern computer to check.
If I've understood it correctly, this means that any program for this machine which does not halt after 47,176,871 states will run indefinitely.
BB(6) is thought to be incredibly huge, so it's nice that they stopped at 5.
Can you? It's been a long time since I studied Turing machines, but if a machine returns to an exact previous full state (of both the machine and the tape), then we know it will not terminate but loop forever; and a machine with a finite tape must return to a previous state in finite time if it doesn't terminate first. So a finite state machine will either terminate or begin to loop in finite time.
UniverseHacker|1 year ago
I’m not even sure if that is actually possible on this machine even- I suppose it depends on how many bits on the tape, and rapidly becomes impossible to compute after a pretty small number of bits.
But yes- a particular program must eventually either halt or loop back to a state it already was in, which confirms non halting.
__MatrixMan__|1 year ago
If I've understood it correctly, this means that any program for this machine which does not halt after 47,176,871 states will run indefinitely.
BB(6) is thought to be incredibly huge, so it's nice that they stopped at 5.
jagged-chisel|1 year ago
PhasmaFelis|1 year ago
arjvik|1 year ago
Jerrrrrrry|1 year ago
Just start at 1, and iterate until sqrt(x).
Whats the big deal?