Thread View: comp.lang.misc
4 messages
4 total messages
Started by David Gudeman
Wed, 22 May 1991 04:53
Re: Will this *thread* ever halt?
Author: David Gudeman
Date: Wed, 22 May 1991 04:53
Date: Wed, 22 May 1991 04:53
27 lines
1626 bytes
1626 bytes
In article <30835@dime.cs.umass.edu> victor yodaiken writes: ]In article <3410@optima.cs.arizona.edu> gudeman@cs.arizona.edu (David Gudeman) writes: ]>In article <30814@dime.cs.umass.edu> victor yodaiken writes: ]>]... I argue that it is possible, in theory, for a C ]>]compiler to detect all paths that lead to non-terminating loops and to ]>]flag these paths. ]>I argue that this is impossible in theory. ]Your argument is that the task is difficult... ].. Impractical != impossible. You must understand "in theory" in a ]nonstandard way. No, it's just that you seem to be trying to be trying to have it both ways: "Since a computer has a finite number of states, it is possible in principle to solve the halting problem for it, since you can always just traverse all possible states." The first part of the sentence implies that you are modeling a computer as an FSM. The second part of the sentence implies that you are modeling a computer as a non-finite state machine, since you are assuming that you can traverse all possible states. Pick your model. No matter which one you pick, you cannot solve the halting problem for all programs on a given machine with a program on that machine. -- David Gudeman gudeman@cs.arizona.edu noao!arizona!gudeman
Re: Will this *thread* ever halt?
Author: victor yodaiken
Date: Wed, 22 May 1991 12:08
Date: Wed, 22 May 1991 12:08
26 lines
2046 bytes
2046 bytes
In article <3430@optima.cs.arizona.edu> gudeman@cs.arizona.edu (David Gudeman) writes: >No, it's just that you seem to be trying to be trying to have it both >ways: "Since a computer has a finite number of states, it is possible >in principle to solve the halting problem for it, since you can always >just traverse all possible states." The first part of the sentence >implies that you are modeling a computer as an FSM. The second part >of the sentence implies that you are modeling a computer as a >non-finite state machine, since you are assuming that you can traverse >all possible states. > You are defining the problem incorrectly. I do not argue that for any FSM M, we can use M to decide its own halting problem. Instead, I argue that there is a deterministic *algorithm* with time/space bounded by the number of states of M, and that this algorithm can decide the halting problem for M. If we want, we can compute this algorithm on a FSM with sufficient state space (probably quite a bit larger than M). You are arguing that there are programs which can be executed on any computer which use enough of the state space of the computer as to leave no room for a program that would emulate them. But, of course. However these programs *can* be emulated on a bigger, but still finite, physical or virtual machine. Note that there is no analog for this procedure with TMs. A TM does not get any more powerful when we add additional tapes or heads, but FSMs limited to n states are strictly less powerful than FSMs limited to n+1 states.
Re: Will this *thread* ever halt?
Author: Raul Rockwell
Date: Thu, 23 May 1991 00:41
Date: Thu, 23 May 1991 00:41
34 lines
2299 bytes
2299 bytes
victor yodaiken: I argue that there is a deterministic *algorithm* with time/space bounded by the number of states of M, and that this algorithm can decide the halting problem for M. If we want, we can compute this algorithm on a FSM with sufficient state space (probably quite a bit larger than M). Well, yes. If you're dealing with an arbitrary machine, with 16k ram (8 bit bytes) you have to have a state space of over 10^(10^6) bits to store halting information (halts/doesn't) for every possible state. And this doubles every time you add a bit to the machine -- for a unix system with a gigabyte of disk space, your state space over 10^(8.26x10^10) bits (a number greater than 1 followed by over 82 billion zeros (decimal)). An the other hand, many algorithms can be easily shown to halt. (Any algorithm which is "primitive recursive" in the number-theoretic sense, which includes just about every computer programming technique except arbitrary loops and arbitrary recursion). So I can see why a person might want to say that the halting problem is solvable for a practical machine, but I wouldn't say that using state space is a useful solution. The solution I see is to limit yourself to a class of problems which are primitive recursive. From personal experience, I can say that you're still going to have to resort to state machine style techniques when you deal with i/o or secondary storage (secondary storage being defined as any storage not managed transparently by your target language). And I'm sure that any systems implementor can tell you horror stories about lurking race conditions and other potential bogosities in the os... Raul Rockwell
Re: Will this *thread* ever halt?
Author: Kenneth Walker
Date: Thu, 23 May 1991 16:10
Date: Thu, 23 May 1991 16:10
17 lines
1384 bytes
1384 bytes
In article <30863@dime.cs.umass.edu>, yodaiken@chelm.cs.umass.edu (victor yodaiken) writes:
>
> You are defining the problem incorrectly. I do not argue that for any
> FSM M, we can use M to decide its own halting problem. Instead, I argue
> that there is a deterministic *algorithm* with time/space bounded by the
> number of states of M, and that this algorithm can decide the halting
> problem for M. If we want, we can compute this algorithm on a FSM with
> sufficient state space (probably quite a bit larger than M).
The original problem, as I recall, was whether a compiler can solve
the halting problem for real programs. I insist on being able to
run your compiler on the same machine I run my program on. (After
all, this is a real-world question and not some "silly" theoretical
exercise, right? :-)
Ken Walker / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
+1 602 621-4252 kwalker@cs.arizona.edu {uunet|allegra|noao}!arizona!kwalker
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads