AI Foundations of Computational Agents
AI Foundations of Computational Agents
This book is about artificial intelligence (AI), a field built on centuries of thought,
which has been a recognized discipline for over 60 years. As well as solving
practical tasks, AI provides tools to test hypotheses about the nature of thought
itself. Deep scientific and engineering problems have already been solved and
many more are waiting to be solved. Many practical applications are currently
deployed and the potential exists for an almost unlimited number of future
applications. This book presents the principles that underlie intelligent com-
putational agents.
3
4 1. Artificial Intelligence and Agents
Interrogator: In the first line of your sonnet which reads “Shall I compare thee
to a summer’s day,” would not ”a spring day” do as well or better?
Witness: It wouldn’t scan.
Interrogator: How about “a winter’s day,” That would scan all right.
Witness: Yes, but nobody wants to be compared to a winter’s day.
Interrogator: Would you say Mr. Pickwick reminded you of Christmas?
Witness: In a way.
Interrogator: Yet Christmas is a winter’s day, and I do not think Mr. Pickwick
would mind the comparison.
Witness: I don’t think you’re serious. By a winter’s day one means a typical
winter’s day, rather than a special one like Christmas.
Figure 1.1: Part of Turing’s possible dialog for the Turing test
6 1. Artificial Intelligence and Agents
There has been much debate about the usefulness of the Turing test. Un-
fortunately, although it may provide a test for how to recognize intelligence, it
does not provide a way to realize intelligence.
Levesque [2014] suggested a new form of question, a Winograd schema
after the following example of Winograd [1972]:
These two sentences only differ in one word – feared/advocated – but have the
opposite answer.
Winograd schemas have the property that (a) humans can easily disam-
biguate them and (b) there is no simple grammatical or statistical test that could
disambiguate them. For example, the sentences above would not qualify if the
phrase “demonstrators feared violence” was much less or more likely than the
phrase “councilmen feared violence” independently of the context, and simi-
larly with advocating.
Human: The table won’t fit through the doorway because it is too narrow.
What is too narrow?
ChatGPT: If a table won’t fit through a doorway because it is too narrow,
it means that the width of the table is greater than the width of the doorway.
In other words, the doorway is not wide enough to allow the table to pass
through it. This can be a problem if you are trying to move the table from one
room to another and the only way to do so is through the doorway. In order
to solve this problem, you may need to remove the door or trim the table so
that it fits through the doorway. Alternatively, you may need to find a different
route to move the table, such as through a window or by taking it apart and
reassembling it in the other room.
Human: The table won’t fit through the doorway because it is too wide.
What is too wide?
ChatGPT: If a table won’t fit through a doorway because it is too wide, it
means that the width of the doorway is smaller than the width of the table.
In other words, the table is too big to fit through the doorway. This can be
a problem if you are trying to move the table from one room to another and
the only way to do so is through the doorway. In order to solve this problem,
you may need to remove the door or trim the table so that it fits through the
doorway. Alternatively, you may need to find a different route to move the
table, such as through a window or by taking it apart and reassembling it in
the other room.
Human: The doorway won’t fit through the chair because it is too narrow.
What is too narrow?
ChatGPT: ”Too narrow” means that the doorway is not wide enough to
fit through the chair. In this context, the doorway is the object that is being
compared to the chair, and it is not wide enough to pass through the chair
without encountering some difficulty or obstruction. This could be because
the doorway is physically smaller in width than the chair, or because there is
some other physical feature of the chair that is preventing the doorway from
fitting through it. For example, the chair might have armrests or other protu-
berances that make it difficult for the doorway to pass through. In general, the
phrase ”too narrow” is used to describe something that is not wide enough to
fit through or pass a particular opening or gap.
Human: The doorway won’t fit through the chair because it is too narrow.
What is too narrow?
ChatGPT: If a doorway is too narrow to fit through a chair, it means that the
width of the doorway is smaller than the width of the chair. This can happen if
the chair is too wide to fit through the doorway, or if the doorway is not wide
enough to accommodate the chair. In either case, the chair will not be able to
pass through the doorway because there is not enough space for it to fit.
Figure 1.2: ChatGPT answers to some Winograd schemas
8 1. Artificial Intelligence and Agents
Lifelong learning Humans learn throughout their life and accumulate knowl-
edge and skills.
These have diverse applications in many areas of science. Combining these al-
gorithms leads to the state-of-the-art gradient-boosted trees [Friedman, 2001;
Chen and Guestrin, 2016], which demonstrates the close interconnections be-
tween statistics and machine learning.
While useful, making predictions is not sufficient to determine what an
agent should do; an agent also needs to plan. Planning in AI was initially
based on deterministic actions. Fikes and Nilsson [1971] used deterministic
actions to control a mobile robot. Planning under uncertainty has a long his-
tory. Markov decision processes (MDPs), the foundation for much of planning
under uncertainty, and dynamic programming, a general way to solve them,
were invented by Bellman [1957]. These were extended into decision-theoretic
planning in the 1990’s [Boutilier et al., 1999]. Decision-theoretic planning with
learning is called reinforcement learning. The first reinforcement learning
programs were due to Andreae [1963] and Michie [1963]. Major advances
came with the inventions of temporal-difference learning [Sutton, 1988] and
Q-learning [Watkins and Dayan, 1992]. Work in reinforcement learning has
exploded, including superhuman performance in chess, Go and other games
[Silver et al., 2017].
Planning requires representations. The need for representations was recog-
nized early.
expert systems came to prominence, where the aim was to capture the knowl-
edge of an expert in some domain so that a computer could carry out expert
tasks. DENDRAL [Buchanan and Feigenbaum, 1978], developed from 1965 to
1983 in the field of organic chemistry, proposed plausible structures for new
organic compounds. MYCIN [Buchanan and Shortliffe, 1984], developed from
1972 to 1980, diagnosed infectious diseases of the blood, prescribed antimicro-
bial therapy, and explained its reasoning.
An alternative approach, de-emphasizing explicit knowledge representa-
tions, emphasized situated embodied agents [Brooks, 1990; Mackworth, 2009].
The hypothesis is that intelligence emerges, in evolution and individual devel-
opment, through ongoing interaction and coupling with a real environment.
During the 1960s and 1970s, natural language understanding systems were
developed for limited domains. For example, the STUDENT program of Bo-
brow [1967] could solve high-school algebra tasks expressed in natural lan-
guage. Winograd’s [1972] SHRDLU system could, using restricted natural
language, discuss and carry out tasks in a simulated blocks world. CHAT-
80 [Warren and Pereira, 1982] could answer geographical questions placed to it
in natural language. Figure 1.3 (page 13) shows some questions that CHAT-80
answered based on a database of facts about countries, rivers, and so on. These
systems could only reason in very limited domains using restricted vocabu-
lary and sentence structure. Interestingly, IBM’s Watson, which beat the world
champion in the TV game show Jeopardy! in 2011, used a technique similar
to CHAT-80 [Lally et al., 2012] for understanding questions; see Section 15.7
(page 674).
In applications using language in the wild, such as speech recognition and
translation in phones, many technologies are combined, including neural net-
works; see Chapter 8. Large language models (page 364), trained on huge
datasets, can be used to predict the next word in a text, enabling predictive
spelling and the creation of new text.
puters provide a way to construct the models about which philosophers have
only been able to theorize. AI researchers can experiment with these mod-
els as opposed to just discussing their abstract properties. AI theories can be
empirically grounded in implementations. Sometimes simple agents exhibit
complex behavior, and sometimes sophisticated, theoretically motivated algo-
rithms don’t work in real-world domains, which would not be known without
implementing the agents.
It is instructive to consider an analogy between the development of fly-
ing machines over the past few centuries and the development of thinking
machines over the past few decades. There are several ways to understand
flying. One is to dissect known flying animals and hypothesize their com-
mon structural features as necessary fundamental characteristics of any flying
agent. With this method, an examination of birds, bats, and insects would sug-
gest that flying involves the flapping of wings made of some structure covered
with feathers or a membrane. Furthermore, the hypothesis could be tested by
strapping feathers to one’s arms, flapping, and jumping into the air, as Icarus
did. An alternative methodology is to try to understand the principles of flying
without restricting oneself to the natural occurrences of flying. This typically
involves the construction of artifacts that embody the hypothesized principles,
even if they do not behave like flying animals in any way except flying. This
second method has provided both useful tools – airplanes – and a better un-
derstanding of the principles underlying flying, namely aerodynamics. Birds
are still much better at flying though forests.
AI takes an approach analogous to that of aerodynamics. AI researchers
are interested in testing general hypotheses about the nature of intelligence
by building machines that are intelligent and that do not necessarily mimic
humans or organizations. This also offers an approach to the question, “Can
computers really think?” by considering the analogous question, “Can air-
planes really fly?”
AI is intimately linked with the discipline of computer science because the
study of computation is central to AI. It is essential to understand algorithms,
data structures, and combinatorial complexity to build intelligent machines. It
is also surprising how much of computer science started as a spinoff from AI,
from timesharing to computer algebra systems.
Finally, AI can be seen as coming under the umbrella of cognitive science.
Cognitive science links various disciplines that study cognition and reason-
ing, from psychology to linguistics to anthropology to neuroscience. AI distin-
guishes itself within cognitive science by providing tools to build intelligence
rather than just studying the external behavior of intelligent agents or dissect-
ing the inner workings of intelligent systems.
• goals that it must try to achieve or preferences over states of the world
• abilities, the primitive actions the agent is capable of carrying out.
Inside the black box, an agent has a belief state that can encode beliefs
about its environment, what it has learned, what it is trying to do, and what
it intends to do. An agent updates this internal state based on stimuli. It uses
the belief state and stimuli to decide on its actions. Much of this book is about
what is inside this black box.
Purposive agents have preferences or goals. They prefer some states of the
world to other states, and they act to try to achieve the states they prefer most.
The non-purposive agents are grouped together and called nature. Whether
or not an agent is purposive is a modeling assumption that may, or may not,
be appropriate. For example, for some applications it may be appropriate to
model a dog as purposive, such as drug-sniffing dogs, and for others it may
suffice to model a dog as non-purposive, such as when they are just part of the
environment.
If an agent does not have preferences, by definition it does not care what
world state it ends up in, and so it does not matter to it what it does. The reason
to design an agent is to instill preferences in it – to make it prefer some world
states and try to achieve them. An agent does not have to know its preferences
explicitly. For example, a thermostat for a heater is an agent that senses the
world and turns the heater either on or off. There are preferences embedded
in the thermostat, such as to keep the room at a pleasant temperature, even
though the thermostat arguably does not know these are its preferences. The
preferences of an agent are often the preferences of the designer of the agent,
but sometimes an agent can acquire goals and preferences at run time.
Abilities
Goals/Preferences
Stimuli
Actions
Past Experiences
Environment
The robot’s outputs are motor controls specifying how its wheels should turn,
where its limbs should move, and what it should do with its grippers. Other
outputs may include speech and a video display.
Example 1.3 Figure 1.5 depicts a typical laboratory environment for a delivery
robot. This environment consists of four laboratories and many offices. In our
examples, the robot can only push doors, and the directions of the doors in
the diagram reflect the directions in which the robot can travel. Rooms require
keys and those keys can be obtained from various sources. The robot must
deliver parcels, beverages, and dishes from room to room. The environment
also contains a stairway that is potentially hazardous to the robot.
r117
lab D lab C
r115
lab A lab B
r113
main
office stairs r101 r103 r105 r107 r109 r111
Figure 1.5: A typical laboratory environment for the delivery robot. This shows
the locations of the doors and which way they open.
18 1. Artificial Intelligence and Agents
To be useful, the diagnostic assistant must provide added value, be easy for
a human to use, and not be more trouble than it is worth. A diagnostic assistant
connected to the Internet can draw on expertise from throughout the world,
and its actions can be based on the most up-to-date research. However, it must
be able to justify why the suggested diagnoses or actions are appropriate. Hu-
mans are, and should be, suspicious of computer systems that are opaque and
impenetrable. When humans are responsible for what they do, even if their
actions are based on a computer system’s advice, the system needs to convince
the human that the suggested actions are defensible.
Example 1.4 Figure 1.6 shows an electrical distribution system in a home.
In this home, power comes into the home through circuit breakers and then it
goes to power outlets or to lights through light switches. For example, light l1
is on if there is power coming into the home, if circuit breaker cb1 is on, and if
switches s1 and s2 are either both up or both down. This is the sort of model that
someone may have of the electrical power in the home, which they could use
to determine what is wrong given evidence about the position of the switches
and which lights are on and which are off. The diagnostic assistant is there to
help a resident or an electrician troubleshoot electrical problems.
In terms of the black-box definition of an agent in Figure 1.4 (page 15), the
diagnostic assistant has as inputs:
• prior knowledge, such as how switches and lights normally work, how
diseases or malfunctions manifest themselves, what information tests pro-
vide, the effects of repairs or treatments, and how to find out information
outside_power
cb1
s1
w5
w1
circuit
s2 cb2 breaker
w2 w3
switch
s3 w6
w0
p2 light
w4
l1
p1 power
outlet
l2
• past experience, in terms of data of previous cases that include the effects
of repairs or treatments, the prevalence of faults or diseases, the preva-
lence of symptoms for these faults or diseases, and the accuracy of tests
• goals of fixing the device or preferences between repairing or replacing
components, or a patient’s preferences between living longer or reducing
pain
• stimuli that are observations of symptoms of a device or patient.
• prior knowledge, provided by the agent designer, about the subject matter
being taught, teaching strategies, possible student errors and misconcep-
tions.
• past experience, which the tutoring agent has acquired by interacting with
students, such as, what errors students make, how many examples and
problems it takes various students to learn various topics, and what stu-
dents forget; this can be information about students in general as well as
about a particular student.
• preferences about the importance of each topic, the level of achievement
of the student that is desired, and the importance given to student moti-
vation and engagement; there are often complex trade-offs among these.
• stimuli include observations of a student’s test results and observations of
the student’s interaction (or non-interaction) with the agent; students can
also ask questions or request help on new examples and problems.
The actions of the tutoring agent include presenting the theory and worked-
out examples, proposing suitable problems, providing help and feedback on
a student’s solution, asking the student questions, answering their questions,
and producing reports for parents and teachers.
20 1. Artificial Intelligence and Agents
the assumption that everything small on the floor is garbage. It is much more
difficult to know which of the small items are precious toys and which are
junk that should be discarded, and this depends on the individual inhabitants
and their age. Each person may have their own categorization of objects and
where they are expected to be kept, which forces a smart home to adapt to the
inhabitants.
A smart home also must act as a diagnostician. When something goes
wrong, it should be able to determine what is the problem and fix it. It should
also be able to observe the inhabitants and determine if there is something
wrong, such as someone has been injured or there is a burglary.
Sometimes a smart home needs to act as a tutoring agent. It may have
to teach the occupants how the appliances work, and how to interact with the
home (e.g., what should an person expect to happen when they put their coffee
cup on the vacuum cleaner). In order to do this, it has to take into account the
knowledge and level of understanding of the person.
A smart home may also need to act as a purchasing agent. The home should
notice when items, such as toilet paper, soap, or essential foodstuffs, are run-
ning low and order more of them. Given a decision about what food each
inhabitant wants, it should make sure the ingredients are in stock. It might
even need to decide when inessential items, such as junk food, should be kept
in stock. It also might need to decide when to discard perishable items, without
creating too much waste or putting people’s health at risk.
A smart home would include energy management. For example, with solar
energy providing power during daylight hours, it could determine whether to
store the energy locally or buy and sell energy on the smart grid. It could
manage appliances to minimize the cost of energy, such as washing clothes
when water and electricity are cheaper.
1.5.1 Modularity
The first dimension is the level of modularity.
Modularity is the extent to which a system can be decomposed into inter-
acting modules that can be understood separately.
Modularity is important for reducing complexity. It is apparent in the struc-
ture of the brain, serves as a foundation of computer science, and is an impor-
tant aspect of any large organization.
Modularity is typically expressed in terms of a hierarchical decomposition.
In the modularity dimension, an agent’s structure is one of the following:
Example 1.6 The delivery robot at the highest level has to plan its day, making
sure it can deliver coffee on time, but still has time for longer trips and cleaning
a room. At the lowest level, it needs to choose what motor controls to send to its
wheels, and what movement its gripper should do. Even a task like picking up
a glass involves many precise movements that need to be coordinated. Picking
up a glass may be just one part of the larger task of cleaning part of a room.
Cleaning the room might be one task that has to be scheduled into the robot’s
day.
In a flat representation, the agent chooses one level of abstraction and rea-
sons at that level. A modular representation would divide the task into a num-
ber of subtasks that can be solved separately (e.g., pick up coffee, move from
the corridor to lab B, put down coffee). In a hierarchical representation, the
agent will solve these subtasks in a hierarchical way, until the task is reduced
to simple tasks such a sending an http request or making a particular motor
control.
Example 1.7 A tutoring agent may have high-level teaching strategies, where
it needs to decide which topics are taught and in what order. At a much lower
level, it must design the details of concrete examples and specific questions for
a test. At the lowest level it needs to combine words and lines in diagrams to
express the examples and questions. Students can also be treated as learning in
a hierarchical way, with detailed examples as well as higher-level concepts.
1.5. Agent Design Space 23
Example 1.8 For the trading agent, consider the task of making all of the ar-
rangements and purchases for a custom holiday for a traveler. The agent should
be able to make bookings for flights that fit together. Only when it knows where
the traveller is staying and when, can it make more detailed arrangements such
as dinner and event reservations.
take to get there, but, when planning, it does not consider what it will do
after it gets to the location.
• An infinite horizon planner is an agent that plans on going on forever.
This is often called a process. For example, the stabilization module of
a legged robot should go on forever; it cannot stop when it has achieved
stability, because the robot has to keep from falling over.
The modules in a hierarchical decomposition may have different horizons,
as in the following example.
Example 1.9 For the delivery and helping agent, at the lowest level the mod-
ule that keeps the robot stable, safe, and attentive to requests may be on an
infinite horizon, assuming it is running forever. The task of delivering coffee to
a particular person may be an indefinite horizon problem. Planning for a fixed
number of hours may be a finite horizon problem.
Example 1.10 In a tutoring agent, for some subtasks, a finite horizon may be
appropriate, such as in a fixed teach, test, re-teach sequence. For other cases,
there may be an indefinite horizon where the system may not know at design
time how many steps it will take until the student has mastered some concept.
It may also be possible to model teaching as an ongoing process of learning and
testing with appropriate breaks, with no expectation of the system finishing.
1.5.3 Representation
The representation dimension concerns how the world is described.
The different ways the world could be are called states. A state of the world
specifies the agent’s internal state (its belief state) and the environment state.
At the simplest level, an agent can reason explicitly in terms of individually
identified states.
Example 1.11 A thermostat for a heater may have two belief states: off and
heating. The environment may have three states: cold, comfortable, and hot. There
are thus six states corresponding to the different combinations of belief and
environment states. These states may not fully describe the world, but they
are adequate to describe what a thermostat should do. The thermostat should
move to, or stay in, heating if the environment is cold and move to, or stay in,
off if the environment is hot. If the environment is comfortable, the thermostat
should stay in its current state. The thermostat agent turns or keeps the heater
on in the heating state and turns or keeps the heater off in the off state.
A proposition is a Boolean feature, which means that its value is either true
or false. Thirty propositions can encode 230 = 1, 073, 741, 824 states. It may be
easier to specify and reason with the thirty propositions than with more than a
billion states. Moreover, having a compact representation of the states indicates
understanding, because it means that an agent has captured some regularities
in the domain.
Example 1.13 Consider an agent that has to recognize digits. Suppose the
agent observes a binary image, a 28 × 28 grid of pixels, where each of the 282 =
784 grid points is either black or white. The action is to determine which of the
digits {0, . . . , 9} is shown in the image. There are 2784 different possible states
784
of the image, and so 102 different functions from the image state into the
characters {a, . . . , z}. You cannot represent such functions in terms of the state
space. Instead, handwriting recognition systems define features of the image,
such as line segments, and define the function from images to characters in
terms of these features. Modern implementations learn the features that are
useful; see Example 8.3 (page 336).
Example 1.14 The agent that looks after a home in Example 1.12 could have
the lights and switches as individuals, and relations position and connected to.
Instead of the feature position s2 = up, it could use the relation position(s2 , up).
This relation enables the agent to reason about all switches or for an agent to
have general knowledge about switches that can be used when the agent en-
counters a switch.
once, the agent can apply the definition for each student and course. Moreover,
this can be done before the agent knows which individuals exist, and so before
it knows any of the features.
The two-argument relation passed, with 1000 students and 100 courses, can
represent 1000 ∗ 100 = 100, 000 propositions and so 2100,000 states.
any time, but given more time it could produce even better solutions. To ensure
that the quality does not decrease, the agent can store the best solution found
so far, and return that when asked for a solution. Although the solution quality
may increase with time, waiting to act has a cost; it may be better for an agent
to act before it has found what would be the best solution.
Example 1.16 The delivery robot cannot think for a long time about how to
avoid a person. There might be a best way to avoid the person and to achieve
its other goals, however it might take time to determine that optimal path, and
it might be better to act quickly and then recover from a non-optimal action. In
the simplest case, a robot could just stop if it encounters a person, but even that
is error prone as robots have momentum, so it cannot stop immediately and
people behind may run into it if it stops suddenly.
Example 1.17 Even a tutoring agent that can act at longer scales than a robot
sometimes has to act quickly. When a student has completed a task and wants
a new task, the agent needs to decide whether it should assign the student
the best task it has found so far, or compute for longer, trying to find an even
better task. As the student waits, they might become distracted, which might
be worse than giving them a non-optimal task. The computer can be planning
the next task when the student is working. Modern computers, as fast as they
may be, cannot find optimal solutions to difficult problems quickly.
Example 1.18 Figure 1.7 shows how the computation time of an anytime al-
gorithm can affect the solution quality. The agent has to carry out an action but
can do some computation to decide what to do. The absolute solution quality,
Value of Action
0 1 2 3 4 5
Time of Action
Figure 1.7: Solution quality as a function of time for an anytime algorithm. The
meaning is described in Example 1.18
28 1. Artificial Intelligence and Agents
had the action been carried out at time zero, shown as the dashed line at the
top, is improving as the agent takes time to reason. However, there is a penalty
associated with taking time to act. In this figure, the penalty, shown as the dot-
ted line at the bottom, is negative and proportional to the time taken before
the agent acts. These two values can be added to get the discounted quality,
the time-dependent value of computation; this is the solid line in the middle of
the graph. For the example of Figure 1.7 (page 27), an agent should compute
for about 2.5 time units, and then act, at which point the discounted quality
achieves its maximum value. If the computation lasts for longer than 4.3 time
units, the resulting discounted solution quality is worse than if the algorithm
outputs the initial guess it can produce with virtually no computation. It is typ-
ical that the solution quality improves in jumps; when the current best solution
changes, there is a jump in the quality. The penalty associated with waiting is
rarely a straight line; it is typically a function of deadlines, which may not be
known by the agent.
1.5.5 Learning
In some cases, a designer of an agent may have a good model of the agent and
its environment. But often a designer does not have a good model, and so an
agent should use data from its past experiences and other sources to help it
decide what to do.
The learning dimension determines whether
• knowledge is given, or
• knowledge is learned (from prior knowledge and data or past experi-
ence).
Learning typically means finding the best model that fits the data. Some-
times this is as simple as tuning a fixed set of parameters, but it can also mean
choosing the best representation out of a class of representations. Learning is
a huge field in itself but does not stand in isolation from the rest of AI. There
are many issues beyond fitting data, including how to incorporate background
knowledge, what data to collect, how to represent the data and the resulting
representations, what learning biases are appropriate, and how the learned
knowledge can be used to affect how the agent acts.
Learning is considered in Chapters 7, 8, 10, 13, and 17.
Example 1.19 A robot has a great deal to learn, such as how slippery floors
are as a function of their shininess, where each person hangs out at different
1.5. Agent Design Space 29
parts of the day, when they will ask for coffee, and which actions result in the
highest rewards.
Modern vision systems are trained to learn good features (such as lines and
textures) on millions if not billions of images and videos. These features can
be used to recognize objects and for other tasks, even if there have been few
examples of the higher-level concepts. A robot might not have seen a baby
crawling on a highway, or a particular mug, but should be able to deal with
such situations.
1.5.6 Uncertainty
An agent could assume there is no uncertainty, or it could take uncertainty in
the domain into consideration. Uncertainty is divided into two dimensions:
one for uncertainty from sensing and one for uncertainty about the effects of
actions.
Sensing Uncertainty
In some cases, an agent can observe the state of the world directly. For example,
in some board games or on a factory floor, an agent may know exactly the state
of the world. In many other cases, it may have some noisy perception of the
state and the best it can do is to have a probability distribution over the set
of possible states based on what it perceives. For example, given a patient’s
symptoms, a medical doctor may not actually know which disease a patient
has and may have only a probability distribution over the diseases the patient
may have.
The sensing uncertainty dimension concerns whether the agent can deter-
mine the state from the stimuli:
• Fully observable means the agent knows the state of the world from the
stimuli.
30 1. Artificial Intelligence and Agents
• Partially observable means the agent does not directly observe the state
of the world. This occurs when many possible states can result in the
same stimuli or when stimuli are misleading.
Assuming the world is fully observable is a common simplifying assumption
to keep reasoning tractable.
Example 1.21 The delivery robot does not know exactly where it is, or what
else there is, based on its limited sensors. Looking down a corridor does not
provide enough information to know where it is or who is behind the doors.
Knowing where it was a second ago will help determine where it is now, but
even robots can get lost. It may not know where the person who requested
coffee is. When it is introduced into a new environment, it may have much
more uncertainty.
Example 1.22 The tutoring agent cannot directly observe the knowledge of
the student. All it has is some sensing input, based on questions the student
asks or does not ask, facial expressions, distractedness, and test results. Even
test results are very noisy, as a mistake may be due to distraction or test anxiety
instead of lack of knowledge, and a correct answer might be due to a lucky
guess instead of real understanding. Sometimes students make mistakes in
testing situations they wouldn’t make at other times.
Example 1.23 A trading agent does not know all available options and their
availability, but must find out information that can become outdated quickly
(e.g., if a hotel becomes booked up). A travel agent does not know whether a
flight will be canceled or delayed, or whether the passenger’s luggage will be
lost. This uncertainty means that the agent must plan for the unanticipated.
Effect Uncertainty
A model of the dynamics of the world is a model of how the world changes as
a result of actions, including the case of how it changes if the action were to do
nothing. In some cases an agent knows the effects of its action. That is, given
a state and an action, the agent can accurately predict the state resulting from
carrying out that action in that state. For example, a software agent interacting
with the file system of a computer may be able to predict the effects of deleting
a file given the state of the file system. However, in many cases, it is difficult
to predict the effects of an action, and the best an agent can do is to have a
probability distribution over the effects. For example, a teacher may not know
the effects explaining a concept, even if the state of the students is known. At
the other extreme, if the teacher has no inkling of the effect of its actions, there
would be no reason to choose one action over another.
The dynamics in the effect uncertainty dimension can be
• deterministic when the state resulting from an action is determined by
an action and the prior state, or
1.5. Agent Design Space 31
Example 1.24 For the delivery robot, there can be uncertainty about the effects
of an action, both at the low level, say due to slippage of the wheels, or at the
high level because the agent might not know whether putting the coffee on a
person’s desk succeeded in delivering coffee to the person. This may depend
on the individual preferences of users.
Example 1.25 Even a trading agent does not know the effect of putting in
a trade order, such as booking a flight or a hotel room. These can become un-
available at very short notice (consider two trading agents trying to book the
same room at the same time), or the price can vary.
The effect dimension only makes sense when the world is fully observable.
If the world is partially observable, a stochastic system can be modeled as a
deterministic system where the effect of an action depends on unobserved fea-
tures. It is a separate dimension because many of the frameworks developed
are for the fully observable, stochastic action case.
Planning with deterministic actions is considered in Chapter 6. Planning
with stochastic actions is considered in Chapter 12.
1.5.7 Preference
Agents normally act to have better outcomes. The only reason to choose one
action over another is because the preferred action leads to more desirable out-
comes.
An agent may have a simple goal, which is a proposition the agent wants
to be true in a final state. For example, the goal of getting Sam coffee means
the agent wants to reach a state where Sam has coffee. Other agents may have
more complex preferences. For example, a medical doctor may be expected to
take into account suffering, life expectancy, quality of life, monetary costs (for
the patient, the doctor, and society), and the ability to justify decisions in case
of a lawsuit. The doctor must trade these considerations off when they conflict,
as they invariably do.
The preference dimension considers whether the agent has goals or richer
preferences:
• A goal is either an achievement goal, which is a proposition to be true in
some final state, or a maintenance goal, a proposition that must be true
in all visited states. For example, the goals for a robot may be to deliver
a cup of coffee and a banana to Sam, and not to make a mess or hurt
anyone.
• Complex preferences involve trade-offs among the desirability of vari-
ous outcomes, perhaps at different times. An ordinal preference is where
only the ordering of the preferences is important. A cardinal preference
is where the magnitude of the values matters. For example, an ordinal
32 1. Artificial Intelligence and Agents
preference may be that Sam prefers cappuccino over black coffee and
prefers black coffee over tea. A cardinal preference may give a trade-
off between the wait time and the type of beverage, and a mess versus
taste trade-off, where Sam is prepared to put up with more mess in the
preparation of the coffee if the taste of the coffee is exceptionally good.
Example 1.26 The delivery robot could be given goals, such as “deliver coffee
to Chris and make sure you always have power.” A more complex goal may be
to “clean up the lab, and put everything where it belongs”, which can only be
achieved to some degree. There can be complex preferences, such as “deliver
mail when it arrives and service coffee requests as soon as possible, but it is
more important to deliver messages marked as urgent, and Chris needs her
coffee quickly when she asks for it.”
Example 1.27 For the diagnostic assistant, the goal may be as simple as “fix
what is wrong,” but often there are complex trade-offs involving costs, pain,
life expectancy, and preferences related to the uncertainty that the diagnosis is
correct and uncertainty as to efficacy and side-effects of the treatment. There is
also a problem of whose preferences are to be taken into account; the patient,
the doctor, the payer, and society may all have different preferences that must
be reconciled.
Example 1.28 Although it may be possible for the tutoring agent to have
a simple goal such, as to teach some particular concept, it is more likely that
complex preferences must be taken into account. One reason is that, with un-
certainty, there may be no way to guarantee that the student knows the concept
being taught; any method that tries to maximize the probability that the stu-
dent knows a concept will be very annoying, because it will repeatedly teach
and test if there is a slight chance that the student’s errors are due to misunder-
standing as opposed to fatigue or boredom. More complex preferences would
enable a trade-off among fully teaching a concept, boring the student, the time
taken, and the amount of retesting. The student may also have a preference
for a teaching style that could be taken into account. The student, the teacher,
the parents, and future employers may have different preferences. The student
may have incompatible preferences, for example, to not work hard and to get
a good mark. If the teacher is optimizing student evaluations, it might both
allow the student to not work hard, and also give good marks. But that might
undermine the goal of the student actually learning something.
Example 1.29 For a trading agent, preferences of users are typically in terms
of functionality, not components. For example, typical computer buyers have
no idea of what hardware to buy, but they know what functionality they want
and they also want the flexibility to be able to use new software features that
might not even exist yet. Similarly, in a travel domain, what activities a user
wants may depend on the location. Users also may want the ability to partic-
ipate in a local custom at their destination, even though they may not know
what those customs are. Even a simple path-finding algorithm, such as Google
1.5. Agent Design Space 33
Maps, which, at the time of writing, assumes all users’ preferences are to min-
imize travel time, could take into account each individual user’s preferences
for diverse views or avoiding going too close to where some particular relative
lives.
Example 1.30 There can be multiple delivery robots, which can coordinate to
deliver coffee and parcels more efficiently. They can compete for power outlets
or for space to move. Only one might be able to go closest to the wall when
turning a corner. There may also be children out to trick the robot, or pets that
get in the way.
When automated vehicles have to go on a highway, it may be much more
efficient and safer for them to travel in a coordinated manner, say one cen-
timeter apart in a convoy, than to travel three vehicle lengths apart. It is more
efficient because they can reduce wind drag, and many more vehicles can fit on
a highway. It is safer because the difference in speeds is small; if one vehicle
slams on its brakes or has engine problems, the car that might crash into the
back is going approximately the same speed.
Example 1.31 A trading agent has to reason about other agents. In commerce,
prices are governed by supply and demand; this means that it is important to
reason about the other competing agents. This happens particularly in a world
where many items are sold by auction. Such reasoning becomes particularly
difficult when there are items that must complement each other, such as flights
and hotel bookings, and items that can substitute for each other, such as bus
transport or taxis. You don’t want to book the flights if there is no accommoda-
tion, or book accommodation if there are no flights.
1.5.9 Interactivity
In deciding what an agent will do, there are three aspects of computation that
must be distinguished: (1) the design-time computation that goes into the de-
sign of the agent, carried out by the designer of the agent, not the agent itself;
(2) the computation that the agent can do before it observes the world and
needs to act; and (3) the computation that is done by the agent as it is acting.
The interactivity dimension considers whether the agent does
An agent acting in the world usually does not have the luxury of having
the world wait for it to consider the best option. However, offline reasoning,
where the agent can reason about the best thing to do before having to act,
is often a simplifying assumption. Online reasoning can include long-range
strategic reasoning as well as determining how to react in a timely manner to
the environment; see Chapter 2.
1.5. Agent Design Space 35
Example 1.32 A delivery robot may be able to compute a plan for its day
offline, but then it needs to be able to adapt to changes, for example, when
someone wants coffee early or something urgent needs to be delivered. It can-
not plan for who it will meet and need to avoid in the corridors. It either needs
to be able to anticipate and plan for all possible eventualities, or it needs to
reason online when it finds something unexpected.
Example 1.33 A tutoring agent can determine the general outline of what
should be taught offline. But then it needs to be able to react to unexpected
behavior online when it occurs. It is difficult to be able to anticipate all eventu-
alities, and might be easier to deal with them online when it encounters them.
Dimension Values
Modularity flat, modular, hierarchical
Planning horizon non-planning, finite stage,
indefinite stage, infinite stage
Representation states, features, relations
Computational limits perfect rationality, bounded rationality
Learning knowledge is given, knowledge is learned
Sensing uncertainty fully observable, partially observable
Effect uncertainty deterministic, stochastic
Preference goals, complex preferences
Number of agents single agent, adversaries, multiple agents
Interactivity offline, online
that maintains balance may only have a few states. A module that must pri-
oritize the delivery of multiple parcels to multiple people may have to reason
about multiple individuals (e.g., people, packages, and rooms) and the rela-
tions between them. At a higher level, a module that reasons about the activity
over the day may only require a few states to cover the different phases of the
day (e.g., there might be three states of the robot: busy, available for requests,
and recharging).
The planning horizon interacts with the modularity dimension. For exam-
ple, at a high level, a dog may be getting an immediate reward when it comes
and gets a treat. At the level of deciding where to place its paws, there may be
a long time until it gets the reward, and so at this level it may have to plan for
an indefinite stage.
Sensing uncertainty probably has the greatest impact on the complexity of
reasoning. It is much easier for an agent to reason when it knows the state of
the world than when it does not.
The uncertainty dimensions interact with the modularity dimension: at one
level in a hierarchy, an action may be deterministic, whereas at another level, it
may be stochastic. As an example, consider the result of flying to a particular
overseas destination with a companion you are trying to impress. At one level
you may know which country you are in. At a lower level, you may be quite
lost and not know where you are on a map of the airport. At an even lower
level responsible for maintaining balance, you may know where you are: you
are standing on the ground. At the highest level, you may be very unsure
whether you have impressed your companion.
Preference models interact with uncertainty because an agent needs to trade
off between satisfying a very desirable goal with low probability or a less de-
sirable goal with a higher probability. This issue is explored in Section 12.1
(page 518).
Multiple agents can also be used for modularity; one way to design a sin-
gle agent is to build multiple interacting agents that share a common goal of
making the higher-level agent act intelligently. Some researchers, such as Min-
sky [1986], argue that intelligence is an emergent feature from a “society” of
unintelligent agents.
Learning is often cast in terms of learning with features – determining which
feature values best predict the value of another feature. However, learning can
also be carried out with individuals and relations. Learning with hierarchies,
sometimes called deep learning, has enabled the learning of more complex
concepts. Much work has been done on learning in partially observable do-
mains, and learning with multiple agents. Each of these is challenging in its
own right without considering interactions with multiple dimensions.
The interactivity dimension interacts with the planning horizon dimension
in that when the agent is reasoning and acting online, it also needs to reason
about the long-term horizon. The interactivity dimension also interacts with
the computational limits; even if an agent is reasoning offline, it cannot take
hundreds of years to compute an answer. However, when it has to reason
1.6. Designing Agents 37
about what to do in, say, 1/10 of a second, it needs to be concerned about the
time taken to reason, and the trade-off between thinking and acting.
Two of these dimensions, modularity and bounded rationality, promise to
make reasoning more efficient. Although they make the formalism more com-
plicated, breaking the system into smaller components, and making the ap-
proximations needed to act in a timely fashion and within memory limitations,
should help build more complex systems.
• At one extreme is a highly specialized agent that works well in the envi-
ronment for which it was designed, but is helpless outside of this niche.
The designer may have done considerable work in building the agent,
but the agent can be extremely specialized to operate well. An example
is a traditional thermostat. It may be difficult to design a thermostat so
that it turns on and off at exactly the right temperatures, but the ther-
mostat itself does not have to do much computation. Another example
is a car-painting robot that always paints the same parts in an automo-
bile factory. There may be much design time or offline computation to
get it to work perfectly, but the painting robot can paint parts with little
online computation; it senses that there is a part in position, but then it
carries out its predefined actions. These very specialized agents do not
adapt well to different environments or to changing goals. The painting
robot would not notice if a different sort of part were present and, even
if it did, it would not know what to do with it. It would have to be re-
designed or reprogrammed to paint different parts or to change into a
sanding machine or a dog-washing machine.
• At the other extreme is a very flexible agent that can survive in arbitrary
environments and accept new tasks at run time. Simple biological agents
such as insects can adapt to complex changing environments, but they
cannot carry out arbitrary tasks. Designing an agent that can adapt to
complex environments and changing goals is a major challenge. The
agent will know much more about the particulars of a situation than the
designer. Even biology has not produced many such agents. Humans
38 1. Artificial Intelligence and Agents
may be the only extant example, but even humans need time to adapt to
new environments.
Even if the flexible agent is our ultimate dream, researchers have to reach this
goal via more mundane goals. Rather than building a universal agent, which
can adapt to any environment and solve any task, researchers have been re-
stricted to particular agents for particular environmental niches. The designer
can exploit the structure of the particular niche and the agent does not have to
reason about other possibilities.
Two broad strategies have been pursued in building agents:
• The first is to simplify environments and build complex reasoning sys-
tems for these simple environments. For example, factory robots can do
sophisticated tasks in the engineered environment of a factory, but they
may be hopeless in a natural environment. Much of the complexity of
the task can be reduced by simplifying the environment. This is also im-
portant for building practical systems because many environments can
be engineered to make them simpler for agents.
• The second strategy is to build simple agents in natural environments.
This is inspired by seeing how insects can survive in complex environ-
ments even though they have very limited reasoning abilities. Modern
language systems can predict the probability of the next word in an arbi-
trary text, but this does not mean they can be used for decision making.
Researchers then make the agents have more reasoning abilities as their
tasks become more complicated.
One of the advantages of simplifying environments is that it may enable us to
prove properties of agents or to optimize agents for particular situations. Prov-
ing properties or optimization typically requires a model of the agent and its
environment. The agent may do a little or a lot of reasoning, but an observer or
designer of the agent may be able to reason about the agent and the environ-
ment. For example, the designer may be able to prove whether the agent can
achieve a goal, whether it can avoid getting into situations that may be bad for
the agent (safety), whether it can avoid getting stuck somewhere (liveness),
or whether it will eventually get around to each of the things it should do
(fairness). Of course, the proof is only as good as the model.
The advantage of building agents for complex environments is that these
are the types of environments in which humans live and where agents could
be useful.
Even natural environments can be abstracted into simpler environments.
For example, for an autonomous car driving on public roads the environment
can be conceptually simplified so that everything is either a road, another car,
or something to be avoided. Although autonomous cars have sophisticated
sensors, they only have limited actions available, namely steering, accelerating,
and braking.
Fortunately, research along both lines, and between these extremes, is being
carried out. In the first case, researchers start with simple environments and
1.6. Designing Agents 39
make the environments more complex. In the second case, researchers increase
the complexity of the behaviors that the agents can carry out.
1.6.2 Tasks
One way that AI representations differ from computer programs in traditional
languages is that an AI representation typically specifies what needs to be com-
puted, not how it is to be computed. You might specify that the agent should
find the most likely disease a patient has, or specify that a robot should get
coffee, but not give detailed instructions on how to do these things. Much AI
reasoning involves searching through the space of possibilities to determine
how to complete a task.
Typically, a task is only given informally, such as “deliver parcels promptly
when they arrive” or “fix whatever is wrong with the electrical system of the
home.”
The general framework for solving tasks by computer is given in Figure 1.9.
To solve a task, the designer of a system must:
solve
task solution
formal
compute
representation output
requested is in the result. However, if the trading agent does not have complete
knowledge about the resorts, returning all of the information may be the only
way for it to guarantee that all of the requested information is there. Similarly,
one does not want a delivery robot, when asked to take all of the trash to the
garbage can, to take everything to the garbage can, even though this may be
the only way to guarantee that all of the trash has been taken. Much work in
AI is motivated by commonsense reasoning; the computer should be able to
reach commonsense conclusions about the unstated assumptions.
Given a well-defined task, the next issue is whether it matters if the answer
returned is incorrect or incomplete. For example, if the specification asks for
all instances, does it matter if some are missing? Does it matter if there are
some extra instances? Often a person does not want just any solution but the
best solution according to some criteria. There are four common classes of
solutions:
Optimal solution An optimal solution to a task is one that is the best solution
according to some measure of solution quality. This measure is typically
specified as an ordinal, where only the order matters. In some situations
a cardinal measure, where the relative magnitudes also matter, is used.
For example, a robot may need to take out as much trash as possible;
the more trash it can take out, the better. In a more complex example,
you may want the delivery robot to take as much of the trash as possi-
ble to the garbage can, minimizing the distance traveled, and explicitly
specify a trade-off between the effort required and the proportion of the
trash taken out. There are also costs associated with making mistakes
and throwing out items that are not trash. It may be better to miss some
trash than to waste too much time. One general measure of desirability
that interacts with probability is utility (page 518).
Satisficing solution Often an agent does not need the best solution to a task
but just needs some solution. A satisficing solution is one that is good
enough according to some description of which solutions are adequate.
For example, a person may tell a robot that it must take all of the trash
out, or tell it to take out three items of trash.
Approximately optimal solution One of the advantages of a cardinal mea-
sure of success is that it allows for approximations. An approximately
optimal solution is one whose measure of quality is close to the best that
could theoretically be obtained. Typically, agents do not need optimal
solutions to tasks; they only need to get close enough. For example, the
robot may not need to travel the optimal distance to take out the trash
but may only need to be within, say, 10% of the optimal distance. Some
approximation algorithms guarantee that a solution is within some range
of optimal, but for some algorithms no guarantees are available.
For some tasks, it is much easier computationally to get an approx-
imately optimal solution than to get an optimal solution. However, for
other tasks, it is just as difficult to find an approximately optimal solution
42 1. Artificial Intelligence and Agents
1.6.4 Representations
Once you have some requirements on the nature of a solution, you must repre-
sent the task so a computer can solve it.
Computers and human minds are examples of physical symbol systems.
A symbol is a meaningful pattern that can be manipulated. Examples of sym-
bols are written words, sentences, gestures, marks on paper, or sequences of
bits. A symbol system creates, copies, modifies, and destroys symbols. Essen-
tially, a symbol is one of the patterns manipulated as a unit by a symbol system.
The term “physical” is used, because symbols in a physical symbol system are
physical objects that are part of the real world, even though they may be inter-
nal to computers and brains. They may also need to physically affect action or
motor control.
The physical symbol system hypothesis of Newell and Simon [1976] is
that:
data, and are not learned with the constraint that they are interpretable. Al-
though some people have tried to interpret them, it is reasonable to say that
these are not symbols. However, at a high level, they are either trained to be
symbols (e.g., by learning a mapping between pixels and symbols, such as cat)
or can be interpreted as symbols.
An agent can use a physical symbol system to model the world. A model
of a world is a representation of an agent’s beliefs about what is true in the
world or how the world changes. The world does not have to be modeled at
the most detailed level to be useful. All models are abstractions; they represent
only part of the world and leave out many of the details. An agent can have
a very simplistic model of the world, or it can have a very detailed model of
the world. The level of abstraction provides a partial ordering of abstraction.
A lower-level abstraction includes more details than a higher-level abstraction.
An agent can have multiple, even contradictory, models of the world. Models
are judged not by whether they are correct, but by whether they are useful.
Example 1.34 A delivery robot can model the environment at a high level of
abstraction in terms of rooms, corridors, doors, and obstacles, ignoring dis-
tances, its size, the steering angles needed, the slippage of the wheels, the
weight of parcels, the details of obstacles, the political situation in Canada, and
virtually everything else. The robot could model the environment at lower lev-
els of abstraction by taking some of these details into account. Some of these
details may be irrelevant for the successful implementation of the robot, but
some may be crucial for the robot to succeed. For example, in some situations
the size of the robot and the steering angles may be crucial for not getting stuck
around a particular corner. In other situations, if the robot stays close to the
center of the corridor, it may not need to model its width or the steering angles.
the biochemical level (what chemicals and what electrical potentials are be-
ing transmitted), the chemical level (what chemical reactions are being carried
out), and the level of physics (in terms of forces on atoms and quantum phe-
nomena). What levels above the neuronal level are needed to account for intel-
ligence is still an open question. These levels of description are echoed in the
hierarchical structure of science itself, where scientists are divided into physi-
cists, chemists, biologists, psychologists, anthropologists, and so on. Although
no level of description is more important than any other, it is plausible that you
do not have to emulate every level of a human to build an AI agent but rather
you can emulate the higher levels and build them on the foundation of modern
computers. This conjecture is part of what AI studies.
The following are two levels that seem to be common to both biological and
computational entities:
• The knowledge level is the level of abstraction that considers what an
agent knows and believes and what its goals are. The knowledge level
considers what an agent knows, but not how it reasons. For example, the
delivery agent’s behavior can be described in terms of whether it knows
that a parcel has arrived or not and whether it knows where a particular
person is or not. Both human and robotic agents are describable at the
knowledge level. At this level, you do not specify how the solution will
be computed or even which of the many possible strategies available to
the agent will be used.
• The symbol level is a level of description of an agent in terms of the rea-
soning it does. To implement the knowledge level, an agent manipulates
symbols to produce answers. Many cognitive science experiments are
designed to determine what symbol manipulation occurs during reason-
ing. Whereas the knowledge level is about what the agent believes about
the external world and what its goals are in terms of the outside world,
the symbol level is about what goes on inside an agent to reason about
the external world.
worthy. The inputs to an AI agent include the goals and preferences of the
agent, but it is not clear whose preferences they are or should be.
Each chapter concludes with a social impact section discussing issues di-
rectly relevant to that chapter’s topics. The social impact sections are of two
types, sometimes containing both:
from observational data. Chapter 8 studies neural networks and deep learning
and how features themselves can be learned from sensory observation.
Chapter 9 shows how to reason with uncertainty, in particular with proba-
bility and graphical models of independence. Chapter 10 introduces learning
with uncertainty. Chapter 11 shows how to model causality and learn the ef-
fects of interventions (which cannot be learned from observation alone).
Part IV considers planning and acting with uncertainty.
Chapter 12 considers the task of planning with uncertainty. Chapter 13
deals with reinforcement learning, where agents learn what to do. Chapter 14
expands planning to deal with issues arising from multiple agents.
Part V extends the state and feature-based representations to deal with re-
lational representations, in terms of relations and individuals.
Chapter 15 shows how to reason in terms of individuals and relations.
Chapter 16 discusses how to enable semantic interoperability using knowledge
graphs and ontologies. Chapter 17 shows how reasoning about individuals
and relations can be combined with learning and probabilistic reasoning.
Part VI steps back from the details and gives the big picture.
In Chapter 18 on the social impact of AI, further ethical and social concerns
are addressed, by considering various questions, such as: What are the effects,
benefits, costs, and risks of deployed AI systems for society? What are the
ethical, equity, and regulatory considerations involved in building intelligent
agents? How can you ensure that AI systems are fair, transparent, explainable,
and trustworthy? How can AI systems be human-centered? What is the impact
on sustainability?
Chapter 19 reviews the design space of AI and shows how the material pre-
sented can fit into that design space. It also considers some likely and possible
future scenarios for the development of AI science and technology.
1.9 Review
The following are the main points you should have learned from this chapter:
• Artificial intelligence is the study of computational agents that act intel-
ligently.
• An agent acts in an environment and only has access to its abilities, its
prior knowledge, its history of stimuli, and its goals and preferences.
• A physical symbol system manipulates symbols to determine what to do.
• A designer of an intelligent agent should be concerned about modularity,
how to describe the world, how far ahead to plan, uncertainty in both
perception and the effects of actions, the structure of goals or preferences,
other agents, how to learn from experience, how the agent can reason
while interacting with the environment, and the fact that all real agents
have limited computational resources.
• To solve a task by computer, the computer must have an effective repre-
sentation with which to reason.
1.10. References and Further Reading 47
1.11 Exercises
Exercise 1.1 For each of the following, give five reasons why:
(a) A dog is more intelligent than a worm.
(b) A human is more intelligent than a dog.
(c) An organization is more intelligent than an individual human.
Based on these, give a definition of what “more intelligent” may mean.
Exercise 1.2 Give as many disciplines as you can whose aim is to study intelligent
behavior of some sort. For each discipline, find out what aspect of behavior is
1.11. Exercises 49
investigated and what tools are used to study it. Be as liberal as you can regarding
what defines intelligent behavior.
Exercise 1.3 Find out about two applications of AI (not classes of applications,
but specific programs). For each application, write at most one typed page de-
scribing it. You should try to cover the following questions:
(a) What does the application actually do (e.g., control a spacecraft, diagnose a
photocopier, provide intelligent help for computer users)?
(b) What AI technologies does it use (e.g., model-based diagnosis, belief net-
works, semantic networks, heuristic search, constraint satisfaction)?
(c) How well does it perform? (According to the authors or to an independent
review? How does it compare to humans? How do the authors know how
well it works?)
(d) Is it an experimental system or a fielded system? (How many users does it
have? What expertise do these users require?)
(e) Why is it intelligent? What aspects of it make it an intelligent system?
(f) [optional] What programming language and environment was it written in?
What sort of user interface does it have?
(g) References: Where did you get the information about the application? To
what books, articles, or webpages should others who want to know about
the application refer?
Exercise 1.4 For each of the Winograd schemas in Example 1.2 (page 6), what
knowledge is required to correctly answer the questions? Try to find a “cheap”
method to find the answer, such as by comparing the number of results in a Google
search for different cases. Try this for six other Winograd schemas of Davis [2015].
Try to construct an example of your own.
Exercise 1.5 Choose four pairs of dimensions that were not compared in Sec-
tion 1.5.10 (page 35). For each pair, give one commonsense example of where the
dimensions interact.