CSE 486/586 Introduction to Artificial Intelligence (3 credits)

Typically offered only during during the fall semester.

Catalog description:

Basic concepts of artificial intelligence (AI) including problem solving, search knowledge representation, and rule-based systems covered with symbolic AI language such as PROLOG or LISP. Application areas (natural language understanding, pattern recognition, learning and expert systems) are explored.

Prerequisite(s):

CSE 274 or equivalent and MTH 231 .

Required topics (approximate weeks allocated):

  • Artificial intelligence overview (1)
    • AI definition
    • history
    • application areas
    • characterization of task environments
  • Problem solving using uninformed search (1.5)
    • review of graphs
    • breadth-first, depth-first and iterative deepening search
    • avoiding repeated states
  • Informed search (1.5)
    • priority queues
    • heuristics
    • A* search
    • hill climbing techniques
  • Constraint satisfaction problems (1)
    • backtracking search techniques
    • heuristics for efficient backtracking
  • Adversarial search (1.5)
    • minimax algorithm
    • alpha-beta pruning
    • probabilistic games
    • case studies
  • Knowledge and reasoning (2)
    • propositional logic and its semantics
    • first-order logic
    • inference, soundness and completeness
    • unification
  • Uncertainty (1.5)
    • Acting under uncertainty
    • Axioms of probability
    • Bayes' rule for combining evidence
    • Bayesian networks
  • Machine learning (1.5)
    • learning from observations
    • decision trees
    • ensemble learning
    • training and testing
  • Additional topics (2.5)
    • knowledge representation
    • AI programming languages
    • evolutionary computation
    • neural networks
    • reinforcement learning
    • robotics
  • Exams/Review (1)

Graduate students:

Students enrolled in CSE 586 will be given additional readings and/or assignments.

Learning Outcomes:

  1. Describe the history of AI
    • Identify the disciplines that support AI
    • Describe the important historical events in AI history
  2. Describe the architecture of intelligent agents and their environments
    • Distinguish between the various kinds of agents: simple reflex, goal-based, utility-based
    • Describe the properties of an agent's environment
  3. Describe, apply, and implement uninformed and informed search techniques to solve search problems
    • Apply and implement breadth-first, depth-first, uniform-cost, iterative deepening search techniques to search problems
    • Describe and implement A* search
    • Describe the basic theoretical properties of heuristic functions
    • Describe the process of developing heuristics based on relaxing domain constraints
    • Apply and implement common techniques for solving constraint satisfaction problems
  4. Implement software capable of playing a competitive game
    • Describe and implement mini-max and alpha-beta search
    • Devise an evaluation function for assessing the game state of a fully observable, deterministic game
    • Identify and apply techniques from other areas of computer science to improve a game-player's performance
  5. Describe and use propositional logic and first-order logic
    • Describe and evaluate logic operations
    • Determine if knowledge base (KB) entails a sentence S
    • Apply inference rules to a KB to create new rules
    • Describe forward and backward chaining algorithms
    • Convert a set of logic sentences into normal form
    • Complete resolutions proofs
    • Use first order logic to describe some domain
    • State the time complexity of the various inferencing algorithms
  6. Describe, apply, and implement basic machine learning techniques
    • Describe the differences in supervised learning, unsupervised learning, and reinforcement learning
    • Describe, apply, and implement the decision tree learning algorithm
    • Describe an ensemble learning method such as AdaBoost
    • Describe the operation of other elementary classifiers such as Bayesian classifier, perceptron, and the nearest neighbor classifier
  7. Describe and apply AI techniques in areas such as: evolutionary computation, neural networks, reinforcement learning, semantic web, fuzzy set theory, uncertainty, and robotics
  8. Independently investigate an AI technique and describe, apply, and implement that technique