Save this PDF as:

Size: px
Start display at page:

## Transcription

1 ANSWER SET PROGRAMMING Tran Cao Son Department of Computer Science New Mexico State University Las Cruces, NM 88011, USA October 2005

2 Acknowledgement This tutorial contains some materials from tutorials on answer set programming and on knowledge representation and logic programming from those provided by Chitta Baral, available at Michael Gelfond, available at Tran Cao Son 1

3 Introduction Answer Set Programming Answer set programming is a new programming paradigm. It is introduced in the late 90 s and manages to attracts the intention of different groups of researchers thanks to its: declarativeness: programs do not specify how answers are computed; modularity: programs can be developed incrementally; expressiveness: answer set programming can be used to solve problems in high complexity classes (e.g. Σ 2 P, Π 2 P, etc.) Answer set programming has been applied in several areas: reasoning about actions and changes, planning, configuration, wire routing, phylogenetic inference, semantic web, information integration, etc. Tran Cao Son 2

4 Purpose Introduce answer set programming Provide you with some initial references, just in case... you get excited about answer set programming Tran Cao Son 3

5 Outline Foundation of answer set programming: logic programming with answer set semantics (syntax, semantics, early application). Answer set programming: general ideas and examples Application of answer set programming in Knowledge representation Constraint satisfaction problem Combinatoric problems Reasoning about action and change Planning and diagnostic reasoning Current issues Tran Cao Son 4

6 LOGIC PROGRAMMING AND ANSWER SET SEMANTICS

7 Logic Programming and Answer Set Semantics Terminologies many brorrowed from classical logic variables: X, Y, Z, etc. object constants (or simply constants): a, b, c, etc. function symbols: f, g, h, etc. predicate symbols: p, q, etc. terms: variables, constants, and f(t 1,..., t n ) such that t i s are terms. atoms: p(t 1,..., t n ) such that t i s are terms. literals: atoms or an atom preceded by. naf-literals: atoms or an atom preceded by not. gen-literals: literals or a literal preceded by not. ground terms (atoms, literals) : terms (atoms, literals resp.) without variables. Tran Cao Son 6

8 Logic Programming and Answer Set Semantics First Order Language, Herbrand Universe, and Herbrand Base L a first order language with its usual components (e.g., variables, constants, function symbols, predicate symbols, arity of functions and predicates, etc.) U L Herbrand Universe of a language L: the set of all ground terms which can be formed with the functions and constants in L. B L Herbrand Base of a language L: the set of all ground atoms which can be formed with the functions, constants and predicates in L. Example: Consider a language L 1 with variables X, Y ; constants a, b; function symbol f of arity 1; and predicate symbol p of arity 1. U L1 = {a, b, f(a), f(b), f(f(a)), f(f(b)), f(f(f(a))), f(f(f(b))),...}. B L1 = {p(a), p(b), p(f(a)), p(f(b)), p(f(f(a))), p(f(f(b))), p(f(f(f(a)))), p(f(f(f(b)))),...}. Tran Cao Son 7

9 Logic Programming and Answer Set Semantics A logic program rule is of the form Logic Programs Syntax a 0 a 1,...,a n,not a n+1,...,not a n+k (1) where a s are atoms (of a first order language L); not a is called a naf-atom. a 0 head (the left hand side) a 1,..., a n body (the right hand side) Definition 1 A logic program is a set of logic programming rules. The language L of a program Π is often given implicitly. Remark 1 From now on, we will say a rule (resp. a program) instead of a logic programming rule (resp. a logic program), for short; Special cases: a 0 (n = 0) is called a fact; a 1,..., a n (a 0 is missing) is called a constraint or a goal; k = 0 the rule is called a positive rule. Tran Cao Son 8

10 Logic Programming and Answer Set Semantics Main Definitions ground(r, L): the set of all rules obtained from r by all possible substitution of elements of U L for the variables in r. Example 1 Consider the rule p(f(x)) p(x). and the language L 1. Then ground(r, L 1 ) will consist of the following rules: p(f(a)) p(a). p(f(b)) p(b). p(f(f(a))) p(f(a)). p(f(f(b))) p(f(b)).. For a program Π: ground(π, L) = r Π ground(r, L) L Π : The language of a program Π is the language consists of the constants, variables, function and predicate symbols (with their corresponding arities) occurring in Π. In addition, it contains a constant a if no constant occurs in Π. ground(π) = r Π ground(r, L Π ). Tran Cao Son 9

11 Logic Programming and Answer Set Semantics Example 2 Π: p(a). p(b). p(c). p(f(x)) p(x). ground(π): p(a). p(b). p(c). p(f(a)) p(a). p(f(b)) p(b). p(f(c)) p(c). p(f(f(a))) p(f(a)). p(f(f(b))) p(f(b)). p(f(f(c))) p(f(c)).. Tran Cao Son 10

12 Logic Programming and Answer Set Semantics Intuition and Examples of Using LP (Positive Programs) Meaning of a rule A positive rule a 0 a 1,..., a n can be viewed as the disjunction a 0 a 1... a n which says that if a 1,...,a n are true then a 0 is true. A rule a 0 a 1,...,a n,not a n+1,...,not a n+k states that if a 1,..., a n are true and none of the a n+1,...,a n+k can be proven to be true then a 0 is true. A constraint a 1,...,a n,not a n+1,...,not a n+k holds if some a i (1 i n) is false or some a j (n + 1 j n + k) is true. Knowledge representation using LP-rules flies(x) bird(x). wet grass sprinkler on. rain humid, hot. love(x, Y ) love(y, X). if X is a bird, then X flies The grass is wet if the sprinkler is on hot and humid causes rain Love is a symmetric relationship Tran Cao Son 11

13 Logic Programming and Answer Set Semantics Herbrand Interpretation Definition 2 The Herbrand universe (resp. Herbrand base) of Π, denoted by U Π (resp. B Π ), is the Herbrand universe (resp. Herbrand base) of L Π. Example 3 For Π = {p(x) q(f(x), g(x)). r(y ) } the language of Π consists of two function symbols: f (arity 1) and g (arity 2); p, q, and r are predicate symbols; variables X, Y ; and a (added) constant a. U Π = U LΠ = {a, f(a), g(a), f(f(a)), g(f(a)), g(f(a)), g(g(a)), f(f(f(a))),...} B Π = B LΠ = {p(a), q(a, a), r(a), p(f(a)), q(a, f(a)), r(f(a)),...} Definition 3 (Herbrand Interpretation) A Herbrand interpretation of a program Π is a set of atoms from its Herbrand base. Tran Cao Son 12

