Presentation is loading. Please wait.

Presentation is loading. Please wait.

Logic - Part 2 CSE 573. © Daniel S. Weld 2 Reading Already assigned R&N ch 5, 7, 8, 11 thru 11.2 For next time R&N 9.1, 9.2, 11.4 [optional 11.5]

Similar presentations


Presentation on theme: "Logic - Part 2 CSE 573. © Daniel S. Weld 2 Reading Already assigned R&N ch 5, 7, 8, 11 thru 11.2 For next time R&N 9.1, 9.2, 11.4 [optional 11.5]"— Presentation transcript:

1 Logic - Part 2 CSE 573

2 © Daniel S. Weld 2 Reading Already assigned R&N ch 5, 7, 8, 11 thru 11.2 For next time R&N 9.1, 9.2, 11.4 [optional 11.5]

3 © Daniel S. Weld 3 573 Topics Agency Problem Spaces Search Knowledge Representation Reinforcement Learning InferencePlanning Supervised Learning Logic-Based Probabilistic

4 © Daniel S. Weld 4 Immediate Schedule Today Tues 10/14 Thurs 10/16 Logic 2 & Planning as Prop Logic CSP & Graphplan (Planning as CSP) Class  3:30pm “Intelligence in Wikipedia”

5 © Daniel S. Weld 5 Propositional Logic Syntax Atomic sentences: P, Q, … Connectives: , , ,  Semantics Truth Tables Inference Modus Ponens Resolution DPLL GSAT Complexity

6 © Daniel S. Weld 6 Propsitional Logic: Syntax Atoms P, Q, R, … Literals P,  P Sentences Any literal is a sentence If S is a sentence Then (S  S) is a sentence Then (S  S) is a sentence Conveniences P  Q same as  P  Q

7 © Daniel S. Weld 7 Special Syntactic Forms General Form: ((q  r)  s))   (s  t) Conjunction Normal Form (CNF) (  q  r  s )  (  s   t) Set notation: { (  q, r, s ), (  s,  t) } empty clause () = false Binary clauses: 1 or 2 literals per clause (  q  r) (  s   t) Horn clauses: 0 or 1 positive literal per clause (  q   r  s ) (  s   t) (q  r)  s (s  t)  false

8 © Daniel S. Weld 8 Semantics Syntax: which arrangements of symbols are legal (Def “sentences”) Semantics: what the symbols mean in the world (Mapping between symbols and worlds) Sentences Facts Sentences Representation World Semantics Inference

9 © Daniel S. Weld 9 Satisfiability, Validity, & Entailment S is satisfiable if it is … S is unsatisfiable if it is … S is valid if it is true in … S1 entails S2 if …

10 © Daniel S. Weld 10 Satisfiability, Validity, & Entailment S is satisfiable if it is true in some world S is unsatisfiable if it is false all worlds S is valid if it is true in all worlds S1 entails S2 if wherever S1 is true S2 is also true

11 © Daniel S. Weld 11 Forward Chaining, Backward Chaining & Resolution as Search States Logical Formulae Operators Apply a rule to create a new sentence (conjunct) Goal State Different

12 © Daniel S. Weld 12 Inference 3: Model Enumeration for (m in truth assignments){ if (m makes  true) then return “Sat!” } return “Unsat!” View as Search? Critique?

13 © Daniel S. Weld 13 Inference 4: DPLL (Enumeration of Partial Models) [Davis, Putnam, Loveland & Logemann 1962] Version 1 dpll_1(pa){ if (pa makes F false) return false; if (pa makes F true) return true; choose P in F; if (dpll_1(pa  {P=0})) return true; return dpll_1(pa  {P=1}); } Returns true if F is satisfiable, false otherwise

