Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Logic CPSC 386 Artificial Intelligence Ellen Walker Hiram College Knowledge Based Agents • Representation – How is the knowledge stored by the agent? – Procedural vs. Declarative • Reasoning – How is the knowledge used… • To solve a problem? • To generate more knowledge? • Generic Functions – TELL (add a fact to the knowledge base) – ASK (get next action based on info in KB) Hunt the Wumpus • Game is played in a MxN grid • One player, one wumpus, one or more pits • Goal: find gold while avoiding wumpus and pits • Percepts: – Glitter (gold is in this square) – Stench (wumpus is within 1 square N,E,S,W) – Breeze (pit is within 1 square N, E, S, W) Wumpus Example [start] stench [Wumpus] Glitter [gold] stench, breeze breeze [Pit] stench breeze Examples of reasoning • If the player is in square (1, 0) and the percept is breeze, then there must be a pit in (0,0) or a pit in (2,0) or a pit in (1,1). • If the player is in (0,0) [and still alive], there is not a pit in (0,0). • If there is no breeze in (0,0), there is no pit in (0,1) • If there is also no breeze in (0,1) then there is no pit in (1,1). • Therefore, there must be a pit in (2,0) Formalizing Reasoning • Information is represented in sentences, which must have correct syntax ( 1 + 2 ) * 7 = 21 vs. 2 ) + 7 = * ( 1 21 • The meaning of a sentence (semantics) defines its truth in each model (possible world) • One sentence entails another sentence if the second one follows logically from the first; i.e. every model that has the first true, also has the second true. • Inference is the process of deriving a specific sentence from a KB (where the sentence must be entailed by the KB) Desirable properties of an inference algorithm • Soundness – Only sentences that are entailed by a KB will be derived by the inference algorithm • Completeness – Every sentence that is entailed by a KB will be derived by the inference algorithm (eventually) • If these properties are true, then every sentence derived from a true KB will be true in the world. – All reasoning can be done in a model, not the world! Propositional Logic • Syntax: Sentence -> true, false, P, Q, R … sentence ( sentence sentence ) ( sentence sentence ) ( sentence sentence ) ( sentence sentence ) ( sentence ) primitive sent. not and or implies (if) if & only if (iff) • Note: propositional logic can be directly implemented in hardware using logic gates for operations Propositional Logic Sentences • If there is a pit at [1,1], there is a breeze at [1,0] P11 B10 • There is a breeze at [2,2], if and only if there is a pit in the neighborhood B22 ( P21 P23 P12 P32 ) • There is no breeze at [2,2] B22 Propositional Logic Inference • Question: Does KB entail S? • Method 1: Truth Table Entailment – Construct a truth table whose columns are all propositions used in the sentences in KB. – If S is true everywhere all sentences in KB are true, then KB entails S (otherwise not) • Method 2: Proof – Proof by deduction – Proof by contradiction – Etc. Truth Table Entailment A F F F F T T T T B F F T T F F T T C F T F T F T F T AB F F F F F F T T AC F F F F F T F T BC F F F T F F F T A^C, C does not entail BC A,B, Entails AB Truth Table Entailment is… • Sound – by definition, since it directly implements the definition of entailment • Complete – Only when the KB (and therefore the truth table) is finite • Time consuming – The truth table size is 2number of statements , and we have to check every row! Rules for Deductive Proofs • Modus Ponens – Given: S1 S2 and S1, derive S2 • And-elimination – Given: S1 S2, derive S1 – Given: S1 S2, derive S2 • DeMorgan’s Law – Given ( A B) derive A B – Given ( A B) derive A B • More on p. 210 Example Proof by Deduction • Knowledge S1: B22 ( P21 P23 P12 P32 ) S2: B22 rule observation • Inferences S3: (B22 (P21 P23 P12 P32 )) ((P21 P23 P12 P32 ) B22) [S1,bi elim] S4: ((P21 P23 P12 P32 ) B22) [S3, and elim] S5: (B22 ( P21 P23 P12 P32 )) [contrapos] S6: (P21 P23 P12 P32 ) [S2,S6, MP] S7: P21 P23 P12 P32 [S6, DeMorg] Evaluation of Deductive Inference (using p. 110 rules) • Sound – Yes, because the inference rules themselves are sound. (This can be proven using a truth table argument). • Complete – If we allow all possible inference rules, we’re searching in an infinite space, hence not complete – If we limit inference rules, we run the risk of leaving out the necessary one… • Monotonic – If we have a proof, adding information to the DB will not invalidate the proof Resolution • Resolution allows a complete inference mechanism (search-based) using only one rule of inference • Resolution rule: – Given: P1 P2 P3 … Pn, and P1 Q1 … Qm – Conclude: P2 P3 … Pn Q1 … Qm Complementary literals P1 and P1 “cancel out” • Why it works: – Consider 2 cases: P1 is true, and P1 is false Resolution in Wumpus World • There is a pit at 2,1 or 2,3 or 1,2 or 3,2 – P21 P23 P12 P32 • There is no pit at 2,1 – P21 • Therefore (by resolution) the pit must be at 2,3 or 1,2 or 3,2 – P23 P12 P32 Proof using Resolution • To prove a fact P, repeatedly apply resolution until either: – No new clauses can be added, (KB does not entail P) – The empty clause is derived (KB does entail P) • This is proof by contradiction: if we prove that KB P derives a contradiction (empty clause) and we know KB is true, then P must be false, so P must be true! • To apply resolution mechanically, facts need to be in Conjunctive Normal Form (CNF) • To carry out the proof, need a search mechanism that will enumerate all possible resolutions. Conjunctive Normal Form for B22 ( P21 P23 P12 P32 ) 1. Eliminate , replacing with two implications (B22 ( P21 P23 P12 P32 )) ((P21 P23 P12 P32 ) B22) 2. Replace implication (A B) by A B (B22 ( P21 P23 P12 P32 )) ((P21 P23 P12 P32 ) B22) 3. Move “inwards” (unnecessary parens removed) (B22 P21 P23 P12 P32 ) ( (P21 P23 P12 P32 ) B22) 4. Distributive Law (B22 P21 P23 P12 P32 ) (P21 B22) (P23 B22) (P12 B22) (P32 B22) (Final result has 5 clauses) Resolution Example • Given B22 and P21 and P23 and P32 , prove P12 • (B22 P21 P23 P12 P32 ) ; P12 • (B22 P21 P23 P32 ) ; P21 • (B22 P23 P32 ) ; P23 • (B22 P32 ) ; P32 • (B22) ; B22 • [empty clause] Mechanical Approach to Resolution • Use DFS in “clause space” – Initial state is Not (whatever is being proven) – Goal state is Empty clause – Next state generator finds all clauses in the KB [that include negations of one or more propositions in the current state]; next states are resolutions of those clauses with current state • Like all DFS, this is worst-case exponential (search all possible clauses) Evaluation of Resolution • Resolution is sound – Becase the resolution rule is true in all cases • Resolution is complete – Provided a complete search method is used to find the proof, if a proof can be found it will – Note: you must know what you’re trying to prove in order to prove it! • Resolution is exponential – The number of clauses that we must search grows exponentially… – If it didn’t we could use resolution to solve 3SAT in polynomial time! Horn Clauses • A Horn Clause is a CNF clause with exactly one positive literal – – – – – The positive literal is called the head The negative literals are called the body Prolog: head:- body1, body2, body3 … English: “To prove the head, prove body1, …” Implication: If (body1, body2 …) then head • Horn Clauses form the basis of forward and backward chaining • The Prolog language is based on Horn Clauses • Deciding entailment with Horn Clauses is linear in the size of the knowledge base Reasoning with Horn Clauses • Forward Chaining – For each new piece of data, generate all new facts, until the desired fact is generated – Data-directed reasoning • Backward Chaining – To prove the goal, find a clause that contains the goal as its head, and prove the body recursively – (Backtrack when you chose the wrong clause) – Goal-directed reasoning First Order Logic (ch. 8) • Has a greater expressive power than propositional logic – We no longer need a separate rule for each square to say which other squares are breezy/pits • Allows for facts, objects, and relations – In programming terms, allows classes, functions and variables