14 Logic Programming and Answer Set Semantics Semantics Positive Programs without Constraints Let Π be a positive proram and I be a Herbrand interpretation of Π. I is called a Herbrand model of Π if for every rule a 0 a 1,...,a n, if a 1,...,a n are true with respect to I (or a 1,..., a n I) then a 0 is also true with respect to I. Definition 4 The least Herbrand model for a program Π is called the minimal model of Π and is denoted by M Π. Computing M P. Let Π be a program. We define a fixpoint operator T Π that maps a set of atoms (of program Π) to another set of atoms as follows. T Π (X) = {a a B Π, there exists a rule a a 1,..., a n in Π s. t. a i X} (2) Note: By a a 1,...,a n in Π we mean there exists a rule b b 1,..., b n in Π (that might contain variables) and a ground substitution σ such that a = bσ and a i = b i σ. Remark 2 The operator T Π is often called the van Emden and Kowalski s iteration operator. Tran Cao Son 13

15 Logic Programming and Answer Set Semantics Some Examples For Π = {p(f(x)) p(x). q(a) p(x).} we have U Π = {a, f(a), f(f(a)), f(f(f(a))),...} and B Π = {q(a), p(a), p(f(a)), p(f(f(a))),...} Computing T Π (X): For X = B Π, T Π (X) = {q(a)} {p(f(t)) t U Π }. For X =, T Π (X) =. For X = {p(a)}, T Π (X) = {q(a), p(f(a))}. We have that M Π = (Why?). Tran Cao Son 14

16 Logic Programming and Answer Set Semantics Properties of T Π T Π is monotonic: T Π (X) T Π (Y ) if X Y. T Π has a least fixpoint that can be computed as follows. 1. Let X 1 = T Π ( ) and k = 1 2. Compute X k+1 = T Π (X k ). If X k+1 = X k then stops and return X k. 3. Otherwise, increase k and repeat the second step. Note: The above algorithm will terminate for positive program Π with finite B Π. We denote the least fix point of T Π with T Π ( ) or lfp(t Π ). Theorem 1 M Π = lfp(t Π ). Theorem 2 For every positive program Π without constraint, M Π is unique. Tran Cao Son 15

17 Logic Programming and Answer Set Semantics More Examples For Π 1 = {p(x) q(f(x), g(x)). r(y ) } we have that U Π1 = {a, f(a), g(a), f(f(a)), g(f(a)), g(f(a)), g(g(a)), f(f(f(a))),...} B Π1 = {p(a), q(a, a), r(a), p(f(a)), q(a, f(a)), r(f(a)),...} Computing M Π : X 0 = T Π1 ( ) = {r(a), r(f(a)), r(g(a)), r(f(f(a))),...} X 1 = T Π1 (X 0 ) = X 0 So, lfp(π 1 ) = {r(a), r(f(a)), r(g(a)), r(f(f(a))),...}. For Π 2 = {p(f(x)) p(x). q(a) p(x).} U Π2 = {a, f(a), f(f(a)), f(f(f(a))),...} B Π2 = {q(a), p(a), p(f(a)), p(f(f(a))),...} Computing M Π2 : X 0 = T Π2 ( ) = X 1 = T Π2 (X 0 ) = X 0 So, lfp(π 2 ) =. Tran Cao Son 16

18 Logic Programming and Answer Set Semantics For Π 3 = {p(f(x)) p(x). q(a) p(x). p(b).} U Π3 = {a, b, f(a), f(b), f(f(a)), f(f(b)), f(f(f(a))),...} B Π3 = {q(a), q(b), p(a), p(b), p(f(a)), p(f(b)), p(f(f(a))),...} Computing M Π3 : X 0 = T Π3 ( ) = {p(b)} X 1 = T Π3 (X 0 ) = {p(b), q(a), p(f(b))} X 2 = T Π3 (X 1 ) = {p(b), q(a), p(f(b)), p(f(f(b)))}... So, lfp(t Π3 ) = {q(a)} {p(f i (b)) i = 0, 1,...}. For Π 4 = {p a. q b. a.}, M Π4 = {a, p}. For Π 5 = {p p.}, M Π5 = For Π 6 = {p p. q.}, M Π6 = {q}. For Π 7 = {p(b). p(c). p(f(x)) p(x).},m Π7 = {p(f n (b)) n = 0,..., } {p(f n (c)) n = 0, 1....,} Tran Cao Son 17

19 Logic Programming and Answer Set Semantics Entailment For a program Π and an atom a, Π entails a (with respect to the minimal model semantics), denoted by Π = a, iff a M Π. We say that Π entails a (with respect to the minimal model semantics), denoted by Π = a, iff a M Π. Example 4 Let p(f(x)) p(x). Π = q(a) p(x). p(b). We have that M Π = lfp(t Π ) = {q(a)} {p(f i (b)) i = 0, 1,...} where f i (b) = f(f(... (f(b)))) (f repeated i times) So, we say: Π = q(a), Π = q(b), and Π = p(f i (b)) for i = 0, 1,... Tran Cao Son 18

20 Logic Programming and Answer Set Semantics Entailment Another Example Example 5 Consider the parent-child database with facts of the form p(x, Y ) (X is a parent of Y ). We can define the ancestor relationship, a(x, Y ) (X is an ancestor of Y ), using the following rules Π a = a(x, Y ) p(x, Y ). a(x, Y ) p(x, Z), a(z, Y ). Given the set of facts I = {p(a, b), p(b, c), p(c, d)}, let Π = Π a I. We can easily compute M Π = I {a(x, Y ) p(x, Y ) I} {a(a, c), a(a, d), a(b, d)} So, Π = a(a, c) and Π = a(a, d), i.e., a is an ancestor of c and d; on the other hand, Π = a(d, a), i.e., d is not an ancestor of a. Tran Cao Son 19

