4 ms·
Let's say you can initialize the first N bits of the hot iron to the initial state of your program. By what process does the hot iron use that information to co
by dqpb 4y ago
Let's say you can initialize the first N bits of the hot iron to the initial state of your program. By what process does the hot iron use that information to compute the next state of your program?
- antognini 4y agoIn the case of the hot iron bar, obviously there is no deterministic process that takes us from one state to the next. We just happen to get lucky and see that it randomly fluctuates from one state to the next state correctly. The trouble is that formal computation theory does not take into consideration the physical process by which the computer moves from one state to the next. That's what makes it so general. We can make computers out of transistors or vacuum tubes or Legos equally well and can be assured that whatever we make our computer out of the computational complexity of bubble sort is O(n^2). Requiring specific physical processes for computation would invalidate computation theory in a very fundamental kind of way.
- dqpb 4y agoI'm not requiring specific physical processes, I'm asking for any physical process in a hot iron bar that executes any model of computation that is capable of running an arbitrary program. But you're saying there is not one, we just get lucky one time. That's not computation.
- antognini 4y agoThe physical process is simply that the atoms in the bar of iron start in one Turing machine state, obey the laws of physics, and end up in another Turing machine state. But this is also true of any other physical computer. It sounds like your objection is that this is not a computer because it's not reproducible --- we just got lucky that the physical states mapped onto the appropriate Turing machine states one time. But then how deterministic does the physical system need to be to be considered a computer? It can't be 100% because no real-world physical computer is 100% deterministic. Is it a computer if the mapping is correct 50% of the time? 90%? 1%? I can't see any principled reason to choose any particular value.
- red75prime 4y agoAny physical system with a component that you can throw away to make the system a more reliable computer is not a feasible implementation of an abstract computation. If you replace the iron bar with a quartz generator, reliability will increase by ten to the power of, say, quadrillion.
- walleeee 4y agowe threw away vacuum tubes and replaced them with semiconductors this made computers more reliable were the vacuum tube monstrosities not computers?
- red75prime 4y agoThey were somewhat useful implementations of abstract computations, unlike "error in the first femtosecond" iron bar computer. And vacuum tubes also played a crucial role in the process of computation, besides introduction of noise.
- iainmerrick 4y agoThe physical process is simply that the atoms in the bar of iron start in one Turing machine state, obey the laws of physics, and end up in another Turing machine state. I don't see how this addresses the key point -- those aren't random distinct states; there's an explicit description of how one state transitions to the next. That's part of the definition of the Turing machine! If you could describe a mapping from the state of your iron bar to a Turing machine's state, such that the bar correctly transitions from one machine state to the next, then yes, it is a computer! Although as others have noticed, you'd need a ludicrously large and complex mapping; the infinitesimal tail would be wagging the infinite dog. At that point you could certainly argue that the computation is really happening in the mapping itself.
- antognini 4y ago> there's an explicit description of how one state transitions to the next. That's part of the definition of the Turing machine! A Turing machine does indeed describe which states the machine transitions between (by its definition). So, it might say that if it reads a "1" and is in state "A", transition to state "B". However, crucially, a Turing machine does not specify the physical mechanism by which this state transition occurs. You just have to enumerate the rules for state transitions. The definition of a Turing machine says nothing about whether or not these states are voltages, the locations of rocks, or the magnetic moments of iron atoms. Nor does it say whether the transition is being implemented by a CPU or a human being manipulating rocks. So the only rigorous way you can make a connection to a physical computer is to just identify a mapping from physical states to Turing machine states, and observe whether or not it performs all the state transitions correctly. If it reads a "1" and is in state "A", did it go to state "B"? If it did, it is behaving as a Turing machine. If it did not, it is not behaving as a Turing machine. > At that point you could certainly argue that the computation is really happening in the mapping itself. The mapping is fixed, so I don't see how it can do any computation. Others have objected to the fact that the mapping in the iron bar is obviously extremely complicated, but this strikes me as ultimately being an objection that this doesn't "feel" like computing. But as a counterexample, you can do computations under homomorphic encryption. Suppose you have encrypted a computer program that sorts a list using homomorphic encryption. You hand it to me to run on my CPU. When I observe the voltages of the CPU, they will appear completely random to me. Only if I have the key can I provide the correct (complicated) mapping from physical states to Turing machine states and interpret what is going on on the CPU. But if we reject "complicated" mappings as not being "real" computations, then you're forced to say that computation under homomorphic encryption isn't "really" computation --- even though you've handed me a program to sort a list, it ran on my machine, and it handed you back a sorted list.