But as you said, we can’t actually recompute everything. No time. So the exhortation to “think!” can’t possibly be followed in more than a small fraction of the cases.
The best we can do is to occasionally recompute certain items. And, if the re-computation is significantly at odds with the cached result, communicate this to others, who are likely to have the same cached result. We can do this in parallel. You can recompute a few things, I’ll recompute a few things, and thousands of others are meanwhile recomputing a few things. Occasionally someone may have a significantly different result, which he’ll hopefully communicate to others. The number of significantly different results will hopefully be only a small fraction of the number of recomputed results, which might bring the sharing of different results within the realm of possibility. For example, if there are 100 of us, and each recomputes 10 results, then collectively we recompute 1000 results (assuming no overlap). Only 1 out of every 100 recomputed results might be different from the cached result. So we only need to share among ourselves the 10 significantly different recomputed results. That is pretty easy, and we will in effect have done an overhaul of 1000 cached results, at the price of only 10 recomputations each and 10 received communications each (and one transmitted communication for each person who computed a new result). Seems doable.
What seems to be blatantly forgotten is that people believe themselves to be too busy for “meditation” (as in sitting down and thinking, not necessarily in a religious way) which is coincidentally exactly the process for “clearing the cache”. Because we run around all day working and consuming entertainment instead of sitting on a hill watching sheep eat grass meditation has simply lost it’s allure. It’s a sad statement really because with only 10 minutes of meditation you can free up 1-10 cached thoughts, which when practiced over the course of a year would result in up to 3,650 “cached thoughts” being revisited. Not as optimal as the above solution, but humans wouldn’t submit to that sort of computer-like efficiency anyway.
First, each of us has a different mind that produces a different thought cache, and most of us probably won’t be able to find much of a trunk build that we can agree on. To avoid conflicts, we’ll have to transition from the current monolithic architecture to a Unix-like modular architecture. But that will take years, because we’ll have to figure out who’s running what modules, and which modules each entry in the thought cache comes from. (You can’t count on lsmod to give complete or accurate results. I’d been running several unnamed modules for years before I found out they were a reimplementation of something called Singularitarianism.)
Second, how much data will we have to transfer (allowing for authentication, error correction, and Byzantine fault-tolerance), and are you sure anyone has enough input and output bandwidth?
most of us probably won’t be able to find much of a trunk build that we can agree on
I think you’re wrong as a question of fact, but I love the way you’ve expressed yourself.
It’s more like a non-monotonic DVCS; we may all have divergent head states, but almost every commit you have is replicated in millions of other people’s thought caches.
Also, I don’t think the system needs to be Byzantine fault tolerant; indeed we may do well to leave out authentication and error correction in exchange for a higher raw data rate, relying on Release Early Release Often to quash bugs as soon as they arise.
(Rationality as software development; it’s an interesting model, but perhaps we shouldn’t stretch the analogy too far)
But as you said, we can’t actually recompute everything. No time. So the exhortation to “think!” can’t possibly be followed in more than a small fraction of the cases.
The best we can do is to occasionally recompute certain items. And, if the re-computation is significantly at odds with the cached result, communicate this to others, who are likely to have the same cached result. We can do this in parallel. You can recompute a few things, I’ll recompute a few things, and thousands of others are meanwhile recomputing a few things. Occasionally someone may have a significantly different result, which he’ll hopefully communicate to others. The number of significantly different results will hopefully be only a small fraction of the number of recomputed results, which might bring the sharing of different results within the realm of possibility. For example, if there are 100 of us, and each recomputes 10 results, then collectively we recompute 1000 results (assuming no overlap). Only 1 out of every 100 recomputed results might be different from the cached result. So we only need to share among ourselves the 10 significantly different recomputed results. That is pretty easy, and we will in effect have done an overhaul of 1000 cached results, at the price of only 10 recomputations each and 10 received communications each (and one transmitted communication for each person who computed a new result). Seems doable.
What seems to be blatantly forgotten is that people believe themselves to be too busy for “meditation” (as in sitting down and thinking, not necessarily in a religious way) which is coincidentally exactly the process for “clearing the cache”. Because we run around all day working and consuming entertainment instead of sitting on a hill watching sheep eat grass meditation has simply lost it’s allure. It’s a sad statement really because with only 10 minutes of meditation you can free up 1-10 cached thoughts, which when practiced over the course of a year would result in up to 3,650 “cached thoughts” being revisited. Not as optimal as the above solution, but humans wouldn’t submit to that sort of computer-like efficiency anyway.
Two problems.
First, each of us has a different mind that produces a different thought cache, and most of us probably won’t be able to find much of a trunk build that we can agree on. To avoid conflicts, we’ll have to transition from the current monolithic architecture to a Unix-like modular architecture. But that will take years, because we’ll have to figure out who’s running what modules, and which modules each entry in the thought cache comes from. (You can’t count on lsmod to give complete or accurate results. I’d been running several unnamed modules for years before I found out they were a reimplementation of something called Singularitarianism.)
Second, how much data will we have to transfer (allowing for authentication, error correction, and Byzantine fault-tolerance), and are you sure anyone has enough input and output bandwidth?
I think you’re wrong as a question of fact, but I love the way you’ve expressed yourself.
It’s more like a non-monotonic DVCS; we may all have divergent head states, but almost every commit you have is replicated in millions of other people’s thought caches.
Also, I don’t think the system needs to be Byzantine fault tolerant; indeed we may do well to leave out authentication and error correction in exchange for a higher raw data rate, relying on Release Early Release Often to quash bugs as soon as they arise.
(Rationality as software development; it’s an interesting model, but perhaps we shouldn’t stretch the analogy too far)