+ All Categories
Home > Documents > Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming...

Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming...

Date post: 17-Jan-2016
Category:
Upload: darren-obrien
View: 218 times
Download: 0 times
Share this document with a friend
Popular Tags:
43
Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05
Transcript
Page 1: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Answer Set Programming (ASP):

A new Paradigm for Knowledge Representation and Constraint Programming

Some slides are taken from Baral’s talk at AAAI-05

Page 2: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Intelligent Agent

• Can acquire knowledge through various means such as learning from experience, observations, reading, etc., and

• Can reason with this knowledge to make plans, explain observations, achieve goals, etc.

Page 3: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

To learn knowledge and to reason with it

• we need to know how to represent knowledge in a computer readable format.

• We need languages and corresponding methodologies to represent various kinds of knowledge.

Page 4: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Inadequacy of first order logic

• They are monotonic: More information one has, more consequences one gets.

• Human communication is typically based on closed world assumption.

Page 5: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

An ExampleDoes tweety fly?

fly(x) bird(x), not abnormal(x). bird(tweety). what if we know abnormal(tweety).

Page 6: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Answer Set Programming (ASP) Key idea: A problem is solved by representing it by a logic program whose stable models (also

called answer sets) correspond to solutions to the problem.

The most popular form of programs—normal logic programs, consisting of rules of the form: A B1, …, Bm, not C1, …, not Cn

where A, Bjs and Cks are atoms in propositional logic;

not Ci is called a default negation.

Page 7: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Ground vs Non-Ground

A function-free program can be grounded

p(X) q(X), not s(X) . % Function-free

p(X) q(f(X)), not s(X). % Not function-free

Page 8: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Suppose we have constants a,b,c in our program, the rule

p(X) q(X), not s(X).is a compact representation of three ground

rules p(a) q(a), not s(a). p(b) q(b), not s(b). p(c) q(c), not s(c).

Page 9: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Semantics

Informally, a stable model M of a ground program P is a set of ground atoms such that

• Every rule is satisfied, i.e., for any rule in P

A B1, …, Bm, not C1, …, not Cn.

if Bi are satisfied in M and not Ci are also satisfied (not Cj is satisfied if Cj is not in M), then A is in M.

• Every A M can be derived from a rule by a non-circular reasoning.

Page 10: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Examples

P1 = { a a. } M = {a} is not a stable model (the derivation of a is based on a circular reasoning), but M={} is

P2 = {a not b.} {a} is the only stable model

P3 = {a not a.} It has no stable model

Page 11: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Examples

P4 = {a not b.; b not a.}

Two stable models: {a} and {b}.

Page 12: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Examples

P4 = {a not b.; b not a.}

Two stable models: {a} and {b}.

P5 = {a not b.; b not a.; a not a.}

{a} is the only stable model.

Page 13: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Does tweety fly?

• fly(X) bird(X), not ab(X). ab(X) penguin(X). bird(X) penguin(X). bird(tweety).

- One stable model which contains fly(tweety).

• But if we add– penguin(tweety).– We can no longer conclude fly(tweety) – fly(tweety) is false w.r.t. the only stable model

Page 14: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

So, what exactly is a stable model of a normal program

Idea: you guess a set of atoms and verify it is indeed exactly the set of atoms that can be derived

The reduct of P w.r.t. M

= {h b1, …, bm |

h b1, …, bm, not c1, …, not cn is in P

and no ci is in M }

M is a stable model of P iff M is the least model of

MP

MP

Page 15: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Stable model For a normal program without negation (typically called

positive program), its least model is the set of its atomic consequences.

P:

a not b.

b not a.

M = {a} is a stable model, since is

{a .}

its set of (atomic) consequences is precisely M itself.

MP

Page 16: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Stable model

Why

a not a.

has no stable model?

• The empty set {} is not a stable model. (Why?)

• If M={a} were a stable model, the reduct of program wrt {a} is the empty set, whose set of (atomic) consequences is also empty, not the same as M.

Page 17: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Constraints for disallowing …

The head of a rule may be empty:

B1, …, Bm, not C1, …, not Cn.

It says no stable model may contain all Bjs and none of Cjs.

This can actually be encoded by a rule, where f is a new symbol:

f not f, B1, …, Bm, not C1, …, not Cn.

Page 18: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Generate-and-constrain: first generate

To specify both possibilities: a is in a solution or not, we can use a dummy a’

a not a’.

a’ not a.

Two stable models {a}, {a’}; the latter represents that a is not in solution

Page 19: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Generate-and-constrain: first generate

To specify all subsets of {a,b,c}, we can write

a not a’. b not b’. c not c’.

a’ not a. b’ not b. c’ not c.

Eight stable models each corresponding to a subset, e.g. {a, b’,c’} represents that a is in it, but not b, nor c.

Page 20: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Generate-and-constrain: then constrain

Any subset of {a,b,c} such that a and b cannot be together.

a not a’. b not b’. c not c’. a’ not a. b’ not b. c’ not c. a ,b.

• What if we want to say “whenever a is in a stable model, so is b?

Page 21: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

3-colorability

Whether 3 colors, say red, blue, and yellow, are sufficient to color a map

A map is represented by a graph, with facts about nodes and arc as given, e.g,

vertex(a).vertex(b).arc(a,b).

Page 22: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

3-colorabilityEvery vertex must be colored with exactly one color: color(V,r) vertex(V), not color(V,b), not color(V,y). color(V,b) vertex(V), not color(V,r), not color(V,y). color(V,y) vertex(V), not color(V,b), not color(V,r).

No adjacent vertices may be colored with the same color: vertex(V), vertex(U), arc(V,U),col(C), color(V,C), color(U,C).Of course, we need to say what colors are: col(r). col(b). col(y).

Page 23: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

General colorability A different encoding (more general but subtler):

color(V,C) node(V), col(C), not otherColor(V,C).

otherColor(V,C) node(V), col(C), not color(V,C).

node(V), col(C1), col(C2), color(V,C1), color(V,C2), C1 C2.

node(V), col(C), not color(V,C).

node(V), node(U), V U, arc(V,U), col(C ), color(V,C), color(U,C).

Page 24: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Hamiltonian Cycle

Given a set of facts defining the vertices and edges of a directed graph and a starting vertex v0, find a path that visits every vertex exactly once.

Page 25: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Hamiltonian Cycle

Any edge could be on such a path. We use in(U,V) to represent that edge(U,V) is on such a path.

in(U,V) edge(U,V), not out(U,V).

out(U,V) edge(U,V), not in(U,V).

out(U,V) is a dummy representing edge(U,V) is not on such a path.

Page 26: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Hamiltonian Cycle

A path must be chained to form a sequence over the edges on it:

reachable(V) in(v0,V).

reachable(V) reachable(U), in(U,V).

Page 27: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Hamiltonian Cycle

A vertex cannot be visited more than once.• This can be defined as “no more than one edge on such

a path that goes into any vertex (similarly out of such an edge):

edge(U,V),in(U,V), edge(W,V)in(W,V), U W. edge(U,V),in(U,V), edge(U,W),in(U,W), V W.

Page 28: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Hamiltonian Cycle

Don’t forget to say that every vertex must be reached.

vertex(U), not reachable(U).

Page 29: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Extensions: Cardinality constraint

A cardinality constraint is of form

L {a1, …, am, not b1, …, not bk }U The constraint is satisfied by an interpretation I (a set of atoms) if

the cardinality of the subset of the literals satisfied by I is between integers L and U, inclusive.

A cardinality constraint can be used anywhere in a rule.E.g. P = { 0{a, b, not d}2 . } Is the head satisfied by interpretation {a,b}?

Page 30: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Cardinality constraint

Generate all subsets of {a,b,c,d} such that whenever a is in it so is b:

0{a, b, c, d}4 .

b a.

As 4 is the max number of literals that may be satisfied, you may omit it for simplicity

0{a, b, c, d} .

Page 31: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Cardinality constraint

Generate all subsets of {a,b,c,d} such that if a is not in it, then b is in it.

0{a, b, c, d} .

b not a.

Are they stable models?

M1= {a,b,c} M2 = {b,c,d,e}

Page 32: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

ASP Systems

• Smodels (Helsinki Univ. of Tech.)

• DLV (Vienna Univ. of Tech.)

• ASSAT (HK Univ. of Sci. and Tech.)

• Cmodel (U. of Texas at Austin)

• Clasp (Universitat Potsdam)

Page 33: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

The Smodels System

An efficient system for computing answer sets of normal programs (later exteneded to disjunctive programs).

Consists of two parts• Lparse: ground a program• Smodels: compute the stable models of the

grounded program, based on DPLL.

Page 34: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Smodels

• Syntax largely borrowed from Prolog.

a :- not b.

b :- not a.

:- a.

• A number of language constructs for convenience

Page 35: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Conditional Literals in Smodels

A short hand to express a set. It takes the form l : d where l is an atom and d a domain predicate.E.g. Set a vertex v to exactly one color among red, blue and yellow: 1 {setColor(v,C): color(C)}1. color(red). color(blue). color(yellow).

is equivalent to 1{setColor(v,red), setColor(v,blue), setColor(v,yellow)} 1.

Page 36: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

N-colorability

% every vertex is colored with exactly one color.1 {setColor(V,C) : col(C) } 1 :- vertex(V).

% facts representing colorscol(1..colors).

% no adjacent vertices are colored with the same color:- vertex(V), vertex(U), arc(V,U), col(C ), U != V, setColor(V,C),

setColor(U,C).

% Typical command line % lparse -c colors=3 coloring.lp | smodels

Page 37: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Conditional literals in SmodelsExample

1 { p(I,J) : d(I,J) } 1.

d(I,J) :- d(I),d(J).

d(1..2).

The first rule above is equivalent to

1 {p(1,1),p(1,2),p(2,1),p(2,2) } 1.

Page 38: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Conditional literals in SmodelsNote the difference with the following program: 1 { p(I,J) : d(I) } 1 :- d(J). d(1..2).The first rule above is equivalent to 1 { p(I,1) : d(I) } 1 :- d(1). 1 { p(I,2) : d(I) } 1 :- d(2).which are equivalent to 1 {p(1,1),p(2,1)} 1 :- d(1). 1 {p(1,2),p(2,2)} 1 :- d(2).

Page 39: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Hamiltonian Cycle Revisited

Any subset of edges can be on such a path

in(U,V) edge(U,V), not out(U,V).

out(U,V) edge(U,V), not in(U,V).

Now can be programmed as:

0 {in(U,V) : edge(U,V) }.

Page 40: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Represent knowledge about Wumpus World

• There is exactly one wumpus in all rooms: 1 {at(I,J,wumpus) : room(I,J)} 1. room(I,J) :- col(I), row(J).

For a 4 by 4 grid, this is equivalent to exactly one atom being true in the set of 16:

1 {at(1,1,wumpus), at(1,2,wumpus),…….} 1.

Page 41: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

One or more adjacent rooms has a pit if breeze at current room:

1 {at(Ni,Nj,pit): adjacent(I,J,Ni,Nj)} :-

room(I,J),

sensor(I,J,none,breeze).

Page 42: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

N-queens problem#hide.#show q(X,Y). d(1..queens).1 {q(X,Y):d(Y)} 1 :- d(X). :- d(X), d(Y), d(X1), q(X,Y), q(X1,Y), X1 != X. :- d(X), d(Y), d(Y1), q(X,Y), q(X,Y1), Y1 != Y. :- d(X), d(Y), d(X1), d(Y1), q(X,Y), q(X1,Y1), X != X1, Y != Y1, abs(X - X1) == abs(Y - Y1). :- d(X), not hasq(X). hasq(X) :- d(X), d(Y), q(X,Y). % Typical command line % lparse -c queens=8 queens.lp | smodels

Page 43: Answer Set Programming (ASP): A new Paradigm for Knowledge Representation and Constraint Programming Some slides are taken from Baral’s talk at AAAI-05.

Weight constraints

We can replace cardinality by weights

L {l1, = w1 …, lm = wm }U

where each li is an atom or a not_atom. It’s satisfied when the sum of the satisfied li’’s is between L and U.

When all wi = 1, it becomes a cardinality constraint.


Recommended