On midterm #2:
What to expect: Here are the sorts of questions I tend to ask:
- Define terms in your own words.
- Sketch the execution of an algorithm.
- Encode sentences as propositional logic
- Encode sentences as FOL
- Prove a sentence using a particular technique
- Explain why an algorithm has the characteristics it does. For example,
which search technique does the decision tree algorithm implement?
Here are the sorts of questions I will not ask.
- Write syntactically correct Python code. (I may ask you to write
pseudocode, but I'll be interested in program correctness, not whether
every bracket and colon is in the right place)
- Multiple choice questions.
- "Trick" questions - the point of this exam is to test your
knowledge of the topics we've covered. I may ask you hard questions,
but I won't ask things that are deliberately misleading or deceptive.
Potential midterm topics:
- Propositional logic:
- Encoding sentences
- definition of entailment, implication, contraposition
- Definition of a model
- Definition of sound and complete inference mechanisms
- Inference rules (modus ponens, and-elimination, or-introduction,
DeMorgan's Law)
- Converting to CNF
- Horn clauses
- Forward chaining, backward chaining
- Resolution Proof
- First-order logic
- Defintions as above
- Encoding sentences
- Converting to CNF
- Inference in FOL: forward chaining, backward chaining, resolution
- Unification
- Ontologies
- Steps in designing an ontology
- Decision trees
- What are they good for?
- Learning definitions: batch, incremental, online, offline,
active, passive
- Decision tree algorithm