|This page is written and maintained by someone other than Benjamin Mako Hill and is being hosted here by special arrangement.|
Intuitively commonsense computing aims to solve the problems that are easy for people but very difficult for non-human computers. We aim to build systems that can autonomously solve underspecified problems without getting stuck.
What is commonsense?
The ambition behind commonsense computing covers all of the meanings that the vernacular connotation of "commonsense" implies. Useful definitions will invariably exclude key components. With this in mind, here are some approximate definitions, each from different perspectives:
- Communication: Between two people, commonsense is the knowledge one person believes both people share.
- Goals: Commonsense is the world-knowledge used to build plans to solve problems, spanning semantic, procedural and episodic knowledge.
- Debugging: Commonsense reasoning requires identifying problems in problem-solving and knowledge, and reacting in the right way to maximize the learning from a single failure.
- Perception: Commonsense is the learned reactions used to categorize and construct mental representations from multi-modal sensory streams.
- Mental Realms: Commonsense is organized into context specific sparsely connected mental realms. We must not only learn the connections between ways of thinking but also the disconnections between ways of thinking.
Table of Contents
To address the barrage of problems above, we have focused on designing and implementing architectures for commonsense reasoning. Our group approachs the problem by integrating research from many academic disciplines and practices the philosophy that the best way to understand powerful minds is by building them.
This document contains these parts:
1. [#Architectures Architectures for commonsense computing] that specify the interaction between mental resources. 2. [#RepresentingCommonsense Knowledge-based applications] that use, learn or collect commonsense knowledge to augument common reasoning problems.
Architectures for Commonsense
Marvin Minsky has proposed the Emotion Machine architecture for [#Resourcefulness resourceful] commonsense thinking. Its main premise is that we need many ways to represent knowledge, solve problems and learn from mistakes. The underlying structure is a simple 6-layered organization, Model-6, where each layer has specialized critics, that match patterns against a case-library, and selectors, which arbitrate between the many different ways to respond to the problem. The job of a selector can vary from invoking a representation, a procedure, or debugging another representation.
Problem Solving in Model-6
See Glossary for an explanation of the interrelated terms such as: goals, actions, problems and plans.
Problems are identified in terms of a rule-based system called the Critic-Selector model, where a critic observes the problem and a selector a way for it to be solved. In the Model-6 architecture, each layer specializes in a specific type of problem solving, so that each layer has a collection of critics that identify and propose ways to solve problems (see EM-ONE, for an implementation of the first three layers of Model-6 Singh, 2005).
- Reactive Critics: Notice problems in the internal descriptions of the world and proposes goals.
- Deliberative Critics: Classify goals and propose ways to achieve them based on past epsiodes
- Reflective Critics: Recognize problems in the deliberative layer, including planning, and suggest ways to improve the problem sovling.
- Self-Reflective Critics:
- Self-Conscious Critics:
Self-Conscious Thinking and Goals
Where do high-level goals come from? High-level goals determine which problems an agent tries to solve, thus determining the subjects they "think about." It would