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.


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

1.1: Identify the disciplines that support AI

1.2: Describe the important historical events in AI history

2: Describe the architecture of intelligent agents and their environments

2.1: Distinguish between the various kinds of agents: simple reflex, goal-based, utility-based

2.2: Describe the properties of an agent’s environment

3: Describe, apply, and implement uninformed and informed search techniques to solve search problems.

3.1: Apply and implement breadth-first, depth-first, uniform-cost, iterative deepening search techniques to search problems

3.2: Describe and implement A* search

3.3: Describe the basic theoretical properties of heuristic functions

3.4: Describe the process of developing heuristics based on relaxing domain constraints

3.5: Apply and implement common techniques for solving constraint satisfaction problems

4: Implement software capable of playing a competitive game

4.1: Describe and implement mini-max and alpha-beta search

4.2: Devise an evaluation function for assessing the game state of a fully observable, deterministic game.

4.3: 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

5.1: Describe and evaluate logic operations

5.2: Determine if knowledge base (KB) entails a sentence S.

5.3: Apply inference rules to a KB to create new rules

5.4: Describe forward and backward chaining algorithms

5.5: Convert a set of logic sentences into normal form

5.6: Complete resolutions proofs

5.7: Use first order logic to describe some domain

5.8: State the time complexity of the various inferencing algorithms

6: Describe, apply, and implement basic machine learning techniques

6.1: Describe the differences in supervised learning, unsupervised learning, and reinforcement learning.

6.2: Describe, apply, and implement the decision tree learning algorithm

6.3: Describe an ensemble learning method such as AdaBoost.

6.4: 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.