Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.