New Building Website

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

 

Typically offered during both the fall and spring semesters.

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

CSA274 / CSA606

 
Course Objectives:

  • Be able to understand and apply uninformed and informed search techniques to difficult problems, including constraint satisfaction problems
  • Understand the advantages and disadvantages of different search techniques
  • Be able to apply optimal game playing algorithms to two-player games
  • Be able to understand and use propositional logic and first order logic
  • Understand and apply a machine learning technique to a learning problem

Learning Objectives:

CSA 486.1: Be able to describe the history of AI
CSA 486.1.1         Identify the disciplines that support AI
CSA 486.1.2         Describe the important historical events in AI history 

CSA 486.2: Be able to describe the architecture of intelligent agents and their environments
CSA 486.2.1         Distinguish between the various kinds of agents: simple reflex, goal-based,  utility-based
CSA 486.2.2         Explain the various properties of an agent’s environment 

CSA 486.3: Be able to describe, apply, and implement uninformed and informed search techniques to solve problems.
CSA 486.3.1         Apply and implement breadth-first, depth-first, uniform-cost, iterative deepening search techniques to search problems
CSA 486.3.2         Apply and implement A* search to search problems
CSA 486.3.3         Explain the basic theoretical properties of heuristic functions
CSA 486.3.4         Develop heuristics for a problem based on relaxing domain constraints
CSA 486.3.5         Apply and implement common techniques for solving constraint satisfaction problems

CSA 486.4: Be able to implement software capable of playing a competitive game
CSA 486.4.1         Describe and implement mini-max and alpha-beta search
CSA 486.4.2         Devise an evaluation function for assessing the game state of a fully observable, deterministic game.
CSA 486.4.3         Identify and apply techniques from other areas of computer science to improve a game-player’s performance  

CSA 486.5: Be able to describe and use propositional logic and first-order logic
CSA 486.5.1         Describe and evaluate logic operations
CSA 486.5.2         Examine a knowledge base (KB) and determine if that KB entails a sentence S.
CSA 486.5.3         Apply inference rules to a KB to create new rules
CSA 486.5.4         Describe forward and backward chaining algorithms
CSA 486.5.5         Convert a set of logic sentences into normal form
CSA 486.5.6         Complete resolutions proofs
CSA 486.5.7         Use first order logic to describe some domain
CSA 486.5.8         Explain the time complexity of the various inferencing algorithms

CSA 486.6: Be able to describe, apply, and implement basic machine learning techniques to a learning problem
CSA 486.6.1         Describe the differences in supervised learning, unsupervised learning, and reinforcement learning.
CSA 486.6.2         Describe, apply, and implement the decision tree learning algorithm
CSA 486.6.3         Describe, apply, and implement an ensemble learning method such as AdaBoost.  

CSA 486.7: Be able to describe and apply techniques for operating under uncertainty
CSA 486.7.1         Describe and apply the basic axioms of probability
CSA 486.7.2         Apply Bayes rule to combine evidence

CSA 486.8: Be able to describe and apply techniques in additional AI areas such as: evolutionary computation, neural networks, reinforcement learning, fuzzy set theory, and robotics .

CSA 486.9: Be able to independently investigate an AI technique and describe, apply, and implement that technique

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 CSA 586 will be given additional readings and/or assignments.