As students, we begin by learning rules&facts, but in time, our job is to break them. To make clear my intention with this opening thought, let’s recall some classic rules&facts: The world was once believed flat; humans cannot fly; and machines cannot think nor have emotions.
Perhaps we should break a few more rules&facts so that a different theory of computing emerges; a theory less traditionally grounded on formal logic. There are many new ways to explore computing, such as nanocomputing, DNA computing, quantum computing, and my personal area, commonsense computing based on a theory of mind.
Over the years, one of the grand challenges in computing science has been the study of good theories of mind that could be realized in a working system. The focus on a theory of mind has included work in such key areas as commonsense reasoning, architecture, emotions, mathematics, and the engineering of systems to model given learning and reasoning functions.
We have engineered machines to function at an expert level for given tasks (for example, diagnose a medical symptom or play chess), but we do not understand how to build a machine that can function at the expert level of a five-year-old child. A child can use its commonsense knowledge to reason about its world to get unstuck, adapt, and learn.
When I think of commonsense reasoning, it covers a broad range of hard problems; for example, multiple representations (facts, rules, scripts, K-lines, and transframes, and so on), multistrategy reasoning (temporal, spatial, structural, functional, analogical, causal, and so on), reformulation, context, set theory, partial orderings, and much more.
A key point, as explained over the years by Marvin Minsky, focuses on optimization versus diversification. There is a clear need for science and engineering and for the education process of future scientists and engineers to learn to optimize, study, and successfully design for diversification. I contend that architecture, representation, and multistrategy reasoning are key areas of research that enable diversification. Diversification is a key element to commonsense reasoning.
Diversification is also a very difficult problem that requires an extensive research commitment. Perhaps there is an important observation reflected in the machine-learning work of Doug Lenat’s CYC or Allen Newell and his students’ work on SOAR. That is, it appears only a small number of continued research studies like CYC or SOAR exist. In most machine-learning achievements, the results show strong research to build machines that learn a limited set of items—and that’s it. Why not develop a research agenda to keep the learning machines turned on for a significant lifetime of learning. Why can’t a series of research efforts continue to evolve as opposed to change direction, context switch, or just stop. Consider the extensive set of experiences and learning that is required for a five-year-old child to acquire common sense.
How a person does something, like make a decision or recognize and classify something, is determined by an amazing multitude of subtle pieces of knowledge and information one uses so quickly without really being aware of the qualities of these numerous information bias. Perhaps our chunking skills hide the obvious when we think.
I suspect this is an essential function in a theory about common sense—a person or a machine must be able to use all these biases to determine context and then perform tasks. It’s a Shannon signal-to-noise function—one must attenuate to the useful bits of information. So where and when do people acquire these many little pieces of knowledge and information, and then learn to use them in many useful partial orderings and reformulations to solve problems, learn, adapt, and survive? I suspect this is the result of immersement in a culture and learning to adapt successfully.
What if we designed machines with the ability to develop a belief about something rather than having to be exact, correct, and optimal?
I wonder if we should think about designing computers differently than tradition has guided us. What if we designed machines with the ability to develop a belief about something rather than having to be exact, correct, and optimal? Children can encounter some new thing they have never seen before and believe it to be like something they currently know about.
For example, let’s assume a child knows what a hammer is, but does not know about a wrench. When encountering a wrench for the first time, a child could be satisfied to believe it just found a new type of hammer. The child could explain the wrench is a hammer because it was on Dad’s workbench where he keeps his hammers, it also has a handle to grasp and hold it by, and it has a bigger end-component attached to the handle to hit things with. The child could easily explain what this new thing is and be satisfied with this belief. Just look at all this wonderful commonsense ability. More importantly, however, as the child continues to live, learn, and adapt in its world, it continues to encounter more wrench experiences and that’s when the commonsense magic happens. The child’s mind, the architecture, and the encoded representations of the child’s experiences, allow the child to improve its belief of what a wrench is. This refinement can continue for the life of the child. In time, the child can learn the difference between a hammer and a wrench.
Perhaps we need new theories about computing. Let’s build machines that can get unstuck, accept a belief—true or false—and then move on in life, while continuing to refine that belief when possible. Why should we build all machines to optimize in a small domain? Let’s diversify rather than build sticky machines. Indeed, let the machines assimilate.