3 ms·
I think your hang-up is one of infinity. Just because we must deal the reality of the finite does not mean our computers are not _capable_. For example, the Tur
by leroy-is-here 3y ago
I think your hang-up is one of infinity. Just because we must deal the reality
of the finite does not mean our computers are not _capable_. For example, the
Turing Machine in our minds is able to run infinitely, but the computer plugged
in to my wall cannot because it is dependent on me paying the power bill.
Any Turing Machine we will have made into silicon is able to run any Turing
Machine we can formulate (at this current moment in time) except only up to
a finite point. But we can forever increase that finite point of measure! For
example, our computers now may be able to calculate up to N. The next year, we
may be able to do N+10000. The following year, N+10000000, and on and on. This
is a limit of our reality, but not of the Turing Machine, which our machines
must be because they are capable of being extended all the way to infinity, even
if we take them there step by step, by adding 1 at a time.
Again, if this were a problem of infinity, then we would have limited the domain
and solved the issue already. But we can design very simple, very finite Turing
Machine programs for which the Halting Problem cannot be solved:
while (true) {
sleep(1);
}
edit: you were right -- we are talking past each other. The "finite" in "finite state machine" is not useful here. Any infinite Turing Machine which we have made into silicon is still an infinite Turing Machine, just one we have inherently limited due to our realities of only having so much time or room or resources or whatever else. But a FSM is not one we limited artificially, it is a different class entirely and a class we can completely make into silicon without any sort of loss. Again, if this were a problem of "infinity" then we would have limited the domain by our own choice and solved it, which we have done for machines of a lower complexity, but _not_ for Turing Machines.
- russdill 3y agoYou're pointing out that a machine that can grow without bound is mathematically equivalent to an infinite one. There's a reason the word "finite" is part of "finite state machine". If you have a state machine that can grow without bound, it's not an FSM and is capable of computing things an FSM cannot compute. And the halting problem is solvable for any finite machine. A finite machine has a finite number of states. You only need to run N steps where N is the number of possible states. If it hasn't halted at that point, it must run forever.
- yarg 3y ago> You only need to run N steps where N is the number of possible states. It's at most N steps - the machine can return to a prior state long before that happens, which would also prove that it's non-halting. Of course the memory requirements to do that make it purely theoretical - but so too is exhaustive execution (due to time requirements). https://en.wikipedia.org/wiki/Busy_beaver#Exact_values_and_lower_bounds https://en.wikipedia.org/wiki/Busy_beaver#Exact_values_and_l...
- deleted 3y ago[deleted]