CSC 550: Introduction to Artificial Intelligence
Fall 2008

Midterm Review


Overview history of AI, Turing test philosophical extremes: neats vs. scruffies, GOFAI vs. emergents, weak vs. strong Scheme and AI programming S-expressions (atoms & lists), functional expressions primitive functions + - * / quotient remainder max min abs expt floor round = < <= > >= exact->inexact inexact->exact car cdr cons list list-ref length member reverse append equal? set! let display begin read programming tools function definitions, if, cond full recursion vs. tail-recursion first-class functions, map, apply AI programming example Eliza: knowledge representation, pattern-matching AI as search state spaces search control strategies uninformed+bold: STUPID uninformed+tentative: depth first search (DFS), DFS with cycle checking no guarantee to find shortest (or any) solution; low memory requirements breadth first search (BFS), BFS with cycle checking guaranteed to find shortest solution; high memory requirements iterative deepening guaranteed to find shortest but repeats search; low memory requirements informed+bold: hill-climbing uses heuristics, potential pitfalls (e.g., foothills, plateaus) low memory requirements informed+tentative: best first search uses heuristics, does not guarantee shortest high memory requirements, better than BFS if heuristic is good optimization problems find minimal cost path (based on some measure) algorithm A basically, best first using hybrid cost function (f = g + h) g: actual cost so far along path; h: expected cost remaining admissibility, algorithm A* game playing game characteristics: two-player, perfect information, zero-sum minimax theorem game trees minimax search, alpha-beta pruning case studies: chess, checkers, connect-4 Knowledge Representation and AI foundational knowledge representation schemes semantic nets graphical representation, info retrieval as graph search, inheritance conceptual dependency representation defined richer set of links for networks, stores underlying concepts frames slot-filler model, inheritance, defaults, constraints, procedures scripts frame structure for representing events, utilized conceptual dependencies expert systems rule-based reasoning common characteristics expert-level performance, focused on a particular (usually narrow) domain, must deal with uncertainty, must provide facilities for explanation, ... layout: user interface, inference engine, knowledge base, case-specific data rule application: depth vs. breadth, best vs. all, forward vs. backward, ... uncertainty: probabilities, certainty factors, fuzzy logic, ...