|
|
Seriality and Parallelism in Mind and Computing Philosophical Papers - October 23, 2019 As much as we may say that the mind might be connectionist (e.g. association of ideas, association of perceptions with ideas etc….) it seems in some important respects the mind is serial. I have said that consciousness is the flow of percepts (it might be a partly volitional flow of percepts, but much of the flow is non-volitional). So, preliminarily I am going to say consciousness, basically, is the flow of percepts. This flow notably is serial. It is one percept after the other. Consciousness experience is not parallel. Even when associations are made between ideas or between percepts and ideas, multiple associations are done serially. We may have a network of concepts, but we peruse these concepts in the network and make associations one at a time. We may have a mental image of the relation between concepts (a mental map) but we peruse this mental map serially. Think about this and think about whether this is true, but preliminarily, it seems to be true. People multitask, but what they are really doing is switching from one serial task to another before completing the first task and then serially returning to the first task. Likewise computing in many respects is serial. If you think about the execution of a program, or algorithm, which is a series of steps to accomplish a task (note an algorithm doesn’t have to be computational, any action can be algorithmic) this implies serial processing of the algorithm. Yes, the algorithm may jump around and may have repetition (iteration), but each step in the jumping around or iteration is just that, a step followed by another step (of the same, i.e., iteration, or different, i.e., branch), i.e., is serial. Even execution at the hardware level is serial, i.e., an instruction is first fetched (from memory or cache) and then processed, one by one from a queue to the control unit (and the microcode in the control unit is executed serially in the same fashion as a serial algorithm) which modifies the data and completes the operation by sending the modified data back to memory. These operations all are serial. Now, there is parallel computing. You can have algorithms (which are serial) parts of the task execute simultaneously on different processors. The subtasks would execute serially as an algorithm but in parallel on different processors and then seriality would be reintroduced in coordinating the results of the subtasks to yield a solution. However, each computer participating executes its portion of the algorithm serially. This isn’t particularly well thought out or rigorous, but it seems as a matter of course, there is much more seriality in mind and in computing than may normally be thought. |
|