21 Logic Programming and Answer Set Semantics Consider a directed graph G described by a set of atoms of the form edge(x, Y ). The following program can be used to determine whether there is a path connecting two nodes of G. reachable(x, Y ) edge(x, Y ) reachable(x, Y ) edge(x, Z), reachable(z, Y ) Π G = edge(a, b) edge(b, c) edge(c, a)... It can be shown that for every pair of nodes p and q of the graph G, reachable(p, q) belongs to M ΠG iff there exists a path from p to q in the graph G. Remark 3 Reasoning using positive programs assumes the closed world assumption (CWA): anything, that cannot be proven to be true, is false. Tran Cao Son 20

22 Logic Programming and Answer Set Semantics Semantics General Logic Programs without Constraints Recall that a program is a collection of rules of the form a a 1,...,a n,not a n+1,not a n+k. Let Π be a program and X be a set of atoms, by Π X we denote the program obtained from ground(π) by 1. Deleting from ground(π) any rule a a 1,..., a n,not a n+1,not a n+k for that {a n+1,..., a n+k } X, i.e., the body of the rule contains a naf-atom not a l and a l belongs to X; and 2. Removing all of the naf-atoms from the remaining rules. Remark 4 The above transformation is often referred to as the Gelfond-Lifschitz transformation. Remark 5 Π X is a positive program. Definition 5 A set of atoms X is called an answer set of a program Π if X is the minimal model of the program Π X. Theorem 3 For every positive program Π, the minimal model of Π, M Π, is also the unique answer set of Π. Tran Cao Son 21

23 Logic Programming and Answer Set Semantics Detailed Computation Consider Π 2 = {a not b. sets {a} and {b} b not a.}. We will show that its has two answer S 1 = S 2 = {a} S 3 = {b} S 4 = {a, b} Π S 1 2 : Π S 2 2 : Π S 3 2 : Π S 4 2 : a a b b M S Π 1 = {a, b} M S 2 Π 2 = {a} M S 2 Π 3 = {b} M P S 4 = 2 M S Π 1 S 1 M S 2 Π 2 = S 2 M S 2 Π 3 2 NO Y ES Y ES NO = S 3 M Π S 4 2 S 4 Assume that our language contains two object constants a and b and consider Π = {p(x) not q(x). q(a) }. We show that S = {q(a), p(b)} is an answer set of Π. We have that Π S = {p(b) q(a) } whose minimal model is exactly S. So, S is an answer set of Π. Tran Cao Son 22

25 Logic Programming and Answer Set Semantics Examples about Answer Sets Remark 6 A program may have zero, one, or more than one answer sets. Π 1 = {a not b.}. Π 1 has a unique answer set {a}. Π 2 = {a not b. b not a.}. The program has two answer sets: {a} and {b}. Π 3 = {p a. a not b. b not a.} The program has two answer sets: {a, p} and {b}. Π 4 = {a not b. b not c. d.} Answer sets: {d, b}. Π 5 = {p not p.} No answer set. Π 6 = {p not p, d. r not d. d not r.} Answer set {r}. Tran Cao Son 24

26 Logic Programming and Answer Set Semantics Entailment w.r.t. Answer Set Semantics For a program Π and an atom a, Π entails a, denoted by Π = a, if a S for every answer set S of Π. For a program Π and an atom a, Π entails a, denoted by Π = a, if a S for every answer set S of Π. If neither Π = a nor Π = a, then we say that a is unknown with respect to Π. Remark 7 Π does not entail a DOES NOT IMPLY that Π entails a, i.e., reasoning using answer set semantics does not employ the closed world assumption. Example 6 Π 1 = {a not b.}. Π 1 has a unique answer set {a}. Π 1 = a, Π 1 = b. Π 2 = {a not b. b not a.}. The program has two answer sets: {a} and {b}. Both a and b are unknown w.r.t. Π 2. Π 3 = {p a. a not b. b not a.} The program has two answer sets: {a, p} and {b}. Everything is unknown. Tran Cao Son 25

27 Logic Programming and Answer Set Semantics Π 3 = {a not b. b not c. d.} Answer sets: {d, b}. Π 3 = b; Π 3 = a; etc. Π 4 = {p not p.} No answer set. p is unknown. Π 5 = {p not p, d. r not d. d not r.} Answer set {r}. Π 5 = r; Π 5 = p; etc. Π 6 = {p not a. p not b. a not b. b not a.} Two answer sets: {p, a} and {p, b}. So, Π 6 = p but Π 6 = a and Π 6 = a? (likewise b). Π 7 = {q not r. r not q. p not p. p not r.} One stable model: {p, q}. So, Π 7 = p and Π 7 = q. Tran Cao Son 26

28 Logic Programming and Answer Set Semantics Further intuitions behind the semantics A set of atoms S is closed under a program Π if for all rules of the form a 0 a 1,...,a m,not a m+1,...,not a n. in Π, {a 1,...,a m } S and {a m+1,..., a n } S = implies that a 0 S. A set of atoms S is said to be supported by Π if for all p S there is a rule of the form p a 1,...,a m,not a m+1,...,not a n. in Π, such that {a 1,...,a m } S and {a m+1,..., a n } S =. A set of atoms S is an answer set of a program Π iff (i) S is closed under Π and (ii) there exists a level mapping function λ (that maps atoms in S to a number) such that for each p S there is a rule in Π of the form p a 1,..., a m,not a m+1,...,not a n. such that {a 1,...,a m } S, {a m+1,..., a n } S = and λ(p) > λ(a i ), for 1 i m. Note that (ii) above implies that S is supported by Π. Tran Cao Son 27

29 LOGIC PROGRAMMING AND KNOWLEDGE REPRESENTATION

30 Logic Programming and Knowledge Representation Our knowledge Commonsense Reasoning is often incomplete (it does not contain complete information about the world), and contains defaults (rules which have exceptions, also called normative sentences). contains preferences between defaults (prefer a conclusion/default). For this reasons, we often jump to conclusions (ignore what we do not now), and know to deal with exceptions and preferences. Example 7 We know Normally, birds fly. Normally, computer science students can program. Normally, students work hard. Normally, things do not change. Normally, students do not watch TV. Normally, the speed limit on highways is 70 mph. Normally, it is cold in December. From this, we make conclusions such as Tweety flies if we know that Tweey is a bird; Monica can program if she is a computer science student; etc. Tran Cao Son 29

