CS 454 Artificial Intelligence
Artificial intelligence (AI) is the study of solutions for problems that are difficult or impractical to solve with traditional methods. It is used pervasively in support of everyday applications such as email, word-processing and search, as well as in the design and analysis of autonomous agents that perceive their environment and interact rationally with the environment. The solutions rely on a broad set of general and specialized knowledge representation schemes, problem solving mechanisms and learning techniques. The study of Artificial Intelligence prepares the student to determine when an AI approach is appropriate for a given problem, identify the appropriate representation and reasoning mechanism, and implement and evaluate it.
To be able to differentiate between the concepts of optimal reasoning/behavior and human-like reasoning/behavior. To be able to apply resolution to a set of logic statements to answer a query. For a given problem, to be able to formulate an efficient problem space and apply a suitable search technique to solve it, selecting from basic search techniques such as depth-first search, advanced techniques such as A* search and minimax search. To be able to design and implement at least one knowledge representation for reasoning under uncertainty. To be able to Identify techniques for information retrieval, language translation, and text classification.
Introduction to AI, problem characteristics, and the nature of agents; Basic search: problem spaces, factored representation, uninformed search, heuristics and informed search, time and space complexity of search, two-player games, constraint satisfaction; Advanced search: stochastic search, A* search; Introduction to reasoning under uncertainty; Introduction to natural language processing.
Labs include a mix of guided inquiry learning using a set of assignments with a deliverable and report, and time to work on open-ended projects with the aid of the lecturer.
- Prerequisites: Programming 2 / CS212 Computer Programming or CS112 Computer Programming for Engineering, Discrete Structures and Theory