Declarative Notation for Artificial Intelligence

From RuleML Wiki
Jump to: navigation, search

Author: Harold Boley


Some advantages of using human-oriented declarative notation for Artificial Intelligence (AI) systems are similar to those for building and maintaining non-AI systems. Further advantages of declarativity enter the picture as the discussion shifts from Weak AI to Strong AI.

AI research & development has been employing a variety of notations for knowledge representation and reasoning as well as for data and programs. They constitute a spectrum from human-oriented declarative notation for high-level specification to computer-oriented machine code for low-level optimization. Declarative notations, focusing the 'what' rather than the 'how', may use formal languages, controlled natural languages (e.g., controlled English), or unrestricted natural languages. Their semantics can be rigorously described for formal languages (e.g., in mathematical logic, with model theory) but is usually richer for natural languages.

Formal declarative notations, as emphasized here, include those for ontologies, e.g. RDFS taxonomies, and rules, e.g. Datalog clause sets. Rules are at the core of declarative programming (declarative notations for programming), e.g. of functional programming (conditional oriented equations), logic programming (Horn clauses), and functional-logic programming (functional-logic clauses). Formal declarative notations have been extended from deductive to inductive and abductive logics, as well as to probabilistic logics. The advantages of all of these declarative notations ensue from the high level of building and maintaining (AI) systems, simplifying testing, validation & verification, debugging (e.g., with high-level tracers and steppers), revision, and integration. Declarative notation thus allows to improve the quality of AI software.

Moreover, these runnable human-oriented notations can be automatically optimized by semantics-preserving transformations into computer-oriented code: The higher the level of the initial declarative specification, the more options for an optimizing compiler. However, once transformed to the low level of machine execution, dynamic information about any remaining bugs will stem from that level. Translating debugging information back to the high level is not trivial, since both executable-to-source decompilation and correlation of low-level bugs with the high-level constructs that caused them are not unique.

AI systems have made much use of declarative notations, e.g. with declarative programs in Lisp and Prolog, but have also often employed non-declarative (aka imperative and procedural) notations, e.g. with C code. Non-declarative formalisms for knowledge representation and reasoning further include, e.g., Warren Abstract Machine code for Prolog compilation and artificial neural networks for connectionist processing. The object-oriented style, e.g. in C++ and Java, is between the declarative and non-declarative ends of the spectrum. New notations may also be automatically designed by AI systems, again ranging from declarative to non-declarative ones.

With a view on the increasing discussions about (Strong) AI (e.g., AAAI Presidential Panel on Long-Term AI Futures, AAAI-2015 Workshop on AI and Ethics, AI100, The Future of AI: Opportunities and Challenges), the above advantages of declarative programming can be complemented by the following advantages of using declarative notations (from formal to natural) for AI:

  1. The interaction between humans and AI systems will be easier for humans, also in the long term, if AI systems use a human-oriented declarative notation.
  2. Likewise, human monitoring of AI systems, and of the interaction between AI systems, will be facilitated if these systems use a declarative notation even for AI-to-AI interactions.
  3. Moreover, AI systems can more easily explain their findings (obtained, e.g., via deduction or induction) to humans if the AI knowledge representation is declarative.
  4. Similarly, humans should better understand the internal workings of AI systems if the latter use a (declarative) language of thought.

Regarding advantages 1. and 2., the use of declarative notation will also facilitate mixed groups of humans and AI systems. Such a group could then, e.g., better monitor other (AI) systems.

Regarding advantages 3. and 4., an AI system using declarative notation should be able to explain (e.g., prove) even an advanced finding, initially in a general manner, and be capable of elaborating parts or all of this explanation (e.g., proof) to any degree of detail, wherever and whenever needed. David Deutsch contends: "Since humans are already universal explainers and constructors, they can already transcend their parochial origins, so there can be no such thing as a superhuman mind as such." In our context, "superhuman" could be interpreted as more intelligent than, e.g.: an average human, the most intelligent human, or the most intelligent team of humans. Even if no single human would be able to understand some very advanced finding of a Strong AI system, an (extensible, Internet/Web-based) team of humans, possibly assisted by (AI) systems, could still, as a group, have such an understanding.

Declarative notations can also combine formal, controlled natural, and unrestricted natural languages, e.g. as follows: (1) Specifying initial scenarios and requirements in a natural language. (2) Translating this preliminary specification into a controlled natural language (e.g., in ACE or SBVR). (3) Further translating this intermediate specification into a formal language such as first-order logic or modal logic (e.g., in Prolog-like presentation syntax of RuleML), possibly supported by a visualization syntax (e.g., in Grailog).

There is a flurry of recent efforts towards an alternative to the Turing Test for AI systems, including the Winograd Schema Challenge and other tests, possibly combined, as explored at different venues (e.g., the AAAI-2015 Workshop Beyond the Turing Test). Because of the above advantages of declarative notation, the new evaluation metrics should incorporate the degree of AI declarativity. This would be supported by AI systems being entirely open source or at least using mostly open-source components.

In summary, research & development on declarative notation for AI is one factor in achieving human-oriented AI systems. Many other factors need to be present and must be maintained for human-oriented AI, as increasingly discussed in the AI community (see, e.g., the above AAAI, AI100, and FLI links).



The main entry page for this article is on the RuleML Blog & Social Mediazine: http://blog.ruleml.org/post/36351337-declarative-notation-for-artificial-intelligence. Comments can be made there via Disqus: http://blog.ruleml.org/post/36351337-declarative-notation-for-artificial-intelligence/#disqus_thread.