### Course Introduction

This course will present advanced topics in Artificial Intelligence (AI). We will begin by defining the term "software agent” and discussing how software agents differ from programs in general. We will then take a look at those problems in the field of AI that tend to receive the most attention. Different researchers approach these problems differently. In this course, we will focus on how to build and search graph data structures needed to create software agents, an approach that you will find useful for solving many problems in AI. We will also learn to "break down” larger problems into a number of more specific, manageable sub-problems.

In the latter portion of this course, we will review the study of logic and conceptualize the differences between propositional logic, first-order logic, fuzzy logic, and default logic. After learning about statistical tools commonly used in AI and about the basic symbol system used to represent knowledge, we will focus on artificial neural network and machine learning, which are essential components of computational and statistical methods, and theoretical computer science. The course will then conclude with a study of the Turing machine and a discussion of the questionable claims that human thinking is a symbol manipulation.

### Unit 1: Intelligent Agents and Problems of AI

AI is often seen through the autonomous, rational intelligent agents paradigm, which we will emphasize in this unit. This unit will begin by discussing what software agents are and how agents differ from programs in general. The unit will then provide a natural taxonomy of autonomous agents and discusses possibilities for further classification before presenting those problems in AI that seem to received the most attention. The problem of creating intelligence is then broken down into a number of specific sub-problems, which consist of particular traits that should be found in an intelligent system. Note that different researchers approach the problems of AI from different perspectives, depending on their respective training, fields of expertise, and favored tools.

**Completing this unit should take you approximately 28 hours.**### Unit 2: Solving Problems by Searching

This unit will teach you how to build and search data structures needed to create software agents. We will focus on graph structures and a few classical graph search algorithms because their understanding is important for solving many problems that arise in AI. Graphs enable logical description of the problems. A graph search, then, represents the search for the solutions. We will begin this unit with some basic graph theory definitions and then learn how to solve some problems with a graph. The last section of this unit has a video that will expand the understanding of the graph structures.

**Completing this unit should take you approximately 29 hours.**### Unit 3: Logical Agents and Knowledge Representation

Intelligent agents are supposed to make rational decisions, which are not just logically reasoned, but optimal as well, given the available information. Accordingly, in this unit, we will review the study of logic and conceptualize the differences between propositional logic, first-order logic, fuzzy logic, and default logic. This unit will also present an overview of common statistical tools used in AI. In the last part of this unit, we will try to clarify our definition of knowledge representation and will discuss its roles based on research conducted at MIT.

**Completing this unit should take you approximately 27 hours.**### Unit 4: Learning

This unit presents an artificial neural network (NN) as the most important learning tool for machine learning. Machine learning research tries to automatically extract information from data through computational and statistical methods. Machine learning is closely related to not only data mining and statistics, but also theoretical computer science. NN is a computational model based on biological neural networks. It consists of an interconnected group of artificial neurons and processes. Practically, neural networks are non-linear statistical data modeling tools used to model complex relationships between inputs and outputs. After being successfully trained, NNs are able to perform classification, estimation, prediction, or simulation with new data. The second part of this unit reviews the Gaussian and Bayesian processes used in machine learning.

**Completing this unit should take you approximately 35 hours.**### Unit 5: Philosophical Foundations of AI

In this unit, we will study the Turing machine as a definition of the intuitive notion of computability in the discrete domain. In the theory of computation, many major complexity classes can be characterized by an appropriately restricted Turing machine. We will also discuss the claim that human thinking is a kind of symbol manipulation. Note that a symbol system is necessary for intelligence and that machines can be intelligent. Finally, we will discuss the ongoing neuroscientific attempt to understand how the human brain works and examine the possible role of consciousness in the machines. Is it possible, in theory and then in practice, to create a machine that has all the capabilities of a human being?

**Completing this unit should take you approximately 26 hours.**### Final Exam