Hello and welcome to Artificial Intelligence. By posing the question "Can machines think?" in 1950 Alan Turing initiates the field that we now know as artificial intelligence. Today, artificial intelligence (AI) is assisting doctors in the early detection of cancers, virtual assistants use natural language to communicate, partially autonomous vehicles are on-sale at dealerships, and most importantly, recognizing cat videos on YouTube. Taking inspiration from psychology, neuroscience, mathematics, physics and computer science; AI has made great progress and experienced significant setbacks. In this course, we will learn how artificially intelligent systems work, grapple with their ethics implications, and implement expository examples in Python.
-
Introduce artificially intelligent systems using intelligent agents as context (Comprehension) in Topic 0.
-
Assess the performance of artificially intelligent systems (Evaluation) in Topics 1 and 4b.
-
Examine the ethical implications of a artificially intelligent systems (Analysis) in Addressed in discussion questions for Topic 1.
-
Apply search algorithms to solve problems (Application) in Topic 2.
-
Illustrate how utility functions, heuristics and pruning improve search efficiency by shrinking the search space (Application) in Topics 2 and 3.
-
Utilize alpha-beta pruning to choose better moves given limited time (Synthesis) in Topic 2.
-
Solve problems (be more specific) by applying search, adversarial search, constraint satisfaction and Bayesian network algorithms (Application) in Topics 1, 2, 3 and 4.
-
Topic 0: Introducing Artificial Intelligence - By sensing and acting to obtain a goal -- rational agents -- offer a firm foundation for understanding artificially intelligent systems. Prepare for this journey by examining the field's history and core ideas.
-
Topic 1: Searching for Solutions - Searching for solutions using algorithms with differing strategies, understanding their cost, and learning how to measure their performance.
-
Topic 2: Playing Adversarial Games - Learning to apply search algorithms to popular games and discovering that pruning allows for more complex games to be played.
-
Topic 3: Constraining the Search Space - Applying constraints to reduce the size of the search space resulting in dramatic improvements in search algorithm performance.
-
Topic 4a: Quantifying uncertainty - Using probability theory to quantify uncertainty.
-
Topic 4b: Probabilistic Reasoning - Using Bayesian networks to reason in uncertainty and partially observable worlds.