Artificial Intelligence techniques can solve problems that
involve massive amounts of data, have complex constraints and require
knowledge or judgment. The techniques have broad applications in our
daily lives from Web search to optimization of transportation
schedules. The suite of techniques is as broad as the
applications. The course will cover representations and algorithms in
several core subareas of artificial intelligence: search, evolutionary
computation, planning, data mining, information retrieval, and
agents. These subareas provide fundamental techniques for solving
computationally difficult problems or support the development of
important applications, such as identifying relevant patterns from
large complex sources of data (e.g., associating products that are
often purchased together) and supporting decision making (e.g., agents
for intrusion detection). The trade-offs in representations and
algorithms will be discussed and explored in a set of programming
assignments.