240 likes | 420 Views
CS.462 Artificial Intelligence. SOMCHAI THANGSATHITYANGKUL Lecture 04 : Logic. 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.
E N D
CS.462Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 04 : Logic
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, f→ y, f↔ y • 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. 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
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
Interpretation that make sentence’s truth value = f Examples Valid? Sentence smoke → smoke valid smoke Ç:smoke satisfiable, not valid smoke fire 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
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.
Try this • Given a sentence find the satisfiability search tree