ANSWER SET PROGRAMMING (DLV – CLINGO):CONNECT 4 SOLVER
My Research Poster
1. Knowledge Representation, Reasoning,
and the Design of Intelligent Agents
Jackson Miller
Mentor: Dr. Michael Gelfond, Computer Science
Abstract
Knowledge representation and reasoning is a branch of
science in the field of artificial intelligence that focuses
on the design of intelligent agents. Intelligent agents are
software systems capable of exhibiting intelligent
behavior. The purpose of intelligent agents is to create a
system that can solve complex computational problems
using knowledge about the environment and rules on how
to apply this knowledge. One solution is Answer Set
Prolog, a declarative programming language that can be
used to precisely describe an intelligent agent. When
given a mathematical model of its environment and
descriptions of its abilities and goals, an intelligent agent
should be able to orient its work to achieve these goals.
An agent should also be able to adapt to a changing
environment and be capable of achieving its goals with
minimal to no human control. Intelligent agents can be
used in practical intelligent systems that create programs
for many applications such as more efficient search
algorithms and smarter robots. Additionally, intelligent
agents can lead to a better understanding of the process of
thought and to new discoveries in human cognitive
ability.
Introduction
Artificial intelligence is an emergent topic in the field of computer science that has the potential to change the way we
view technology through its ability to aid humans. The foundation of artificial intelligence focuses around a computer
being able to create a mathematical model of a system and subsequently being able to reason about this system to perform
a particular task or solve a complex problem in the way that a human would. At the core of this idea is the field of
knowledge representation and reasoning, the two systems needed for a computer to exhibit intelligent behavior.
Methods
In order for a computer to solve a problem, it must
first understand the problem. One language used
to do this is Answer Set Prolog (ASP). ASP is a
declarative programming language, meaning that
you have to describe the problem and describe
what you want done, and the compiler figures out
the specifics of how to solve it. Most
programming languages require you to tell the
computer how to do its task, but ASP only needs
the mathematical model of an environment, the
rules it needs to follow, and the goal it needs to
accomplish.
Tools of Answer Set Prolog
ASP has unique tools that allow it to be more powerful
than other languages.
One of ASP’s most useful features is its focus on belief.
Instead of operating solely on True and False, it can also
understand what is believed to be true or false and what is
not believed to be true or false. The expression
not l
evaluates to True if l is not believed to be true. This
allows the program to make claims about a system when
there is a lack of information.
The rule
-p(a) :- not p(a)
Tells the computer that if p(a) is not believed to be True,
then it is False. This idea allows the program to operate
under a Closed World Assumption, which guarantees
that the program will have a True or False answer for
every value operating under the CWA. Otherwise the
program may return a value unknown if it has no reason
to believe the value would be True.
Conclusion
Knowledge representation and reasoning is at the
heart of the field of artificial intelligence. The task
of describing a mathematical model is done
through Answer Set programming, which utilizes a
declarative programming paradigm to solve
complex problems.
Answer Set Prolog can be used to create solutions
to problems such as the Stable Marriage Problem,
but it can also be used to create intelligent agents
that are capable of reasoning about the real world.
This technology has been used to create a decision
support system for the Space Shuttle. There is also
great potential in the field of human-computer
interaction with systems being capable of
processing English in a way the computer can
understand.
References:
Gelfond, Michael, and Yulia Kahl. “Knowledge Representation,
Reasoning, and the Design of Intelligent Agents.”
https://www.cs.utexas.edu/users/vl/papers/wiasp.pdf
https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/
Pin_tumbler_with_key.svg/1229px-Pin_tumbler_with_key.svg.png
http://www.science4all.org/article/marriage-problem-and-variants/
Kinds of problems ASP can solve:
Electrical Circuit:
What is an Answer Set?
Answer Set programming is a declarative programming
paradigm, meaning that the programmer must describe
what they want the computer to solve for, and the
computer figures out the how. If the computer is able to
find at least one solution, the program is labeled
satisfiable and the ASP Solver will return the True/False
values that fit the criteria of the problem. This set of
values is known as the Answer Set.
Simply put, an Answer
Set can be thought of as a
key, and the program, a
lock. The computer looks
inside the lock and
returns a key that fits.
There may also be several
keys or no key at all.
For example, the program
p(b) :- q(a)
q(a)
The first line tells us that if q(a) is true, then p(b)
must be true. The second tells us that q(a) is always
true.
AnAnswer Set to this program is
S = {q(a), p(b)}
Because every element of S satisfies the rules of the
program.
ASP can be used to describe electrical circuits like the one
pictured above. A description of the not-gate G0 would
look like:
gate(g0).
type(g0,not_gate).
input(g0,w0).
output(g0,w1).
Description of the gate’s
inputs and outputs
val(W1,V1):-output(G,W1),
type(G,not_gate),
input(G,W0),
val(W0,V0),
opposite(V1,V0).
Description of the logic to be used to
evaluate the value of the gate
Stable Marriage Problem
The Stable Marriage Problem aims to find a stable
pairing of partners based on their preferences. The
Gale-Shapley algorithm promises a stable grouping
every time if men propose to their top choice, then their
second choice, and so on.
With ASP, a solver can find a stable configuration with
only a description of the men and women’s preferences
and the rules of engagement and preference it must
follow. That means it can solve the Stable Marriage
Problem without the use of a complex data structure or
explicit algorithm.
Acknowledgement:
I would like to thank the Honors
College Undergraduate Research
Scholars Program supported by the
CH and Helen Jones Foundations