I've decided to put my rough-draft research proposal up, somewhat on a whim. Any comments, questions and suggestions are most welcome!
Narrow AI and the local-to-global problem
Many AI systems have been written which can solve a very restricted class of problems by understanding a very restricted domain of knowledge or “micro world”; SHRDLU is an important early example of this. Other examples include expert systems (e.g. medical diagnosis systems, chess playing AIs) which work well in a specific, narrow domain. Unfortunately, no AI system has made the transition from understanding a narrow, limited micro world to understanding the large, unlimited knowledge environment of the real world.
This indicates to me that current AI techniques are good at solving narrow problems, but that no-one has a workable way of patching them together to cope with very large, potentially unrestricted problem spaces.
Sheaves in mathematics
I am interested in applying a mathematical technique to solving this problem. In advanced mathematics, many objects are defined by locally attaching some kind of structure to a topological space, for example in algebraic geometry with the study of schemes. The unifying notion here is that of a sheaf on a topological space: a presheaf is a map which assigns a particular kind of structure (for example a ring, a group, a set, etc) to each open set of an open cover, and to each inclusion of open sets, a restriction map. A sheaf is a presheaf such that any consistent assignment of local structure yields a unique global structure (this is known as the gluing axiom). Sheaves can be defined in more generality, for example on a site, and they can be categorified to form stacks. The category of sheaves on a space (or on a site) forms a topos, so in fact sheaves can be manipulated using the rules of intuitionistic logic (manipulations in intuitionistic logic are valid in any topos). See [3].
Knowledge representations should be sheaves
Current (neat) knowledge based AI systems use first order predicate logic (FOPL) to represent knowledge, store facts about the world as axioms in FOPL, and derive new knowledge from old by searching for proofs of statements. [4]
I would like to investigate the possibility of defining knowledge bases for AI systems using sheaf theory: specifically, I want to represent knowledge as a sheaf of sets of statements in FOPL on a topological space. See the final section of this proposal for details.
This is partially motivated by the above discussion of the efficacy of current techniques in narrow problems but not in more general ones and the formal similarity that this has to the situation in mathematics described above. I also draw inspiration from the fact that present attempts to define so called upper ontologies (for example Cyc or SUMO) are meeting the problem that there doesn’t seem to be any acceptable “upper” or “global” ontology which suits all applications. [8], [9]. This is a problem if one thinks that knowledge bases should be globally defined sets of FOPL statements. But if one considers knowledge to be a sheaf of (for example) sets of FOPL statements defined on a topological space, then the lack of a global upper ontology is simply the statement that the knowledge sheaf has no global sections. In mathematics, many important sheaves have no (nontrivial) global sections.
The problems of defining real-world categories in terms of FOPL statements (for example using a set of necessary and sufficient conditions) has long been criticized in cognitive science and the philosophy of mind. Everyday categories like “chair”, “motorcycle” are impossible to encode in this way, and has led to philosophers of mind talking about real-world objects belonging to “fuzzy categories”. Lakoff’s Hedges are particularly interesting here [6]. Attempts to define logics which make this notion precise go back to the 1960s. This line of thought has spawned various fuzzy logics, for example logics taking truth values in the interval [0,1], see [5], [7], which in turn led to more general fuzzy logics and fuzzy sets, and to some applications in control of systems.
Sheaf theory and “Fuzzy sets”
I was encouraged in my line of thinking when I discovered the recent work of Ulrich Hohle, [1], [2] wherein a large part of fuzzy set theory is shown to be sheaf theory “in disguise”. The mathematical content of Hohle’s papers shows that fuzzy sets are sheaves on a topological space defined by the lattice of truth values.
I would consider Hohle’s papers [1], [2] a setting off point for my research, along with the standard references on knowledge based AIs. [4]
Things to do
- Read some relevant existing literature on Fuzzy Sets and fuzzy logic, for example the many publications of Zadeh, also read Hohle’s second paper. [2]
- Formalize the construction of a sheaf of FOPL systems; this will involve working out what the restriction maps should be, etc.
- Perhaps try sheaves of propositional calculus, or of semantic networks (these being strictly simpler), or even of directed, labeled graphs.
- Work out what kind of topological space we want, and how to represent it on a machine. I would also like to study the properties of finite and countable topological spaces. I would also consider whether sheaves on a site are more appropriate to this application
- I would want to try and lift all of the standard algorithms and procedures from ordinary FOPL knowledge bases to the sheafified case. This would include the “TELL” algorithm to add a new piece of knowledge and the “ASK” algorithm to query the KB. Work out how to go about proving statements in a sheaf of FOPL systems.
- Hand-coding the underlying topological space that these sheaves are constructed upon isn’t a scalable option. An automated method would be required. I have some ideas as far as this is concerned involving analysis of large corpuses of text to form a suitable topological space.
A specific example of sheaf-based knowledge representation
To define a sheaf-based knowledge representation, we need two mathematical objects:
(a) A topological space T defined by a basis B of open sets which correspond to domains of knowledge
(b) A category C such that the elements of ob(C) are some suitable knowledge representation, for example directed, labeled graphs (also known as semantic networks or conceptual graphs within the AI community [4]), and for A, B objects of C, Hom(A,B) is the set of homomorphisms suitable to that representation format. In the case of directed, labeled graphs, one would want directed graph homomorphisms.
It is an AI/data mining problem to construct the above. Given these, a (directed, labeled graph) knowledge sheaf is a functor
F: O(T) --> C
Where O(T) denotes the usual partially ordered set of open sets of T, regarded as a category, such that F satisfies the usual sheaf conditions given in, for example, [3].
Defining the sheaf F requires us to choose a homomorphism of graphs for each inclusion of domains of knowledge (open sets of T).
References
- Fuzzy sets and sheaves. Part I Basic concepts - U Höhle - Fuzzy Sets and Systems, 2007
- Fuzzy sets and sheaves. Part II - U Höhle - Fuzzy Sets and Systems, 2007
- Sheaves in Geometry and Logic: A First Introduction to Topos Theory (Universitext) by Saunders MacLane, Ieke Moerdijk
- Artificial Intelligence: Modern Approach - by Stuart J. Russell, Peter Norvig
- Fuzzy sets - LA Zadeh - Fuzzy Sets, Fuzzy Logic, and Fuzzy Systems, 1965
- Hedges: A study in meaning criteria and the logic of fuzzy concepts
G Lakoff - Journal of Philosophical Logic, 1973
- Commonsense reasoning based on fuzzy logic
LA Zadeh - Proceedings of the 18th conference on Winter simulation, 1986
- Suggested Upper Merged Ontology (SUMO) - http://www.ontologyportal.org/
- Representation as a Fluent: An AI Challenge for the Next Half Century – A. Bundy, F McNeill - IEEE INTELLIGENT SYSTEMS, 2006
