Download Notes for chapter 3 lectures, part 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Using Definite Knowledge
Notes for Ch.3 of Poole et al.
CSCE 580
Marco Valtorta
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Definite Clause Language
•
•
•
•
A database language
A question-answering system
A programming language
A representation and reasoning systems (RRS)
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Definite Clauses as RRS
• Which concepts and individuals to represent?
• At what level of detail?
• Is each clause true in the intended interpretation?
– If so, a sound proof procedure will generate
only answers that are true in the intended
interpretation!
• Do the rules for the predicates cover all cases?
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
House Wiring (elect.pl)
• Review Fig. 3.1 (same as 1.3)
• Level of detail (abstraction) influenced by goals of
modeling and available information
– Determine whether light are on or off
– Voltage and frequency are irrelevant
– Common-sense level: we may ignore Kirkhoff’s
law
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Individuals and Relations
• Wires, switches, lights, outlets, circuit breakers.
• Relationships represented by predicates:
– light(L)---L is a light
– lit(L)---L, a light, is lit
– live(W)---W, a wire, has current
– up(S)---S, a switch, is up
– down(S)
– ok(E)---E, a circuit breaker or a light, is not blown
– connected_to(X,Y)---current (if present at Y) would flow
to X.
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Axiomatize!
• Write what is true in the intended interpretation, using constant
and predicate names.
• Start with facts.
– light(l1)---l1 is a light
– down(s1)---switch s1 is down
– ok(l2)---l2 is not blown
• There is a “light” predicate but no “switch” predicate. Why?
– Because we distinguish lights when we define “lit”
– Because switches cannot be broken
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Keep axiomatizing!
• Rules, e.g.:
– connected_to(w0,w1) <- up(s2)
• Is this true in the intended interpretation? Check it!
– Check what? The figure!
– connected_to(w5, outside).
• Should connected_to be transitive? Symmetric?
Reflexive?
– Maybe, but it is not in elect.pl!
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
More Rules for House Wiring
• lit(L) <- light(L) & ok(L) & live(L).
• A recursive definition:
– live(Y) <- connected_to(Y,Z) ^ live(Z).
– live(outside).
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Is this axiomatization good?
• Every clause is true in the intended interpretation.
• Some “true” facts are not represented at all.
– Some are impossible to represent in definite
clause logic without introducing new predicates
or constants, e.g.:
• “If a light is ok and live and it is not lit, then it is
blown” requires a negated atom in the body of a
clause!
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering