Logic Programming for Intelligent Systems

Logic Programming for Intelligent Systems

James D. Jones (Liberty University, USA)
Copyright: © 2018 |Pages: 10
DOI: 10.4018/978-1-5225-2255-3.ch411
OnDemand PDF Download:
List Price: $37.50
10% Discount:-$3.75


In what seem to be never-ending quests for automation, integration, seamlessness, new genres of applications, and “smart systems”, all of which are fueled in part by technological changes, intellectual maturity (or so one thinks), and out-of-the-box thinking that says “surely, there must be a better way”, one dreams of a future. This paper suggests that logic programs employing recent advances in semantics and in knowledge representation formalisms provide a more robust framework in which to develop very intelligent systems in any domain of knowledge or application. The author has performed work applying this paradigm and these reasoning formalisms in the areas of financial applications, security applications, and enterprise information systems.
Chapter Preview


This is a primer for computing professionals, and not an authoritative work on the state-of-the-art of Logic Programming. Logic programming presents us with an excellent tool to develop a variety of powerful intelligent systems. What will be discussed is a particular version of logic programming called “ASP”, which means “Answer Set Programming”. “Version” in this context is defined by the semantics of the language, and not by performance issues. ASP is currently the most popular and the most well researched Logic Programming language. (To demonstrate the importance that ASP is receiving in the field, an entire issue of “AI Magazine” has been devoted to ASP. This journal is the flagship journal for the Association for the Advancement of Artificial Intelligence, the premier scholarly and practitioner association in the field of Artificial Intelligence. The issue mentioned is the most current issue at the time of this writing, Volume 37 Number 3, Fall 2016.)

While there are still issues that need to be addressed in Logic Programming, and while there may be additional non-logical techniques to complement logic-based systems, it is reasonable to believe that logic will form the cornerstone of any serious machine intelligence in the future. Consider that the goal of the field of artificial intelligence (in fact, one of the early goals of computing itself) is to build “HAL”, the all-knowing, self-sufficient computer of science-fiction movies (Clarke, 1968). To this end, it behooves us to understand, use, and further refine this paradigm.

In this paper, the syntax and of semantics of ASP shall be presented. The early forms of this language were initially called the Stable Model Semantics, and later, Disjunctive Logic Programming (Gelfond & Lifschitz, 1988; Gelfond & Lifschitz 1991). This language is a purely declarative language (as opposed to procedureal languages which dominate industry, and as opposed to functional languages which are the main competitor in the field of AI.) Declarative languages have their roots in logic programming (Kowalski, 1974; Kowalski, 1979), they are defined in the syntax and semantics of standard Prolog (Colmerauer, et. al., 1973; Clark 1978), and they employ the work on nonmonotonic logic (Reiter, 1980; Moore, 1985).

Key Terms in this Chapter

Extended Literal: A literal possibly preceded by the logical connective “not”. All of the following are extended literals - male(john), ¬male(john), not male(john), not ¬male(john).

Knowledge Representation: A field of research within artificial intelligence that seeks to methodically identify ways in which to represent and reason about knowledge of a particular domain.

Weak Negation: Use of the “not” connective. This connective means “it is not provable that ...”.

Ground: There are no variables for a term; all terms are object constants. For instance, male(X) is not ground, but male(john) is ground. ‘X’ is a variable. ‘john’ is an object constant.

Logic Programming: A field of research within artificial intelligence that seeks to use logic to represent and reason about knowledge. Initially, pure mathematical logic was used (aka “first order logic”.) However, as the need to mimic human thought processes became prevalent (such as “rules of thumb”, or “jumping to conclusions”), the field broke away from first order logic. The field still has a very strong relationship to first order logic. However, the field employs nonmonotonic techniques, and higher orders of logic.

Artificial Intelligence: The field of research aimed at getting a computer to perform tasks which one would normally associate with intelligence. Mathematician Alan Turing proposed what is now called “the Turing test” to define artificial intelligence. Loosely speaking place a computer in one secluded room, and a human in another secluded room. If an observer queried these two entities, and could not identify which entity was the computer, then the computer had achieved intelligence on a par with a human.

Strong Negation: Use of the ‘¬’ connective. This connective means “it is absolutely false that ...”.

Literal: An atom or its negation. Examples would be married(john,sue), or ¬married(john,sue).

Common Sense Reasoning: A field of research in the artificial intelligence community that seeks to endow a computer with “common sense”. Many applications of artificial intelligence are highly successful. As an example, consider the fact that IBM’s “Big Blue” has defeated the world chess champion on multiple occasions. Yet, all computer applications perform miserably when required to perform outside of the realm for which they were designed. Put differently, the performance of humans degrades gracefully, while the performance of computers plummets rapidly when performing unanticipated tasks.

Atom: Consists of an n-ary predicate symbol and n-terms. An example would be married(john,sue).

Complete Chapter List

Search this Book: