Almost opposite approaches:
- Traditional computation:
- Produce correct answers, quickly if possible.
- Living computation:
- Produce timely answers, correctly if possible.
Life’s decisions usually can’t be deferred forever, but they aren’t always needed immediately either.
They are needed when they’re needed, as dictated by the situation. But most computing is ill-preparedChess playing programs that manage their own timekeeping are one exception. to exploit such temporal environments.
Computability theory doesn’t care a whit how long a computation would take, only whether it’s possible or not.
Wait, it really doesn’t care about time? Yep, it really doesn’t: Take a millisecond or take a millenium, it’s all the same to computability theory.
And that reality distortion field powers proofs of ‘universality’ and ‘computational equivalence’ dating from the originals like Turing, Church, and Gödel to more recent writingSo a cellular automaton is equivalent to a brain, when the age of the universe is equivalent to a coffee break..
Computational complexity, on the other hand, does care how much time and space things take to compute. For computational complexity, faster and smaller is always better.
But between or bestride or beyond computability theory and computational complexity, there is precious little theory of how best to solve problems given, say, one whole second using a computer the size of, say, one whole brain.
Life is deadline-drivenit seems to me, as I write this early on a Tuesday morning…, if sometimes the deadlines aren’t completely crisp and sometimes what is available and required isn’t completely clear either.
Estimating the urgency of a situation, how much computation time remains; judging whether to ‘cash out’ with one’s current best answer, or try to find a better one…
Computers today absolutely suck at these things.
Try your hand on this little model (new window); an abstract lifetime in a box:
What’s right about this model? What’s its biggest flaw? Discuss.