Professional Documents
Culture Documents
Introduction
This summary is based on Artificial Intelligence: A Modern Approach (3rd edition), as taught by Arnold Meijster
in the course Artificial Intelligence 1. The chapters included in this summary (as per Meijsters assignment)
are:
Chapters 1, 2 and 3 in their entirety;
Chapter 4, excluding 4.2 and 4.5;
Chapter 5, up to 5.4.3;
Chapter 6, excluding pages 225 and 226;
Chapters 7, 8, 9 and 13 in their entirety.
Contents
Contents
1
Introduction
1
What is AI? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1
Acting humanly: The Turing Test approach . . . . . . . . .
1.2
Thinking humanly: The cognitive modeling approach . . .
1.3
Thinking rationally: The laws of thought approach . . . .
1.4
Acting rationally: The rational agent approach . . . . . . . .
2
The Foundations of Artificial Intelligence . . . . . . . . . . . . . . .
2.1
Philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
Economics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Neuroscience . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5
Psychology . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6
Computer engineering . . . . . . . . . . . . . . . . . . . . . .
2.7
Control theory and cybernetics . . . . . . . . . . . . . . . . .
2.8
Linguistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
The History of Artificial Intelligence . . . . . . . . . . . . . . . . . .
3.1
The gestation of artificial intelligence (1943-1955) . . . . . .
3.2
The birth of artificial intelligence (1956) . . . . . . . . . . . .
3.3
Early enthusiasm, great expectations (1952-1969) . . . . . .
3.4
A dose of reality (1966-1973) . . . . . . . . . . . . . . . . . .
3.5
Knowledge-based systems: The key to power? (1969-1979) .
3.6
AI becomes an industry (1980-present) . . . . . . . . . . . .
3.7
The return of neural networks (1986-present) . . . . . . . .
3.8
AI adopts the scientific method (1987-present) . . . . . . . .
3.9
The emergence of intelligent agents (1995-present) . . . . .
3.10 The availability of very large data sets (2001-present) . . . .
4
The State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
Intelligent Agents
1
Agents and Environments . . . . . . . . . . . . . . . .
2
Good Behavior: The Concept of Rationality . . . . . .
2.1
Rationality . . . . . . . . . . . . . . . . . . . . .
2.2
Omniscience, learning, and autonomy . . . . .
3
The Nature of Environments . . . . . . . . . . . . . .
3.1
Properties of task environments . . . . . . . .
4
The Structure of Agents . . . . . . . . . . . . . . . . .
4.1
Agent Programs . . . . . . . . . . . . . . . . .
4.2
Simple reflex agents . . . . . . . . . . . . . . .
4.3
Model-based reflex agents . . . . . . . . . . . .
4.4
Goal-based agents . . . . . . . . . . . . . . . .
4.5
Utility-based agents . . . . . . . . . . . . . . .
4.6
Learning Agents . . . . . . . . . . . . . . . . .
4.7
How the components of agent programs work
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
9
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
14
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
15
Glossary
18
Chapter 1: Introduction
Intelligence is trying to understand how we, as
humans, think; Artificial Intelligence is trying to
build entities that can think.
What is AI?
1.1
The Turing Test was designed to provide a satisfactory operational definition of intelligence, and is
defined as follows:
An intelligent machine must be able to:
communicate successfully (natural language
processing);
store what it knows or hears (knowledge representation);
1.3
Syllogisms provide patterns for argument structures that are always correct, i.e. Socrates is a
man; All men are mortal; Therefore, Socrates is
mortal. These laws of thought, nowadays referred
to as logic, was refined by 19th century logicians.
Through these refinements, it was possible to describe relations between objects in the world objectively. The results of these refinements is called the
logicist tradition; within artificial intelligence, it attempts to create intelligent systems based on these
premises.
1.4
1.2
Acting rationally:
proach
2
use this information to answer questions and
to draw new conclusions (automated reasoning);
2.1
2.2
Mathematics
In order for Artificial Intelligence to become a formal science, the theories founded by the logicians
required a level of mathematical formalization in
thee fundamental areas: logic, computation, and
probability. At the basis of this lies the concept
of the algorithm; a series of operations based on
logic and mathematics to find a specific sort of output based on a specific sort of input. As Gdel
has shown, limits on deduction exist: his incompleteness theorem showed that in any formal theory as strong as the elementary theory of natural
numbers (Peano arithmetics), there are true statements that are undecidable in the sense that they
have no proof within the theory. This also means
that not everything is computable; they cannot be
represented by algorithms. Even though it is impossible to give a formal definition to this notion,
it is generally accepted that any function that is
computable by the Turing Machine is by extension
also computable in general (Church-Turing thesis).
Tractability is another important concept, roughly
stating that a problem must not take an exponential amount of time compared to the amount of instances given as input. This means that a problem
is intractable if this is the case. To recognize an intractable problem, the theory of NP-completeness
provides a method. Any problem class to which
the class of NP-complete problems can be reduced
is likely to be intractable. Probability also plays
a big role in AI, outlining the chances of a certain
outcome for an event. Bayes Rule is an instance of
a probability rule that plays a large role in AI.
2.3
Economics
2.4
Neuroscience
Psychology
Computer engineering
2.7
Linguistics
3
3.1
A meeting of several influential people in AI occurred when a two-month workshop was organized
in the summer of 1956. In this workshop, the Logic
Theorist, created by Simon and Newell, stole the
show by being a program that was able to reason,
proving many theorems in chapter 2 of Russell and
Whiteheads Principia Mathematica. This workshop
ple, the microworlds mentioned earlier worked because they contained very few objects, so it was
feasible to try every combination until eventually
an answer was found. It became clear that The
fact that a program can find a solution in principle does
not mean that the program contains any of the mechanisms needed to find int in practice. Early experiments in machine evolution (now called genetic
algorithms) were based on the undoubtedly correct belief that by making an appropriate series of
small mutations to a machine code program, one
can generate a program with good performance for
any particular task. This proved to be unsuccessful, as after many hours of computation time, almost no progress was shown. Modern versions of
genetic algorithms show better results (i.e. they actually work.) It was also shown that, even though
perceptrons could be shown to learn anything they
were capable of representing, they could represent
very little. Modern-day multi-layer networks actually are capable of doing this, and nowadays they
work quite well. This is ironic, because this type of
neural networks was actually invented in 1969.
3.5
Knowledge-based systems:
power? (1969-1979)
The key to
The early interpretations of the workings of AI envisioned a general-purpose search mechanism that
would find any complete solutions. These were
called weak methods, because they do not scale
well. Logically, the next step in developing AI programs were the so-called expert systems, which
had a vast knowledge base, and were intended to
solve very specific problems. An example of this is
DENDRAL, which was a program used to derive
the molecular formula based on mass spectrometer
data. A derivate of DENDRAL was MYCIN, which
was used to diagnose blood infections. It used a calculus of uncertainty called certainty factors. Several programming languages were developed following the rise in popularity of AI programs. Prolog and PLANNER were popular, while others followed a more structured approach, following Minskys idea of frames, assembling facts about particular object and event types and arranging the types
into a large taxonomic hierarchy analogous to a biological taxonomy.
Contrary to the early days of AI, most developments nowadays are very neatthey are based
upon earlier theorems, models and knowledge. It
relies heavily on mathematical rigor and statistical
analysis. An example of this is found in Hidden
Markov Models, which have a solid mathematical basis, and they are generated by a process of
training on a large corpus of real speech data. The
fact that speech technology as well as handwriting recognition technology are entering the market shows that these systems are not only becoming
better but also are applicable in everyday life.
Another upcoming technology is data mining,
a probabilistic approach to neural networks. The
Bayesian network formalism was inverted to allowefficient representation of, and rigorous reasoning with, uncertain knowledge.
3.9
After the encouraging successes of some AI programs, people started to reconsider the idea of the
whole-agent problem. Due to the growing success and influence of the internet, bots became relatively common. Some people disagree with the
notion that these kind of bots are what AI should
encompass; they reason that AI should have more
human-like intelligence, i.e. creating a human-level
AI or HLAI. A related idea is the subfield of Artificial General Intelligence or AGI, which looks for a
universal algorithm for learning and acting in any
environment. Guaranteeing that what we create is
really Friendly AI is also a concern. (#RobotOverlords)
3.10
3.7
3.6
For each possible percept sequence, a rational agent should select an action that is
expected to maximize its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge the agent has.
An agent is anything that can be viewed as perceiving its environment through sensors and acting
upon that environment through actuators. Percepts
are the agents perceptual inputs at any given instant. An agents percept sequence is the complete
history of everything the agent has ever perceived.
The agent function is the function that maps any
given percept sequence to an action. This agent
function is achieved through the use of the agent
program; it is a concrete implementation, whereas
the agent function is the mathematical representation. It is also possible to represent the agent program using a table. However, for most programs,
this table is virtually infinite.
Rationality
2.2
Keep in mind that rationality does not entail omniscience. Whereas an omniscient agent could predict its environment perfectly, a rational agent can
only make reasonable assumptions. Rationality
maximizes expected performance, while perfection
maximizes actual performance. Hence, information gatheringdoing actions in order to modify
future perceptsis an important part of rationality.
Exploration is also an important form of information gathering. Besides gathering information, it
is also important that an agent learns as much as
possible from what is perceives. The prior knowledge is, generally, simply not enough to perform
well. The extent to which the agent relies on its
prior knowledge rather than on its own percepts,
we say that the agent lacks autonomy. A rational
agent should be autonomous and effectively independent.
3.1
Although there is a vast number of task environments that might arise in AI, they can be categorized along
a fairly small number of dimensions:
fully observable
partially observable
unobservable
single agent
multi-agent
competitive
cooperative
deterministic
stochastic
uncertain
nondeterministic
episodic
sequential
static
dynamic
semi-dynamic
discrete
continuous
known
unknown
The agent program requires some kind of architecture to run on; thus, the agent is comprised of the
combination of the agent program and the architecture.
4.1
Agent Programs
4.2
Goal-based agents
Utility-based agents
Learning Agents
agents that use a factored or structured representation are usually called planning agents. This chapters aims to precisely define problems and their
solutions. Uninformed and informed algorithms
are consideredthe first being algorithms that are
given no information about the problem other than
its definition, and the latter require some guidance.
Problem-Solving Agents
Goals help organize behavior by limiting the objectives that the agent is trying to achieve and hence
the actions it needs to consider. Goal formulation
is based on the current situation and the agents
performance measure. Problem formulation is the
process of deciding what actions and states to consider, given a goal. An agent with several immediate options of unknown value can decide what to
do by fist examining future actions that eventually
lead to to states of known value.
For problem-solving agents, we assume that the
environment is observable, discrete, known and deterministic. The process of looking for a sequence
of actions that reaches the goal is called search. The
intended output is the solution. Once a solution is
found, the execution phase is entered. The agent,
while executing the solution, ignores the percepts
as they are known in advance. This is called an
open-loop system.
1.1
Formulating problems
The process of removing detail from a representation is called abstraction. The abstraction is valid if
we can expand any abstract solution into a solution
in the more detailed world.
Example Problems
Toy problems
n.parent: the node in the search tree that generated this node;
is a direct quote. I dont they intend to imply toy problems have useless outcomes...
4.1
Breadth-first search
4.3
Depth-first search
it is complete;
it is nonoptimal;
4.2
Uniform-cost search
Depth-limited search
4.5
4.6
BFS
Yes
O(bd )
O(bd )
Yes
Uniform-cost
Yes
O(b1+(C/e) )
O(b1+(C/e) )
Yes
DFS
No
O(bm )
O(bm)
No
5.1
Complete
Time Complexity
Space Complexity
Optimal
Bidirectional search
Depth-limited
No
O(bl )
O(bl )
No
5.2
Iterative Deepening
Yes
O(bd )
O(bd)
Yes
Bidirectional
Yes
O(bd/2 )
O(bd/2 )
Yes
To reduce memory requirements for A*, the simplest way is to adapt the idea of iterative deepening the the heuristic search context, resulting in
the iterative-deepening A* (IDA*) algorithm. The
main difference between IDA* and standard iterative deepening is that the cutoff used is the f -cost
rather than the depth. Recursive best-first search is
a simple recursive algorithm that attempts to operation of standard best-first search, but using only
linear space. It keeps track of the best alternative path available from any ancestor of the current node. RBFS replaces the f-value of each node
along the path with a backed-up valuethe best
f-value of its children. In this way, RBS remembers
the f -value of the best leaf in the forgotten subtree and can therefore decide whether its worth reexpanding the subtree at some later time. It is sensible to have A* use all available memory. Two algorithms that do this are MA* (memory-bounded A*)
and SMA* (simplified MA*). SMA* performs A*
until memory is full, and then drops the worst leaf
node (i.e. the one with the highest f -value.) The
forgotten value is backed up in its parent. The complete algorithm is too complicated to reproduce,
but a subtlety worth mentioning is that SMA* expands the newest best leaf and deletes the oldest
worst leaf. SMA* is complete if there is any reachable solution, and it is optimal if any optimal solution is reachable. A problem for SMA* is that
5.4
Heuristic Functions
6.1
6.3
6.4
seq rest(seq)
return action
Simple problem-solving agent
function simple-problem-solving-agent(percept) returns an action
persistent: seq, an action sequence, initially empty
state, some description of the current world state
goal, a goal, initially null
problem, a problem formulation
state update-state(state, percept)
if seq is empty then
goal formulate-goal(state)
problem formulate-problem(state, goal)
seq search(problem)
if seq = failure then return a null action
action first(seq)
seq rest(seq)
return action
Glossary
1
1.1
Introduction
What is AI?
to act humanly
to act rationally
to think humanly
to think rationally
rationality
Turing test
natural language
processing
knowledge
representation
automated reasoning
machine learning
total Turing test
computer vision
robotics
cognitive science
syllogisms
logic
logicist tradition
agent
rational agent
limited rationality
1.2
confirmation theory
algorithm
incompleteness theorem
computable
tractability
probability
utility
decision theory
game theory
operations research
satisficing
neuroscience
neurons
singularity
behaviorism
cognitive psychology
control theory
homeostatic
computational
linguistics
1.3
weak methods
expert systems
certainty factors
frames
back-propagation
learning
connectionist models
2
2.1
percepts
percept sequence
agent function
agent program
everything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators
the agents perceptual inputs at any given instant
the complete history of everything the agent has ever perceived
the function that maps any given percept sequence to an action; a mathematical/symbolic representation
the means to achieve the agent function, i.e. the actual implementation
omniscience
information gathering
exploration
2.3
Intelligent Agents
agent
2.2
for each possible percept sequence, a rational agent should select an action
that is expected to maximize its performance measure, given the evidence
provided by the percept sequence and whatever built-in knowledge the
agent has.
having complete knowledge of every state of ones environment and internal state
doing actions in order to modify future percepts
moving in ones environment to acquire knowledge about said environment
episodic
sequential
static
dynamic
semi-dynamic
discrete
continuous
known
unknown
2.4
3.1
Problem-Solving Agents
problem formulation
the process of deciding what actions and states to consider, given a goal
search
execution
open-loop system
problem
transition model
goal test
path cost
successor
state space
graph
path
step cost
solution
optimal solution
abstraction
3.2
Example Problems
toy problems
incremental formulation
3.3
the process of looking for a sequence of actions that reaches the goal
the phase that is entered once a solution is found
the agent ignores the percepts during the execution of the solution
the problem is defined by the initial state; the possible actions that are
applicable in a state s; the transition model; the goal test; and the path
cost function that assigns a numeric cost to each path.
a description of what each action does
test to check whether the goal has been reached
a function that assigns a numeric cost to each path.
any applicable state
the combination of the initial state, actions and transition model
directed network
a sequence of states connected by a sequence of actions
the cost of taking action a in state s to reach state s: c(s, a, s0 )
a sequence of actions that leads from the initial state to a goal state
a solution that has the lowest path cost among all solutions
the process of removing detail from a representation
search cost
total cost
3.4
uniform-cost search
depth-first search
depth-limited search
backtracking search
iterative-deepening
search
iterative lengthening
bidirectional search
predecessors
3.5
searches that are not provided with any information besides the information in the problem definition
uninformed search
searches that know whether one non-goal state is more promising than
another
informed search
a search algorithm in which, using a fifo queue, every node on a level is
expanded before the nodes on the next level are expanded, starting at the
root node
is basically breadth-first search, but instead of expanding the shallowest
nodes, it expands the node with the lowest path cost
a search algorithm in which, using a lifo queue, which always expands
the deepest node in the current frontier of the search tree, i.e. it gets
deeper in the tree until it finds a leaf node.
depth-first search, but limited to a depth l
a variant of depth-first search which uses less memory; only one successor is generated at a time, and instead of copying the the current state
description, it modifies the current
iterative deepening search or iterative deepening depth-first search performs depth-first, but initially explores only the root node, then also
searches in the first layer, then the second, etc.
iterative deepening, but using increasing path-cost limits instead of increasing depth limits. Not effective.
search process that basically performs two searches simultaneously; when
the frontier meets, the solution is found
all states x that have x as a successor
monotonous
triangle inequality
contours
a search strategy that uses problem-specific knowledge beyond the definition of the problem
graph-search or tree-search in which a node is selected for expansion
based on some evaluation function
a component of the evaluation function that estimates cost of the cheapest
path from the state at node n to a goal state
a search process that tries to expand the node that is closest to the goal
a heuristic that uses the distance between two points. can be used with
greedy best-first search
a search process that evaluates odes by combining the cost to reach the
node ant the cost to get from the node to the goal
a heuristic is admissible if the heuristic never overestimates the cost to
reach the goal
for every node n and every successor nA Z of n generated by any action a,
the estimated cost of reaching the goal from n is no greater than the step
cost of getting to nA Z plus the estimated cost of reaching the goal from
h(n) c(n, a, n) + h(n).
nA Z:
consistent
each side of a triangle cannot be longer than the sum of the other two
sides.
pruning
optimally efficient
absolute error
relative error
total cost
3.6
Heuristic Functions
manhattan distance
city block distance
effective branching
factor
dominates
relaxed problem
pattern databases
disjoint pattern
databases
features