ARTIFICIAL INTELLIGENCE CS 512 ARTIFICIAL INTELLIGENCE LECTURE 05
Logic When we have too many states, we want a convenient way of dealing with sets of states. The sentence “It’s raining” stands for all the states of the world in which it is raining. Logic provides a way of manipulating big collections of sets by manipulating short descriptions instead. Instead of thinking about all the ways a world could be, we’re going to work in the a language of expressions that describe those sets.
What is logic A formal language Syntax – what expressions are legal Semantics – what legal expressions mean Proof system – a way of manipulating syntactic expressions to get other syntactic expressions (which will tell us something new) Why proofs? Two kinds of inferences an agent might want to make: Multiple percepts => conclusions about the world Current state & operator => properties of next state
Propositional Logic Syntax Syntax: what you’re allowed to write for (thing t = fizz; t == fuzz; t++){ … } Colorless green ideas sleep furiously. Sentences (wffs: well formed formulas) true and false are sentences Propositional variables are sentences: P,Q,R,Z If f and y are sentences, then so are (f), ~f, f y, f y, fy, fy Nothing else is a sentence ((~ P ((True R) Q)) S) well formed (~(P Q) S) not well formed
Precedence ~ highest If the order is clear, you can leave off parenthesis. A B C A (B C) A B C D (A B) (C D) A B C D (A (B C)) D lowest
Try this Which of these are legal sentences? Give fully parenthesized expressions for the legal sentences.
Semantics An interpretation is a complete True / False assignment to propositional symbols The semantics (meaning) of a sentence is the set of interpretations in which the sentence evaluates to True. Example: the semantics of the sentence P Q is the set of three interpretations P=True, Q=True P=True, Q=False P=False, Q=True
Evaluating a sentence under an interpretation Truth Tables P Q ~ P P Q P Q P Q Q P P Q f t
Logical equivalences
Terminology A sentence is valid iff its truth value is t in all interpretations. Valid sentences: true, ~ false, P ~ P A sentence is satisfiable iff its truth value is t in at least one interpretation Satisfiable sentences: P, true, ~ P A sentence is unsatisfiable iff its truth value is f in all interpretations Unsatisfiable sentences: P ~ P, false, ~ true
Examples Interpretation that make sentence’s truth value = f Sentence Valid? smoke smoke valid smoke ~smoke smoke fire satisfiable, not valid smoke = t, fire = f satisfiable, not valid s = f, f = t s f = t, ~s ~f = f (s f) (~s ~f) valid (s f) (~f ~s) b d (b d) valid b d ~b d
Satisfiability Problems Many problems can be expressed as a list of constraints. Answer is assignment to variables that satisfy all the constraints. Examples: Scheduling people to work in shifts at a hospital Some people don’t work at night No one can work more than x hours a week Some pairs of people can’t be on the same shift Is there assignment of people to shifts that satisfy all constraints?
Conjunctive Normal Form Satisfiability problems are written as conjunctive normal form (CNF) formulas: is a clause, which is a disjunction of literals A, B, and ¬ C are literals, each of which is a variable or the negation of a variable. Each clause is a requirement which must be satisfied and it has different ways of being satisfied. Every sentence in propositional logic can be written in CNF
Converting to CNF
CNF Conversion Example
Try this Convert to CNF
Algorithms for Satisfiability Given a sentence in CNF, how can we prove it is satisfiable? Consider a search tree where at each level we consider the possible assignments to one variable, say P. On one branch, we assume P is f and on the other that it is t. Given an assignment for a variable, we can simplify the sentence and then repeat the process for another variable.
Assign and Simplify Example
Search Example
Search Example
Search Example
Search Example
Search Example
Search Example
Search Example
Search Example
Try this Given a sentence find the satisfiability search tree