Notes for chapter 3 lectures, part 1

Download Report

Transcript Notes for chapter 3 lectures, part 1

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