SCS Undergraduate Thesis Topics
|John Ramish||Tom Mitchell||Towards a General Knowledge Representation Language|
In the history of AI, there have been many different knowledge representation languages for different purposes: production systems for fine-grained control, logics for propositions, frames for categories, programming languages for abstract procedures, Bayes nets for probabilistic reasoning, and others. Each language is good at representing certain types of knowledge (e.g. uncertainty, groups, patterns), but bad at representing many others. A complete AI agent, however, must be able to represent all major types of knowledge. This thesis has begun to address this problem of designing a general knowledge representation language.
The first part of this thesis organized the research program. We first identify the major types of knowledge. We then present insights on knowledge representation from many disciplines (cognitive psychology, linguistics, common sense reasoning, etc.). Many such ideas clash with the current paradigm: human knowledge is context specific, three-year olds can reason in second-order logic, the Tower of Hanoi is an atypical problem, and first-order logic is a small subset of English. We present benchmark problems for measuring the capabilities of proposed languages. Finally, we identify the strengths and weaknesses of the major existing knowledge representation languages.
For the second part of this thesis, we developed a new knowledge representation language (or, more aptly, cognitive system) that aims to integrate as many types of knowledge as possible. The system draws ideas from many existing languages. It aims for the declarative expressiveness of logics, the conceptual clarity of frames, the fine-grain control of production systems, and the abstract procedural organization of programming languages. We present an implementation of the system, analyze its capabilities, and demonstrate it on a set of knowledge representation problems.