Logic: representation and inference
Problem Representation
Solving a problem with a computer:
- Accurately describe the problem
- Choose an instance representation in the computer
- Select an algorithm to manipulate the representation
- Execute
Properties of Representations
What properties of representations are important?
compactness: must be able to represent big instances efficiently
utility: must be compatible with good solution algorithms
soundness: should not report untruths
completeness: should not lose information
generality: should be able to represent all or most instances of interesting problems
transparency: reasoning about/with representation is efficient, easy
Standard Representations
What instance representations do people choose?
- database: collection of facts
- neural net: collection of "neuron weights"
- functional: collection of functions
- logical: collection of sentences
Prop Logic: A Review
Propositional Formula ("PROP"):
"Atoms" that can be either true or false. Names are commonly subscripted
"Connectives": and, or, not + parentheses
Things to do:
Normalization: transform a formula into some standard form (polytime)
Checking: for a given assignment, is a formula true or false? (polytime)
Satisfiability ("SAT"): is there an assignment that makes the formula true? (NP-complete)
Tautology: does every assignment make the formula true? (NP-complete, extra variables) AKA theorem-proving
First-Order Logic: A Review
First-order Formula:
"Predicates": Atoms that can take arguments (other predicates, variables)
"Variables": Value is predicate
"Quantifiers": "exists" and "forall" "bind" variables
Things to do: Normalization (polytime), checking (polytime), sat (undecidable), tautology (undecidable)
Quantified Propositional Logic
Quantified Propositional Formula ("QPROP"): First-order logic, but all variables are bound and have a given set of discrete values they could take on
Can turn (small) QPF into (large) PROP:
forall → and, exists → or
predicates are replaced by subscripted atoms
Compact notation for PROP, reduces mistakes