Professional Documents
Culture Documents
Revision Lecture
Course V231 Department of Computing Imperial College Simon Colton
Overview
What can I get you to write about? What can I get you to explain? What can I get you to do?
Disclaimer: I may miss something today which appears on the exam. I will certainly cover more stuff than is on the exam.
General notions of AI
Characterisations, autonomous agents, search, Representations, game playing to demonstrate these notions Predicate logic, automating deduction, Resolution theorem proving, constraint solving Overview (FIND-S), decision trees, Artificial Neural Networks, Inductive Logic Programming Genetic algorithms, genetic programming
Automated reasoning
Machine learning
Evolutionary approaches
Characterisations of AI
Long term goals weak & strong AI Inspirations, e.g., brain, society, logic, evolution, Methodologies: scruffies (me) and neat (good AI people) Techniques, representations, applications, products
An important characterisation:
Knowledge:
Definitions of rational, autonomous, agents What we have to worry about internally (agent)
Understanding
Why we use agents as a concept in AI Why we worry about rationality and autonomy
Knowledge
Initial state, operators, goal test What are you looking for (path or artefact)? Completeness/soundness, time/space tradeoffs, background Depth first, breadth first, iterative deepening, bidirectional
Difference between path cost and heuristic functions Types of heuristic search
Uniform path cost, greedy, A*, IDA* Admissible heuristics, comparing heuristics with effective branching
Understanding
Agenda analogy and graph analogy Why we have to search for an answer to problems (+coursework) Why we need different types of search
Why completeness & soundness are important notions Why heuristics are needed, what they are in general Specify a problem as a search problem Simulate a specific kind of search
Abilities
Knowledge Representation
Knowledge
Logical, graphical, production rules, frames Propositional, predicate, higher order, fuzzy, etc.
Understanding
Why different representations are required Limitations of each representation Expressiveness in logical representations Represent information
Abilities
Game Playing
Knowledge
What a zero-sum two player game is What the minimax principle is in general, what cutoff search is Evaluations functions, weighted linear functions Alpha-beta pruning Expectimax, chance nodes Why using minimax strategies is rational Write down entire search trees for simple games Propagate scores from the bottom to top of the trees Work out the next move for a player, including expectimax
Understanding
Abilities
Knowledge
What quantifiers mean, their scope, etc. Instantiation, ground variables, etc. Horn clauses, logic programs, body, head How search is undertaken in Prolog, LIPS, WAM OR-parallelism, AND-parallelism
Understanding
What the terms syntax and semantics mean Prolog is a declarative, not procedural language How logic-based expert systems work in general Translate English to first order predicate logic Translate first order predicate logic to English
Abilities
Simulate a Prolog-style search Identify parts of logic sentences and logic databases
Knowledge
That and, or are commutative, distributive Some commonly used propositional equivalence rules
Double negation, rules [E1], [E4], [E5], de Morgans law Unit resolution, and elimination, or introduction, Existential elimination, etc. Not simple/common ones Forward/backward chaining, proof by contradiction
Understanding
What it means for two sentences to be logically equivalent What it means for a sentence to be false What it means for one sentence to entail another How rewrite rules can be used for proving equivalences Use truth tables to
Abilities
Show equivalences, tautologies, that a statement is false That one statement implies another Show whats above and below the line
Translate sentences:
Knowledge
What conjunctive normal form is What a substitution is, what unification does Overview of the unification algorithm The resolution rule
Understanding
That resolution is refutation-complete Why we need conjunctive normal form/unification Why the occurs-check is important in unification
Abilities
By using equivalence rules Organising quantifiers, standardising variables, etc. Existential elimination
Put a constant in place of an existential variable Not using full skolemisation (we skipped over that)
Needs all sentences as single clauses (just split them) Apply them to unify two sentences
Knowledge
Specifying a problem as axioms and theorem As a search problem: operators, initial states (CNF), the goal test Dealing with equality (demodulation) Heuristic strategies:
Unit preference, set of support, input resolution, subsumption Higher order proving, interactive, etc.
Understanding
Why deriving the empty clause means a contradiction Why we negate the theorem statement Why proof by contradiction is valid Know that resolution has been applied to mathematics
Abilities:
Remember to negate theorem statement Follow proof all the way Draw the proof tree Or organise the resolution steps in a way
Knowledge
Examples (pos & neg), background information What kind of errors can occur in the data Representation of solutions (v. important) How to search for solutions, how to choose between solutions
Understanding
Learning from examples How induction differs from deduction That positives and negatives are:
What robustness means That hypothesis accuracy doesnt necessarily mean that the method is a good one
Abilities
Specify machine learning problems Identify problem constituents/method constituents Simulate search in the FIND-S method
Knowledge
What entropy and information gain are How the ID3 algorithm works How we can try to avoid overfitting trees What are good problems for decision tree approaches
Understanding
Why it is both a graphical and a logical representation How it can be thought of as a categorisation problem
Abilities
To read decision trees To construct decision trees from English specifications Specify a learning problem for decision tree learning Calculate entropy and information gain for attributes Simulate the ID3-algorithm in action
Calculate information gain, choose attributes, restrict data (Sv), how/when to end branches
Knowledge
How ANNs are used to classify examples What are input/hidden/output units/layers What a perceptron is
Understanding
Difference between symbolic and non-symbolic representations Motivation from biology (and the limitations of this) Why perceptrons are limited Why linear separability is required for perceptrons to learn something Why learning rate is usually set to a small value (undo previous) Write down a perceptron to calculate a given function (e.g., boolean) Describe what a ANN would calculate Propagate values from left to right to make classifications Calculate weight changes in the perceptron learning rule Simulate the perceptron learning rule
Abilities
Multi-layer ANNs
Knowledge
Perceptron units in multi-layer ANNs How sigmoid units calculate outputs from weighted sums
Multi-Layer ANNs
Understanding
Why sigma being differentiable is important Which kinds of problems are suitable for ANNs
Abilities
Calculate output values for the sigma function Calculate error terms for the output units (given formula) Calculate error terms for the hidden units (given formula) Calculate weight changes using the error terms Simulate the back-propagation algorithm
Knowledge
Logic programs (background, E+, E-, hypothesis) Prior satisfiability and necessity Posterior satisfiability and sufficiency To use induction (rules given) to find new sentences Absorption, identification, etc. What V and W operators are Specific to general (using induction) G to S (using deduction) How pruning and sorting increase efficiency How language restriction increase efficiency
Understanding
Why the problem specification is necessary Why we invert resolution for our operators
Abilities
Use resolution to demonstrate how the hypothesis proves the observations (other sentences) Determine which are more general/specific sentences using entailment
Knowledge
What happens in backtracking search What forward checking is What variable and value ordering heuristics do What the fail first heuristic is Why we write out CSPs formally Why we write out constraints as tuples which are allowed
Understanding
More understanding
Why binary CSPs are important Why forward checking works Why fail first is so-called, and why it works Why value-ordering methods may be bad ideas To specify a problem as a formal constraint satisfaction problem (even if this is annoying for you!) Translate constraint formalisms to general constraints (e.g., using less than/greater than in linear arithmetic) Make problem specifications arc-consistent Simulate back-tracking search (with forward checking)
Abilities
Genetic Algorithms
Knowledge
Generate populations, fitness functions, recombination, etc. Describe this schematically How individuals are selected to mate (fitness function, number which are guaranteed entry into intermediate population) How pairs are chosen to mate, and chosen to produce offspring How offspring are produced through recombination
Genetic Algorithms
Understanding
That its difficult to specify solution representations That its difficult to specify fitness functions Why mutation is important (local maxima avoidance) Represent things (e.g., integers) as bit strings Perform crossover and mutation operators
Abilities
Genetic Programming
Knowledge
What result producing branches are Solution space of programs, fitness function (evaluation function)
What the terminal set, function set, control parameters and termination conditions are How individuals are chosen for mating
What the reproduction, crossover and mutation operators do What the crossover fragment is
Genetic Programming
Understanding
Why graphical representation of programs is good That architecture altering operations are used
That GP can achieve human-level performance Translate from functions (with things like if-statements)
Abilities
Determine function and terminal sets from programs Perform crossover and mutation Simulate (describe) how a GP approach would proceed