The naive concept of understanding includes everything we’ve already learned from cognitive psychology, and other sciences of the brain. Knowing, for example, that the brain runs on neurons with certain activation functions is useful even if you don’t know the specific activation states of all the neurons in your brain, as is a high-level algorithmic description of how our thought processes work.
This counts as part of the map that reflects the world “inside our heads”, and it is certainly worth refining.
In the context of a computer program or AI such “understanding” would include the AI inspecting its own hardware and its own source code, whether by reading it from the disk or esoteric quining tricks. An intelligent AI could make useful inferences from the content of the code itself -- without having to actually run it, which is what would constitute “simulation” and run into all the paradoxes with having not enough memory to contain a running version of itself.
“Understanding” is then usually partial, but still very useful. “Simulating” is precise and essentially complete, but usually computationally intractable (and occasionally impossible) so we rarely try to do that. You can’t get around logical certainty, but that just means you’ll sometimes have to live with incomplete knowledge, and it’s not as if we weren’t resigned to that anyway.
The naive concept of understanding includes everything we’ve already learned from cognitive psychology, and other sciences of the brain. Knowing, for example, that the brain runs on neurons with certain activation functions is useful even if you don’t know the specific activation states of all the neurons in your brain, as is a high-level algorithmic description of how our thought processes work.
This counts as part of the map that reflects the world “inside our heads”, and it is certainly worth refining.
In the context of a computer program or AI such “understanding” would include the AI inspecting its own hardware and its own source code, whether by reading it from the disk or esoteric quining tricks. An intelligent AI could make useful inferences from the content of the code itself -- without having to actually run it, which is what would constitute “simulation” and run into all the paradoxes with having not enough memory to contain a running version of itself.
“Understanding” is then usually partial, but still very useful. “Simulating” is precise and essentially complete, but usually computationally intractable (and occasionally impossible) so we rarely try to do that. You can’t get around logical certainty, but that just means you’ll sometimes have to live with incomplete knowledge, and it’s not as if we weren’t resigned to that anyway.