31 Logic Programming and Knowledge Representation Representing Defaults Normally, a s are b s. b(x) a(x),not ab(r, X) 1 Normally, birds fly. f lies(x) bird(x), not ab(bird f ly, X) Normally, animals have four legs. numberof legs(x, 4) animal(x), not ab(animal, X) Normally, fishs swim. swim(x) f ish(x), not ab(f ish, X) Normally, computer science students can program. can program(x) student(x), is in(x, cs),not ab p (X) Normally, students work hard. hard working(x) student(x), not ab(x) Typically, classes start at 8am. start time(x, 8am) class(x), not ab(x) 1 r is the name of the statement; ab(x) or ab r(x) can also be used. Tran Cao Son 30

32 Logic Programming and Knowledge Representation Example 8 (Birds) Suppose that we know r 1 : Normally, birds fly. r 3 : Penguins are birds. r 3 : Penguins do not fly. r 4 : Tweety is a penguin. r 5 : Tim is a bird. r 1 : flies(x) bird(x),not ab(r 1, X) r 2 : bird(x) penguin(x) Π b = r 3 : ab(r 1, X) penguin(x) r 4 : penguin(tweety) r 5 : bird(tim) Answer set of Π b :? Tran Cao Son 31

33 Logic Programming and Knowledge Representation Π b = Answer set of Π b : r 1 : flies(x) bird(x),not ab(r 1, X) r 2 : bird(x) penguin(x) r 3 : ab(r 1, X) penguin(x) r 4 : penguin(tweety) r 5 : bird(tim) {bird(tim), flies(tim), penguin(tweety), ab(r 1, tweety), bird(tweety) Π b = flies(tim) and Π b = flies(tweety) Tran Cao Son 32

34 Logic Programming and Knowledge Representation Defaults Example Example 9 (Animals) Consider the following information: Normally lions and tigers are cats. Sam and John are lions. Sam is not a cat. Sam is a sea lion. This information can be represented by the following program Π a = r 1 : cat(x) lion(x),not ab(r 1, X) r 2 : cat(x) tiger(x),not ab(r 2, X) r 3 : lion(x) sea lion(x) r 4 : ab(r 1, X) sea lion(x) r 5 : sea lion(sam) r 6 : lion(john) We can check that Π a entails that sam is a lion but not a cat while john is a cat which is a lion. Tran Cao Son 33

35 Logic Programming and Knowledge Representation Defaults More Examples Example 10 We know that computers are normally fast machines, the commodore is a slow machine because it is an old one. This can be represented by the following program: Π c = r 1 : fast machine(x) computer(x),not ab(x) r 2 : old(x) comodore(x) r 3 : computer(x) comodore(x) r 4 : ab(x) old(x) The Boeing 747, concord, and FA21314 are airplanes. Airplanes normally fly unless they are out of order. FA21314 is out of order. r 1 : flies(x) airplane(x),not ab(x) r 2 : ab(x) out of order(x) r Π airplanes = 3 : airplane(boeing 747) r 4 : airplane(concord) r 5 : airplane(fa21324) r 6 : out of order(fa21324) Tran Cao Son 34

36 EXTENSIONS OF LOGIC PROGRAMMING AND COMPUTING ANSWER SETS

37 Extensions of Logic Programming and Computing Answer Sets Additional Features for Knowledge Representation and Reasoning To add expressiveness and make logic programming a more suitable language for knowledge representation and reasoning, additional features and constructors are introduced: classical negation: instead of atoms, literals are used in the rule l 0 l 1,...,l n,not l n+1,...,not l n+k where l i is a literal (an atom a or its negation a). This will allow us to represent and reason with negative information. epistemic disjunction: rule is allowed to have epistemic disjunction in the head l 0 or... or l m l m+1,...,l m+n,not l m+n+1,...,not l m+n+k where or is a epistemic disjunction. This rule states that if l m+1,..., l m+n are true and there is no reason for believing that the l m+n+1,..., l m+n+k are true then at least one of the l 0,..., l m is believed to be true. nested expression: allowing not not l. Tran Cao Son 36

38 weighted-atom: Extensions of Logic Programming and Computing Answer Sets l{l 0 = w 0,..., l k = w k,not l k+1 = w k+1,...,not l k+n = w k+n }u where l i s are a literal, w i are integers, and l and u are two integers. This atom is true with respect to a set of literals S if l 0 j k l j S w j + k+1 j k+n Special case: choice atom w i = 1 for every i. l j S w j u Programs with weight constraints are defined by allowing weight atoms to appear in place of atoms. Answer set semantics: defined accordingly. See for example, M. Gelfond and V. Lifschitz, Classical negation in logic programs and disjunctive databases, New Generation Computing, 1991, pp V. Lifschitz, L. R. Tang and H. Turner, Nested expressions in logic programs, Annals of Mathematics and Artificial Intelligence, Vol. 25, 1999, pp I. Niemelä and P. Simons. Extending the Smodels System with Cardinality and Weight Constraints.Logic-Based Artificial Intelligence, pp Kluwer Academic Publishers, Tran Cao Son 37

39 Extensions of Logic Programming and Computing Answer Sets Using Classical Negation Π b = r 1 : flies(x) bird(x),not ab(r 1, X) r 2 : bird(x) penguin(x) r 3 : ab(r 1, X) penguin(x) r 4 : penguin(tweety) r 5 : bird(tim) In the bird example, Penguins do not fly is more intuitive than Normally, penguins do not fly. So, r 3 of Π b should be changed to r 3 : flies(x) penguin(x). Doing so will make the program Π b inconsistent! Obviously, r 1 does not account for the class of birds who do not fly. We should change the rule r 1 to r 1 : flies(x) bird(x),not ab(r 1, X),not flies(x) The new program, Π b = Π b \ {r 1, r 3 } {r 1, r 3} will correctly answer the same questions such as does Tim flies and does Tweety fly? Tran Cao Son 38

40 Suppose that we have a list of professor and their courses: Extensions of Logic Programming and Computing Answer Sets Professor Course mike ai sam db staff C where staff stands for someone an unknown professor who might be different than mike and sam. This list can be expressed by a set of atoms of the form teach(p, C) (P teaches C): teach(mike, ai), teach(sam, db), and teach(staf f, c). By default, we know that if a professor P teaches the course C, then (P, C) will be listed (and hence the atom teach(p, C) will be present.) Thus, by default, professor P does not teach the course C if teach(p, C) is not present. The exception to this rule are the courses taught by staff. This leads to the following two rules: teach(p, C) not teach(p, C), not ab(p, C). ab(p, C) teach(staf f, C) This will allow us to conclude that mike teaches ai but we do not know whether he teaches c or not. Tran Cao Son 39

41 Extensions of Logic Programming and Computing Answer Sets Answer Sets of Programs with Constraints For a set of ground atoms S and a constraint c a 0,..., a n,not a n+1,...,not a n+k we say that c is satisfied by S if {a 0,..., a n } \ S or {a n+1,..., a n+k } S. Let Π be a program with constraints. Let Π O = {r r Π, r has non-empty head} (Π O is the set of normal logic program rules in Π) and (Π C is the set of constraints in Π). Π C = Π \ Π O Definition 6 A set of atoms S is an answer sets of a program Π if it is an answer set of Π O and satisfies all the constraints in ground(π C ). Example 11 Π 2 = {a not b. b not a.} has two answer sets {a} and {b}. But, Π 2 = {a not b. b not a. not a} has only one answer set {a}. Tran Cao Son 40

42 Extensions of Logic Programming and Computing Answer Sets Computing Answer Sets Complexity: The problem of determining the existence of an answer set for finite propositional programs (programs without function symbols) is NP-complete. For programs with disjunctions, function symbols, etc. it is much higher. A consequence of this property is that there exists no polynomial-time algorithm for computing answer sets. Special cases: answer sets of positive programs without function symbols can be computed in polynomial time in the size of the program. A good survey on the complexity and expresiveness of different classes of logic programs can be found in Chitta Baral. Knowledge representation, reasoning and declarative problem solving, Cambridge University Press, Answer set solvers: Programs that compute answer sets of (finite and grounded) logic programs. Two main approaches: Tran Cao Son 41

43 Extensions of Logic Programming and Computing Answer Sets Direct implementation: Due to the complexity of the problem, most solvers implement a variation of the generate-and-test algorithm. The advantage of this approach is that we are free to invent! Many systems: Smodels available at Dlv available at deres available at nomore available at Using SAT solvers: A program Π is translated into a satisfiabilty problem F Π and a call to a SAT solver is made to compute solution of F Π. The main task of this approach is to write the program for the conversion from Π to F Π. Recent discoveries ensure that there is an one-to-one correspondence between solutions of F Π and answer sets of Π (e.g., see paper from the ASSAT web site). Two systems: Cmodels available at ASSAT available at Remark 8 Most of the above systems make use of lparse, a grounding program for logic programs with function symbols (typed) and weight constraints. The program is available at the Smodels web site. Tran Cao Son 42

44 Extensions of Logic Programming and Computing Answer Sets Remark 9 A Java implementation of Smodels, called Jsmodels, is available at Usage of lparse and Smodels lparse: a preprocessor for programs using as input to Smodels. Some restrictions apply: Finite domains: every variable is typed and has a finite domain; Safe rule: variables appear in the head of a rule must occur in the body of the rule, in a predicate that specifies the domain of the variable; Built-in predicates: assign, plus, minus, etc.. (see lparse user s manual for more). Do not use them in your programs or you will get errors. Command line: lparse <options> prog1 prog2... smodels number of models Tran Cao Son 43

46 Answer Set Programming Brief History and References Answer set programming was introduced in V. W. Marek, M. Truszczynski. Stable models and an alternative logic programming paradigm. In The Logic Programming Paradigm, K.R. Apt, V.W. Marek, M. Truszczynski, D.S. Warren (eds.), pp Springer-Verlag, I. Niemelä. Logic programming with stable model semantics as a constraint programming paradigm. Annals of Mathematics and Artificial Intelligence, 25(3,4): , Take off thanks to the development of several answer set solvers (Smodels and Dlv), the application of answer set programming in several applications such as planning, system configuration, cryptography, NASA s application, etc. 2001: first symposium on answer set programming: Answer Set Programming: Towards Efficient and Scalable Knowledge Representation and Reasoning, now: several symposia on ASP (http://wasp.unime.it/) now: several papers on answer set programming have been published. Tran Cao Son 45

47 Answer Set Programming Main Idea Given a problem P, whose solutions are S 1,..., S n which can be computed by generating a hypothetical solution and testing whether it is really a solution. This process is very similar to the process of computing answer sets of a logic program Π: given a program Π its answer sets can be computed by generating a set of atoms X and checking whether X is an answer set of Π This gives us the idea: Solve P by representing P as a logic program Π P whose answer sets correspond one-to-one to S 1,..., S n using the follong steps: Repesenting P as Π P ; Computing answer sets of Π P ; and Converting answer sets of Π Π to solutions of P Tran Cao Son 46

48 EXAMPLES

49 Examples Graph Coloring Coloring Figure 1: Graph Coloring Problem Problem: Given a (bi-directed) graph and three colors red, green, and yellow. Find a color assignment for the nodes of the graph such that no edge of the graph connects two nodes of the same color. Tran Cao Son 48

50 Examples Graph Coloring Example 12 (Graph coloring problem) Given a (bi-directed) graph and three colors red, green, and yellow. Find a color assignment for the nodes of the graph such that no edge of the graph connects two nodes of the same color. Representation: A graph can be specified by the set of nodes and the set of edges. Solution: A mapping from the set of nodes to the set of colors {red, green, yellow} such that no edge connects two nodes of the same color. Solving the problem (manualy): Numbering the nodes from 1 to n Assigning each node a color Checking if the assignment is a solution, i.e., satisfies the constraints no edge connects two nodes of the same color Tran Cao Son 49

51 Examples Graph Coloring Program Writing a program to solve the graph coloring problem: Graph representation: The nodes: node(1),...,node(n). The edges: edge(i, j). Solution repesentation: use the predicate color(x, Y ) - node X is assigned the color Y. Generating the solutions: Each node is assigned one color. The three rules color(x, red) not color(x, green), not color(x, yellow). (3) color(x, green) not color(x, red), not color(x, yellow). (4) color(x, yellow) not color(x, green), not color(x, red). (5) or the weighted rule 1{color(X, red), color(x, yellow), color(x, green)}1 node(x). can be used. (The weighted rule says that each node should be colored using exactly one color.) Tran Cao Son 50

### Computational Methods for Database Repair by Signed Formulae

Computational Methods for Database Repair by Signed Formulae Ofer Arieli (oarieli@mta.ac.il) Department of Computer Science, The Academic College of Tel-Aviv, 4 Antokolski street, Tel-Aviv 61161, Israel.

### One More Decidable Class of Finitely Ground Programs

One More Decidable Class of Finitely Ground Programs Yuliya Lierler and Vladimir Lifschitz Department of Computer Sciences, University of Texas at Austin {yuliya,vl}@cs.utexas.edu Abstract. When a logic

### Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

### Updating Action Domain Descriptions

Updating Action Domain Descriptions Thomas Eiter, Esra Erdem, Michael Fink, and Ján Senko Institute of Information Systems, Vienna University of Technology, Vienna, Austria Email: (eiter esra michael jan)@kr.tuwien.ac.at

### Section 7.1 First-Order Predicate Calculus predicate Existential Quantifier Universal Quantifier.

Section 7.1 First-Order Predicate Calculus Predicate calculus studies the internal structure of sentences where subjects are applied to predicates existentially or universally. A predicate describes a

### EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP Hong Jiang Mathematics & Computer Science Department, Benedict College, USA jiangh@benedict.edu ABSTRACT DCSP (Distributed Constraint Satisfaction Problem) has

### CS510 Software Engineering

CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se

### INTRODUCTORY SET THEORY

M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

### A set is a Many that allows itself to be thought of as a One. (Georg Cantor)

Chapter 4 Set Theory A set is a Many that allows itself to be thought of as a One. (Georg Cantor) In the previous chapters, we have often encountered sets, for example, prime numbers form a set, domains

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

### Foundations of Artificial Intelligence

Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard, Bernhard Nebel and Martin Riedmiller Albert-Ludwigs-Universität Freiburg Contents 1 Agents

### CSE 191, Class Note 01 Propositional Logic Computer Sci & Eng Dept SUNY Buffalo

Propositional Logic CSE 191, Class Note 01 Propositional Logic Computer Sci & Eng Dept SUNY Buffalo c Xin He (University at Buffalo) CSE 191 Discrete Structures 1 / 37 Discrete Mathematics What is Discrete

### The Foundations: Logic and Proofs. Chapter 1, Part III: Proofs

The Foundations: Logic and Proofs Chapter 1, Part III: Proofs Rules of Inference Section 1.6 Section Summary Valid Arguments Inference Rules for Propositional Logic Using Rules of Inference to Build Arguments

### Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)

Summary Summary Last Lecture sequent calculus Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Winter 013 (Normalisation and Strong Normalisation) let Π be a proof in minimal logic

### 1 VECTOR SPACES AND SUBSPACES

1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such

### The Basics of Graphical Models

The Basics of Graphical Models David M. Blei Columbia University October 3, 2015 Introduction These notes follow Chapter 2 of An Introduction to Probabilistic Graphical Models by Michael Jordan. Many figures

### COMPUTER SCIENCE TRIPOS

CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five

### Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm.

Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm. We begin by defining the ring of polynomials with coefficients in a ring R. After some preliminary results, we specialize

### Magic Sets and their Application to Data Integration

Magic Sets and their Application to Data Integration Wolfgang Faber, Gianluigi Greco, Nicola Leone Department of Mathematics University of Calabria, Italy {faber,greco,leone}@mat.unical.it Roadmap Motivation:

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### Equivalence in Answer Set Programming

Equivalence in Answer Set Programming Mauricio Osorio, Juan Antonio Navarro, José Arrazola Universidad de las Américas, CENTIA Sta. Catarina Mártir, Cholula, Puebla 72820 México {josorio, ma108907, arrazola}@mail.udlap.mx

### CS 441 Discrete Mathematics for CS Lecture 2. Propositional logic. CS 441 Discrete mathematics for CS. Course administration

CS 441 Discrete Mathematics for CS Lecture 2 Propositional logic Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Course administration Homework 1 First homework assignment is out today will be posted

### (LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,

### PROBLEM SET 7: PIGEON HOLE PRINCIPLE

PROBLEM SET 7: PIGEON HOLE PRINCIPLE The pigeonhole principle is the following observation: Theorem. Suppose that > kn marbles are distributed over n jars, then one jar will contain at least k + marbles.

### Approximated Probabilistic Answer Set Programming

Approximated Probabilistic Answer Set Programming Department of Computer Science Universidade de São Paulo São Paulo, Brazil 2014 Toy Example 4 6 2 5 1 3 Limit the percentage of time the edge (1, 3) is

### Computing Loops with at Most One External Support Rule for Basic Logic Programs with Arbitrary Constraint Atoms

Computing Loops with at Most One External Support Rule for Basic Logic Programs with Arbitrary Constraint Atoms Jianmin Ji Fangzhen Lin Jia-Huai You University of Science and Technology of China Hong Kong

### CSC 373: Algorithm Design and Analysis Lecture 16

CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements

### 1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

### WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

### n logical not (negation) n logical or (disjunction) n logical and (conjunction) n logical exclusive or n logical implication (conditional)

Discrete Math Review Discrete Math Review (Rosen, Chapter 1.1 1.6) TOPICS Propositional Logic Logical Operators Truth Tables Implication Logical Equivalence Inference Rules What you should know about propositional

### On the Relationship between Classes P and NP

Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,

### Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison

Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Tomi Janhunen 1, Ilkka Niemelä 1, Johannes Oetsch 2, Jörg Pührer 2, and Hans Tompits 2 1 Aalto University, Department

### A Knowledge-based System for Translating FOL Formulas into NL Sentences

A Knowledge-based System for Translating FOL Formulas into NL Sentences Aikaterini Mpagouli, Ioannis Hatzilygeroudis University of Patras, School of Engineering Department of Computer Engineering & Informatics,

### LOGICAL INFERENCE & PROOFs. Debdeep Mukhopadhyay Dept of CSE, IIT Madras

LOGICAL INFERENCE & PROOFs Debdeep Mukhopadhyay Dept of CSE, IIT Madras Defn A theorem is a mathematical assertion which can be shown to be true. A proof is an argument which establishes the truth of a

### WUCT121. Discrete Mathematics. Logic

WUCT121 Discrete Mathematics Logic 1. Logic 2. Predicate Logic 3. Proofs 4. Set Theory 5. Relations and Functions WUCT121 Logic 1 Section 1. Logic 1.1. Introduction. In developing a mathematical theory,

### Artificial Intelligence

Artificial Intelligence ICS461 Fall 2010 1 Lecture #12B More Representations Outline Logics Rules Frames Nancy E. Reed nreed@hawaii.edu 2 Representation Agents deal with knowledge (data) Facts (believe

### Lecture 7: NP-Complete Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit

### Handout #1: Mathematical Reasoning

Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or

### Students in their first advanced mathematics classes are often surprised

CHAPTER 8 Proofs Involving Sets Students in their first advanced mathematics classes are often surprised by the extensive role that sets play and by the fact that most of the proofs they encounter are

### 1.3 Induction and Other Proof Techniques

4CHAPTER 1. INTRODUCTORY MATERIAL: SETS, FUNCTIONS AND MATHEMATICAL INDU 1.3 Induction and Other Proof Techniques The purpose of this section is to study the proof technique known as mathematical induction.

### A Logic Approach for LTL System Modification

A Logic Approach for LTL System Modification Yulin Ding and Yan Zhang School of Computing & Information Technology University of Western Sydney Kingswood, N.S.W. 1797, Australia email: {yding,yan}@cit.uws.edu.au

### Discrete Mathematics, Chapter : Predicate Logic

Discrete Mathematics, Chapter 1.4-1.5: Predicate Logic Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 1.4-1.5 1 / 23 Outline 1 Predicates

### An Introduction to Answer Sets

An Introduction to Answer Sets Gerhard Brewka brewka@informatik.uni-leipzig.de Universität Leipzig Answer Sets p.1/20 Outline 1. Why are answer sets interesting? 2. How are they defined for definite programs?

### First-Order Stable Model Semantics and First-Order Loop Formulas

Journal of Artificial Intelligence Research 42 (2011) 125-180 Submitted 03/11; published 10/11 First-Order Stable Model Semantics and First-Order Loop Formulas Joohyung Lee Yunsong Meng School of Computing,

### Logic will get you from A to B. Imagination will take you everywhere.

Chapter 3 Predicate Logic Logic will get you from A to B. Imagination will take you everywhere. A. Einstein In the previous chapter, we studied propositional logic. This chapter is dedicated to another

### Chapter I Logic and Proofs

MATH 1130 1 Discrete Structures Chapter I Logic and Proofs Propositions A proposition is a statement that is either true (T) or false (F), but or both. s Propositions: 1. I am a man.. I am taller than

Computing and Informatics, Vol. 20, 2001,????, V 2006-Nov-6 UPDATES OF LOGIC PROGRAMS Ján Šefránek Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics, Comenius University,

### University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees

University of Ostrava Institute for Research and Applications of Fuzzy Modeling Reasoning in Description Logic with Semantic Tableau Binary Trees Alena Lukasová Research report No. 63 2005 Submitted/to

### Offline 1-Minesweeper is NP-complete

Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.

### Inference Rules and Proof Methods

Inference Rules and Proof Methods Winter 2010 Introduction Rules of Inference and Formal Proofs Proofs in mathematics are valid arguments that establish the truth of mathematical statements. An argument

### Determination of the normalization level of database schemas through equivalence classes of attributes

Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,

### CARDINALITY, COUNTABLE AND UNCOUNTABLE SETS PART ONE

CARDINALITY, COUNTABLE AND UNCOUNTABLE SETS PART ONE With the notion of bijection at hand, it is easy to formalize the idea that two finite sets have the same number of elements: we just need to verify

### Chapter 1. Logic and Proof

Chapter 1. Logic and Proof 1.1 Remark: A little over 100 years ago, it was found that some mathematical proofs contained paradoxes, and these paradoxes could be used to prove statements that were known

### Predicate Logic. Lucia Moura. Winter Predicates and Quantifiers Nested Quantifiers Using Predicate Calculus

Predicate Logic Winter 2010 Predicates A Predicate is a declarative sentence whose true/false value depends on one or more variables. The statement x is greater than 3 has two parts: the subject: x is

### ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

### 6 EXTENDING ALGEBRA. 6.0 Introduction. 6.1 The cubic equation. Objectives

6 EXTENDING ALGEBRA Chapter 6 Extending Algebra Objectives After studying this chapter you should understand techniques whereby equations of cubic degree and higher can be solved; be able to factorise

### Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### PUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include 2 + 5.

PUTNAM TRAINING POLYNOMIALS (Last updated: November 17, 2015) Remark. This is a list of exercises on polynomials. Miguel A. Lerma Exercises 1. Find a polynomial with integral coefficients whose zeros include

### Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

### Section 1. Statements and Truth Tables. Definition 1.1: A mathematical statement is a declarative sentence that is true or false, but not both.

M3210 Supplemental Notes: Basic Logic Concepts In this course we will examine statements about mathematical concepts and relationships between these concepts (definitions, theorems). We will also consider

### Finite Sets. Theorem 5.1. Two non-empty finite sets have the same cardinality if and only if they are equivalent.

MATH 337 Cardinality Dr. Neal, WKU We now shall prove that the rational numbers are a countable set while R is uncountable. This result shows that there are two different magnitudes of infinity. But we

### Phil 2440 Chapter 5: Predicate Logic Symbolizations

Phil 2440 Chapter 5: Predicate Logic Symbolizations To discuss today: Atomic sentences in predicate logic Quantifiers Some important kinds of sentences Well-formed formulas About the predicate calculus

### MAT2400 Analysis I. A brief introduction to proofs, sets, and functions

MAT2400 Analysis I A brief introduction to proofs, sets, and functions In Analysis I there is a lot of manipulations with sets and functions. It is probably also the first course where you have to take

### Lecture 8: Resolution theorem-proving

Comp24412 Symbolic AI Lecture 8: Resolution theorem-proving Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2014 15 In the previous Lecture, we met SATCHMO, a first-order theorem-prover implemented

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

### RESEARCH STATEMENT. Guohua Liu

RESEARCH STATEMENT 1 Introduction My research is focused on computational inference that concerns effective problem solving via inference with data or knowledge. Constraint programming, mathematical programming,

### 2. The Language of First-order Logic

2. The Language of First-order Logic KR & R Brachman & Levesque 2005 17 Declarative language Before building system before there can be learning, reasoning, planning, explanation... need to be able to

### chapter 2: Problem Solving

chapter 2: Problem Solving Problem Solving: Problem solving, particularly in artificial intelligence, may be characterized as a systematic search through a range of possible actions in order to reach some

### Understanding Basic Calculus

Understanding Basic Calculus S.K. Chung Dedicated to all the people who have helped me in my life. i Preface This book is a revised and expanded version of the lecture notes for Basic Calculus and other

Facts About Eigenvalues By Dr David Butler Definitions Suppose A is an n n matrix An eigenvalue of A is a number λ such that Av = λv for some nonzero vector v An eigenvector of A is a nonzero vector v

### Predicate logic Proofs Artificial intelligence. Predicate logic. SET07106 Mathematics for Software Engineering

Predicate logic SET07106 Mathematics for Software Engineering School of Computing Edinburgh Napier University Module Leader: Uta Priss 2010 Copyright Edinburgh Napier University Predicate logic Slide 1/24

### Modelling and Implementing a Knowledge Base for Checking Medical Invoices with DLV

Modelling and Implementing a Knowledge Base for Checking Medical Invoices with DLV Christoph Beierle 1, Oliver Dusso 1, Gabriele Kern-Isberner 2 1 Dept. of Computer Science, FernUniversität in Hagen, 58084

### Network (Tree) Topology Inference Based on Prüfer Sequence

Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 vanniarajanc@hcl.in,

### The Classes P and NP

The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

### A matrix over a field F is a rectangular array of elements from F. The symbol

Chapter MATRICES Matrix arithmetic A matrix over a field F is a rectangular array of elements from F The symbol M m n (F) denotes the collection of all m n matrices over F Matrices will usually be denoted

### Factoring Polynomials

Factoring Polynomials Sue Geller June 19, 2006 Factoring polynomials over the rational numbers, real numbers, and complex numbers has long been a standard topic of high school algebra. With the advent

### 2. Propositional Equivalences

2. PROPOSITIONAL EQUIVALENCES 33 2. Propositional Equivalences 2.1. Tautology/Contradiction/Contingency. Definition 2.1.1. A tautology is a proposition that is always true. Example 2.1.1. p p Definition

### Automata and Languages

Automata and Languages Computational Models: An idealized mathematical model of a computer. A computational model may be accurate in some ways but not in others. We shall be defining increasingly powerful

### Bounded-width QBF is PSPACE-complete

Bounded-width QBF is PSPACE-complete Albert Atserias 1 and Sergi Oliva 2 1 Universitat Politècnica de Catalunya Barcelona, Spain atserias@lsi.upc.edu 2 Universitat Politècnica de Catalunya Barcelona, Spain

### INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS

INTRODUCTION TO PROOFS: HOMEWORK SOLUTIONS STEVEN HEILMAN Contents 1. Homework 1 1 2. Homework 2 6 3. Homework 3 10 4. Homework 4 16 5. Homework 5 19 6. Homework 6 21 7. Homework 7 25 8. Homework 8 28

### Definition 10. A proposition is a statement either true or false, but not both.

Chapter 2 Propositional Logic Contrariwise, continued Tweedledee, if it was so, it might be; and if it were so, it would be; but as it isn t, it ain t. That s logic. (Lewis Carroll, Alice s Adventures

### 2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### Sets and functions. {x R : x > 0}.

Sets and functions 1 Sets The language of sets and functions pervades mathematics, and most of the important operations in mathematics turn out to be functions or to be expressible in terms of functions.

### Predicate Logic Review

Predicate Logic Review UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane 1 Grammar A term is an individual constant or a variable. An individual constant is a lowercase letter from the beginning

### ECEN 5682 Theory and Practice of Error Control Codes

ECEN 5682 Theory and Practice of Error Control Codes Convolutional Codes University of Colorado Spring 2007 Linear (n, k) block codes take k data symbols at a time and encode them into n code symbols.

### RESULTANT AND DISCRIMINANT OF POLYNOMIALS

RESULTANT AND DISCRIMINANT OF POLYNOMIALS SVANTE JANSON Abstract. This is a collection of classical results about resultants and discriminants for polynomials, compiled mainly for my own use. All results

### Cartesian Products and Relations

Cartesian Products and Relations Definition (Cartesian product) If A and B are sets, the Cartesian product of A and B is the set A B = {(a, b) :(a A) and (b B)}. The following points are worth special

### 3. Recurrence Recursive Definitions. To construct a recursively defined function:

3. RECURRENCE 10 3. Recurrence 3.1. Recursive Definitions. To construct a recursively defined function: 1. Initial Condition(s) (or basis): Prescribe initial value(s) of the function.. Recursion: Use a

### 3. Mathematical Induction

3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

### npsolver A SAT Based Solver for Optimization Problems

npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany peter@janeway.inf.tu-dresden.de

### Certamen 1 de Representación del Conocimiento

Certamen 1 de Representación del Conocimiento Segundo Semestre 2012 Question: 1 2 3 4 5 6 7 8 9 Total Points: 2 2 1 1 / 2 1 / 2 3 1 1 / 2 1 1 / 2 12 Here we show one way to solve each question, but there

### The Division Algorithm for Polynomials Handout Monday March 5, 2012

The Division Algorithm for Polynomials Handout Monday March 5, 0 Let F be a field (such as R, Q, C, or F p for some prime p. This will allow us to divide by any nonzero scalar. (For some of the following,

### 10. Graph Matrices Incidence Matrix

10 Graph Matrices Since a graph is completely determined by specifying either its adjacency structure or its incidence structure, these specifications provide far more efficient ways of representing a

### The Predicate Calculus in AI

Last time, we: The Predicate Calculus in AI Motivated the use of Logic as a representational language for AI (Can derive new facts syntactically - simply by pushing symbols around) Described propositional