Understand the basic framework of artificial intelligence systems used today focusing on the application search methodologies to solve difficult problems. Learn how to solve problems using factors such as searching, informed search, Adversarial Search and Games, Constraint Satisfaction, Local Search, and Applications.
What am I going to get from this course?
Understand the basic framework of artificial intelligence systems used today focusing on the application search methodologies to solve difficult problems.
Prerequisites and Target Audience
What will students need to know or do before starting this course?
Students should have basic knowledge of data summarization and decision systems. No coding is necessary for successful completion of the course.
Who should take this course? Who should not?
Business leaders and professionals who want an introduction to the concepts of artificial intelligence and how AI systems work.
Module 1: Problem Solving by Searching
Agents and Environments
Thinking about building an application using the concepts of agents and environments provides a way to create any artificial intelligence application. This section provides an overview of the basic concepts that underlie every artificial intelligence system.
Rationality and Omniscience
We review some of the common assumptions about the actions of agents, including what they know and how they make decisions. We find that combining simple agents together in a larger system can bring us to true intelligence - in both biological and technological systems.
States and Actions
In this section we introduce Builder, one of the first robotic artificial intelligences created. Following this, we review the relationship between how living things act in their environment and how internal states can lead to sophisticated decision-making processes that solve problems.
Introduction to Searching
We introduce the concept of search, a way to contemplate potential future actions, within an intelligent system.
We first start with uninformed search: strategies for decision-making with no additional information.
Practical Considerations of Problem Solving
We wrap up this module talking about some of the practical considerations of the methods that we have reviewed in the course so far.
Module 2: Informed Search
We start with best-first search and discuss why it is more effective compared to other search methods we’ve seen so far.
In this section we take a deep dive into Dijkstra’s algorithm to build our experience implementing an intelligent strategy to solve a simple problem.
We review two of the most important search algorithms, A* and AO*.
We expand our view of heuristics and include machine learning as a way to learn a heuristic from data.
Meet Shakey the Robot
Shakey the Robot is one of the most interesting artificial intelligences created. We introduce Shakey and its environment and learn how this robot solved problems using the techniques in this section and how many of these techniques are still used today in self-driving cars and in the Mars Rover, Curiosity.
Module 3: Adversarial Search and Games
We begin by looking at the theory of competition and formalize what we mean by strategy, gameplay and winning a game.
Perfect and Imperfect Information
We take a closer look at games with perfect information, such as chess or tic-tac-toe, and games with imperfect information such as poker. How can we create a strategy in each of these cases?
Games can become very complicated and cumbersome to analyse. In this section we discuss alpha-beta pruning - a technique to simplify our analysis.
Chance in Games
Chance introduces another consideration to playing games. We discuss optimal strategy in games that include a chance element such as backgammon.
Practical Considerations of Competition
Finally, we review some of the practical considerations of games and creating artificial intelligence to play them.
Module 4: Constraint Satisfaction
Setting up Constraints
We start by exploring ways to set up constraints that can eliminate part of our search space.
Using Constraints to Solve Problems
Now that we have our constraints defined, we’ll review how to use them to solve problems like the map coloring problem.
Solutions and Paths
We start by looking at the kinds of problems where the path to the solution doesn’t matter and introduce local search.
Local optima can cause many different problems. We investigate ways to avoid local optima including simulated annealing and local beam search.
Evolutionary algorithms are based on ideas in biological science. We review ways that these algorithms can be applied to problems in artificial intelligence.
Module 6: Applications in Games, Robotics, Diagnosis and Surveillance
Checkers and Solving Games
What does it mean to solve a game? We take a deep dive into checkers, one of the first problems solved in part by machine learning.
Chess and Chess Puzzles
In artificial intelligence, chess has always been a major field of study. In this section, we review some of the historical approaches to AI chess including Mechanical Turk, El Ajedrecista and Deep Blue.
Poker and Card Games
Games with imperfect information like poker are notoriously challenging. In this section we review the technology that resulted in the poker-playing AI’s Cepheus and Deepstack.
Robotics and Artificial Intelligence is closely linked. We review some of the most interesting robotics projects in AI.
Artificial intelligence is an extremely important topic in the business world. This section covers several important applications including the Autonomous Vehicles, Scheduling, and Speech Recognition.
This final section sums up the concepts we’ve covered in the course with a short send-off.