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:
- Describe the history of AI
- Identify the disciplines that support AI
- Describe the important historical events in AI history
- 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
- 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
- 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
- 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
- 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
- Describe and apply AI techniques in areas such as: evolutionary computation, neural networks, reinforcement learning, semantic web, fuzzy set theory, uncertainty, and robotics
- Independently investigate an AI technique and describe, apply, and implement that technique