From: ingles@engin.umich.edu (Ray Ingles)
Newsgroups: alt.atheism
Subject: Re: contradictory nature of free will and omni-anything
Date: 27 Jan 93 19:31:28 GMT
Organization: University of Michigan Engineering, Ann Arbor
NNTP-Posting-Host: wormwood.engin.umich.edu

In article <1k69nkINNd21@horus.ap.mchp.sni.de> odwyer@sse.ie writes:
>In article <1jq6eqINNm3f@srvr1.engin.umich.edu> ingles@engin.umich.edu (Ray Ingles) writes:
>#In article <1993Jan22.170557.4387@st-andrews.ac.uk> nrp@st-andrews.ac.uk (Norman R. Paterson) writes:
>#[deletions]
>#>I think free-will is an illusion.  There's also a difference between being
>#>determined and being predictable, as I will try to show.  In the following
>#>I use the term "computer" to mean "hardware + software".
>#>
>#>A computer's behaviour is entirely determined (ignoring quantum effects for
>#>the moment).  It's progression from one state to the next is hard-wired.
>
>No. If I stand beside your computer flicking the on/off switch, what sense
>is there in what you say? You are viewing the computer as a closed system.
>Nice try - but this closed system isn't the universe. Look what it's doing 
>to the laws of thermodynamics. It has a funny idea of gravity too.

 The 'halting problem' which Norman refers to below strictly applies to
'Turing machines' which are conceptual computers invented to think about
certain problems in computability.
 Conceptually, a Turing machine is a black box with a fixed number of states.
It has a tape that it can feed forward or backward, and the tape is infinite
in both directions. It can read from and write to the tape (in binary).
 Each state has a set of rules associated with it; for example, state #1
might be: if the tape has a zero, feed left and go to state #34, if a one,
feed right and stay in state #1. The possible actions are: feed left,
feed right, read, write 1, write 0, go to state #x, and halt.
 It can be shown that any problem that can be formulated algorithmically
can be represented by a Turing machine.
 Obviously no one has ever built one, they exist purely as a theoretical
concept. They are only for thought-experiments. (If nothing else, where
would you get the infinite tape?) You can program a computer to simulate
one imperfectly; I have a Mac program which does just that.
 However, a Turing machine is a *useful* concept. If you can prove that a
Turing machine cannot do something, then no computer around today can do
it either.

>#>However, it is impossible to _predict_ what a given computer will do.  If
>#>you want to find out, you have to let it run, and wait for it to finish.
>#>(This is the basis of the halting problem: you can't even predict whether
>#>any given computer will halt or not.)
>
>True. If it were determined, it would still be unpredictable.  But you
>have yet to show that even a computer's behaviour is determined.

***********IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT***********
># Well, in *practice*, yes, things may not be predictable. But in principle
>#they need not be unpredictable.
***********IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT***********

 Do you understand my point now? Norman (as far as I can tell) had
incorrectly understood the 'halting problem' to state that there was no
way to tell if a deterministic computer would halt. I was explaining that
the 'halting problem' merely stated that there was no *algorithm* or
general procedure for deciding if a given 'Turing machine' would halt.

>                                 As an example, take the process:
># 
># Given an integer:
>#     If even, divide by two.
>#     If odd, multiply by three and add one.
>#     Repeat.
># 
># As far as anyone knows, any integer you do this to will eventually go
>#to one. But no one has proved it; there may be a 'loop' that doesn't
>#include the number 'one'.
># I could make a turing machine to run this procedure for all integers,
>#stopping if it finds a sequence that loops. Now, as far as anyone knows,
>#it will never stop.
># But, there is nothing that says that we might not find a proof that it
>#will or won't stop. Some clever individual may find a proof that all
>#integers go to one under that process. *Then* we would know.
>
>This is akin to the belief that one day science will explain everything
>in the universe.

 No, No, No, No, No, No, No, No, No, No, No, No, No, No, No.
 I was saying, for *a particular case*, that one might be able to decide
if it would halt or not. I did *not* (repeat: not) say that eventually
an answer would be found for all cases. Clear?

>                 How do you distinguish an infinite procedure from one
>which is going to terminate in the next second.  How long will you wait 
>before you hit the abort key?
>[...]

 The part you deleted gave an example. The Turing machine with one command:
"Halt." I can know if that one will halt; in fact, it will. For any one
specific case, it may be possible to figure out if the Turing machine
that represents that problem will halt. But there is no general algorithm
that can do that. (If you *really* want, I can tell you the proof.)

># Also, what if we run the same program on two computers, but one is faster
>#than the other? If the faster one stops, we can know that the slower one
>#will stop.
>
>Unless it blows up. Or I spill coffee on the disk. Or I trip on the power
>cord. Dashed unpredictable these users - something about free will...

 As explained above, WE ARE TALKING ABOUT ABSTRACT THEORETICAL ENTITIES,
NOT SPECIFIC ACTUAL COMPUTERS THAT YOU COULD PUT ON YOUR DESK.

 Sincerely,

 Ray Ingles               ingles@engin.umich.edu

 "The meek can *have* the Earth. The rest of us are going to the
stars!" - Robert A. Heinlein