14 © Daniel S. Weld 14 (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 1

15 © Daniel S. Weld 15 a (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 1 F

16 © Daniel S. Weld 16 a (F  b  c) (F  ¬b) (F  ¬c) (T  c) DPLL Version 1 F

17 © Daniel S. Weld 17 a (F  F  c) (F  T) (F  ¬c) (T  c) DPLL Version 1 F b

18 © Daniel S. Weld 18 a (F  F  F) (F  T) (T  F) DPLL Version 1 F b c

19 © Daniel S. Weld 19 a F T T T DPLL Version 1 F b c

20 © Daniel S. Weld 20 a b c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 1

21 © Daniel S. Weld 21 a b c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 1

22 © Daniel S. Weld 22 a b c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 1

23 © Daniel S. Weld 23 a b b c c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 1

24 © Daniel S. Weld 24 DPLL as Search Search Space? Algorithm?

25 © Daniel S. Weld 25 Improving DPLL

26 © Daniel S. Weld 26 Improving DPLL (more)

27 © Daniel S. Weld 27 Observation!

28 © Daniel S. Weld 28 DPLL version 2 dpll_2(F, literal){ remove clauses containing literal if (F contains no clauses)return true; shorten clauses containing  literal if (F contains empty clause) return false; choose V in F; if (dpll_2(F,  V))return true; return dpll_2(F, V); } Partial assignment corresponding to a node is the set of chosen literals on the path from the root to the node

29 © Daniel S. Weld 29 a (F  b  c) (F  ¬b) (F  ¬c) (T  c) DPLL Version 2 F

30 © Daniel S. Weld 30 a (b  c)(b  c) (¬b) (¬c) DPLL Version 2

31 © Daniel S. Weld 31 a (F  c) (T) (¬c) DPLL Version 2 b

32 © Daniel S. Weld 32 a (c)(c) (¬c) DPLL Version 2 b

33 © Daniel S. Weld 33 a (F) (T) DPLL Version 2 b c

34 © Daniel S. Weld 34 a () DPLL Version 2 b c Empty clause!

35 © Daniel S. Weld 35 a (F  F  F) (F  T) (T  F) DPLL Version 2 F b c

36 © Daniel S. Weld 36 a F T T T DPLL Version 2 F b c

37 © Daniel S. Weld 37 a b c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 2

38 © Daniel S. Weld 38 a b c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 2

39 © Daniel S. Weld 39 a b c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL Version 2

40 © Daniel S. Weld 40 Benefit Can backtrack before getting to leaf

41 © Daniel S. Weld 41 Structure in Clauses Pure Literals A symbol that always appears with same sign {{a  b c}{  c d  e}{  a  b e}{d b}{e a  c}} Unit Literals A literal that appears in a singleton clause {{  b c}{  c}{a  b e}{d b}{e a  c}} Might as well set it true! And simplify {{a  b c} {  a  b e} {e a  c}} Might as well set it true! And simplify {{  b} {a  b e}{d b}} {{d}}

42 © Daniel S. Weld 42 In Other Words May view this as adding constraint propagation techniques into play

43 © Daniel S. Weld 43 In Other Words May view this as adding constraint propagation techniques into play

44 © Daniel S. Weld 44 DPLL (previous version) Davis – Putnam – Loveland – Logemann dpll(F, literal){ remove clauses containing literal if (F contains no clauses) return true; shorten clauses containing  literal if (F contains empty clause) return false; if (F contains a unit or pure L) return dpll(F, L); choose V in F; if (dpll(F,  V))return true; return dpll(F, V); }

45 © Daniel S. Weld 45 DPLL (for real!) Davis – Putnam – Loveland – Logemann dpll(F, literal){ remove clauses containing literal if (F contains no clauses) return true; shorten clauses containing  literal if (F contains empty clause) return false; if (F contains a unit or pure L) return dpll(F, L); choose V in F; if (dpll(F,  V))return true; return dpll(F, V); }

46 © Daniel S. Weld 46 a b c c (a  b  c) (a  ¬b) (a  ¬c) (¬a  c) DPLL (for real)

47 © Daniel S. Weld 47 DPLL (for real!) Davis – Putnam – Loveland – Logemann dpll(F, literal){ remove clauses containing literal if (F contains no clauses) return true; shorten clauses containing  literal if (F contains empty clause) return false; if (F contains a unit or pure L) return dpll(F, L); choose V in F; if (dpll(F,  V))return true; return dpll(F, V); } Where could we use a heuristic to further improve performance? What is the search space anyway?

48 © Daniel S. Weld 48 Heuristic Search in DPLL Heuristics are used in DPLL to select a (non- unit, non-pure) proposition for branching Idea: identify a most constrained variable Likely to create many unit clauses MOM’s heuristic: Most occurrences in clauses of minimum length

49 © Daniel S. Weld 49 Success of DPLL 1962 – DPLL invented 1992 – 300 propositions 1997 – 600 propositions (satz) Additional techniques: Learning conflict clauses at backtrack points Randomized restarts 2002 (zChaff) 1,000,000 propositions – encodings of hardware verification problems

50 © Daniel S. Weld 50 Horn Theories Recall the special case of Horn clauses: { (  q   r  s ), (  s   t) } { ((q  r)  s ), ((s  t)  false) } Many problems naturally take the form of such if/then rules If (fever) AND (vomiting) then FLU Unit propagation is refutation complete for Horn theories Good implementation – linear time!

51 © Daniel S. Weld 51 WalkSat Local search over space of complete truth assignments With probability P: flip any variable in any unsatisfied clause With probability (1-P): flip best variable in any unsat clause Like fixed-temperature simulated annealing SAT encodings of N-Queens, scheduling Best algorithm for random K-SAT Best DPLL: 700 variables Walksat: 100,000 variables [Slide #s from 2001]

52 © Daniel S. Weld 52 Random 3-SAT sample uniformly from space of all possible 3- clauses n variables, l clauses Which are the hard instances? around l/n = 4.3

53 © Daniel S. Weld 53 Random 3-SAT Varying problem size, n Complexity peak appears to be largely invariant of algorithm backtracking algorithms like Davis-Putnam local search procedures like GSAT What’s so special about 4.3?

54 © Daniel S. Weld 54 Random 3-SAT Complexity peak coincides with solubility transition l/n < 4.3 problems under- constrained and SAT l/n > 4.3 problems over- constrained and UNSAT l/n=4.3, problems on “knife-edge” between SAT and UNSAT

55 © Daniel S. Weld 55 Real-World Phase Transition Phenomena Many NP-hard problem distributions show phase transitions - job shop scheduling problems TSP instances from TSPLib exam timetables @ Edinburgh Boolean circuit synthesis Latin squares (alias sports scheduling) Hot research topic: predicting hardness of a given instance, & using hardness to control search strategy (Horvitz, Kautz, Ruan 2001-3)

56 © Daniel S. Weld 56 Summary: Algorithms Forward Chaining Resolution Model Enumeration Enumeration of Partial Models (DPLL) Walksat

57 © Daniel S. Weld 57 Prop. Logic Themes Expressiveness NPC in general Completeness / speed tradeoff Horn clauses, binary clauses Tractability Expressive but awkward No notion of objects, properties, or relations Number of propositions is fixed


Download ppt "Logic - Part 2 CSE 573. © Daniel S. Weld 2 Reading Already assigned R&N ch 5, 7, 8, 11 thru 11.2 For next time R&N 9.1, 9.2, 11.4 [optional 11.5]"

Similar presentations


Ads by Google