--- David Clark <[EMAIL PROTECTED]> wrote: > > A computer with finite memory can > > only model (predict) a computer with less memory. No computer can > simulate > > itself. When we introspect on our own brains, we must simplify the model > to a > > probabilistic one, whether or not it is actually deterministic. > > This is NOT true. How many answers can be had by the formula for a single > straight line? The answer is infinite. A computer CAN model/simulate > anything including itself (whatever that means) given enough time. If the > model has understanding (formulas or algorithms) then any amount of > simulated detail can be realized.
By simulate, I mean in the formal sense, as a universal Turing machine can simulate any other Turing machine, for example, you can write a program in C that runs programs written in Pascal (e.g. a compiler or interpreter). Thus, you can predict what the Pascal program will do. Languages like Pascal and C define Turing machines. They have unlimited memory. Real machines have finite memory, so you do the simulation properly you need to also define the hardware limits of the target machine. So if the real program reports an out of memory error, the simulation should too, at precisely the same point. Now if the target machine (running Pascal) has 2 MB memory, and your machine (running C) has 1 MB, then you can't do it. Your simulator will run out of memory first. Likewise, you can't simulate your own machine, because you need additional memory to run the simulator. When we lack the memory for an exact simulation, we can use an approximation, one that usually but not always gives the right answer. For example, we forecast the weather using an approximation of the state of the Earth's atmosphere and get an approximate answer. We can do the same with programs. For example, if a program outputs a string of bits according to some algorithm, then you can often predict most of the bits by looking up the last few bits of context in a table and predicting whatever bit was last output in this context. The cache and branch prediction logic in your CPU do something like this. This is an example of your computer simulating itself using a simplified, probabilistic model. A more accurate model would analyze the entire program and make exact predictions, but this is not only impractical but also impossible. So we must have some cache misses and branch mispredictions. In the same way, the brain cannot predict itself. The brain has finite memory. Even if the brain were deterministic (no neuron noise), this would still be the case. If a powerful enough computer knew the exact state of your brain, it could predict what you would think next, but you could not predict what that computer would output. I know in theory you could follow the computer's algorithm on pencil and paper, but even then you would still not know the result of that manual computation until you did it. No matter what you do, you cannot predict your own thoughts with 100% accuracy. Your mental model must be probabilistic, whether the hardware is deterministic or not. -- Matt Mahoney, [EMAIL PROTECTED] ----- This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?member_id=231415&user_secret=fabd7936