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, constraint satisfaction, game playing, propositional logic, first order logic, uncertainty, and learning from observations

Prerequisite(s):

CSE 274 / CSE 606

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.