1.1, 1.4, 2(all), 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 4.1, 4.2, 4.4, 6.1, 6.2, 7.5, 7.6, 7.7, 7.8
Here is an outline of the most important points in the course so far.
1. Definitions of different kinds of agents: Dimensions along which to classify agents: * memoryless vs. using memory - memoryless: reflex agents - memory: track state, remember results of previous decisionmaking memoryless agents cannot be rational in many environments * fixed goal/tradeoff vs. accepting goal or utility function as input An agent with a fixed goal (or a fixed tradeoff) must be re-built each time the goal (or utility function) is changed. * implementation-methods - table - rules - search - logic - probability 2. Definitions of different kinds of environments The main two distinctions: * accessible vs. inaccessible * deterministic vs. stochastic Other distinctions that we haven't really worried about * episodic vs. non-episodic * static vs. dynamic (only static so far) * discrete vs. continuous (mostly only discrete so far) 3. Key functions that must be implemented in a general agent: * mapping from percepts and current beliefs about the state of the environment to new beliefs about the state of the environment. [model of its sensors] percept + Bel(S) --> Bel(S') * mapping from state and action to beliefs about new states [model of actions] S + A --> Bel(S) * method for determining the quality of a state: whether it is a goal state; its utility. [goal predicate or utility function] U(S) or Goal?(S) 4. Implementing agents using Search. In deterministic environments, search methods can be applied to construct sequences of actions if the agent has a model of actions. In principle, multistate search problems can handle cases where the starting state is not known. But in practice, these methods don't scale, so search-based agents work best in environments where the starting state is known and every action is deterministic so that a single-state formulation can be used. * evaluating search methods - completeness - optimality - time complexity - space complexity * Uninformed search methods - breadth-first complete, optimal (in depth), O(B^D), O(B^D) - uniform-cost complete, optimal (in cost), O(B^D), O(B^D) - depth-first in general spaces: incomplete, non-optimal, infinite, infinite in spaces with no infinite descending paths: complete, non-optimal, O(B^M), O(BM) where M = deepest path in tree - iterative deepening complete, optimal (in depth), O(B^D), O(BD) [530: CSP problems: definition - depth-first search with backtracking - forward checking - arc consistency ] * Informed search methods - Greedy - A* - IDA* An admissible heuristic must never overestimate the true cost to the goal. Iterative deepening and IDA* are generally the preferred methods, because they make better use of available memory. * Iterative Improvement methods - Hill climbing - Simulated annealing Iterative improvement methods can be very fast if they are given a good starting point. They can get stuck in local optima. * Drawbacks of search-based agents: Non-determinism; inaccessible environments 5. Implementing agents using logic Key ideas: * Use the power of disjunction and existential quantification to compactly represent uncertainty about the environment. * Use logical inference to implement the functions of the agent * Combine with search to create general-purpose goal-based agents. * Drawbacks of logic-based agents: Non-deterministic environments, tradeoffs.
Skills you should be able to demonstrate during the exam:
1. Be able to determine the best score that a pure reflex agent can obtain on a task. 2. Be able to hand-simulate any of the search algorithms. 3. Be able to decide whether a heuristic is admissible for A*. 4. Be able to apply the rules of logical inference presented in class.