Artificial Intelligence A Modern Approach Solution | Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See! 24036 명이 이 답변을 좋아했습니다

당신은 주제를 찾고 있습니까 “artificial intelligence a modern approach solution – Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See!“? 다음 카테고리의 웹사이트 https://ppa.diaochoangduong.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.diaochoangduong.vn/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 Dr. Rami Shaheen 이(가) 작성한 기사에는 조회수 57회 및 좋아요 3개 개의 좋아요가 있습니다.

Table of Contents

artificial intelligence a modern approach solution 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See! – artificial intelligence a modern approach solution 주제에 대한 세부정보를 참조하세요

If you want to discover more about artificial intelligence a modern approach third edition solutions , you must check out: 👉 www.RAMISHAHEEN.COM
This video is presenting \”artificial intelligence a modern approach third edition solutions\” topic information but we also try to cover the following subjects:
-artificial intelligence a modern approach third edition exercise solutions
-MODERN APPROACH
-AUTOMATIONS
On google you can find a ton of info about ‘artificial intelligence a modern approach third edition solutions’ but let’s be honest … A youtube video is worth thousands of words, and also it’s easier to get the information that you searched after. That’s why I created this video regarding artificial intelligence a modern approach third edition solutions keyword as well as ‘artificial intelligence a modern approach third edition exercise solutions’
Thank you for stopping by, i’m going to cut it as short as possible, so let’s cut to the chase! Are you looking for more info about MODERN APPROACH
We hope you have actually gotten some beneficial info by now, the next action is to act and give us a possibility to make things better. See you on the other side!
Do you notice green parts while watching the vid?
Can you hear the audio of a yt video on your computer system, however the video player is green? If so, attempt seeing the video in a different internet browser
————–
Subscribe to our YouTube Channel for special content
: https://www.youtube.com/channel/UCxWyRbAgwJJmMNuTvZ0Rdlg?view_as=subscriber
I wish you liked this YouTube video where we covered as high as we can about artificial intelligence a modern approach third edition exercise solutions and also MODERN APPROACH

artificial intelligence a modern approach solution 주제에 대한 자세한 내용은 여기를 참조하세요.

Artificial Intelligence – STT Mandala

Instructor’s solution manual for artificial intelligence : a modern approach. (second edition) / Stuart Russell, Peter Norvig.

+ 여기에 표시

Source: www.sttmandalabdg.ac.id

Date Published: 4/20/2022

View: 7310

A Modern Approach 3rd Edition Instructor Solutions Manual by …

Instructor Solutions Manual for Artificial Intelligence: A Modern Approach 3rd Edition by Stuart Russell Edition/Type: 3rd Edition /Solution Manual

+ 더 읽기

Source: groups.google.com

Date Published: 6/8/2021

View: 7966

Artificial Intelligence – A Modern Approach Third Edition

There have been important applications of AI technology, such as the wespread deploy- ment of practical speech recognition, machine translation, autonomous …

+ 여기에 더 보기

Source: zoo.cs.yale.edu

Date Published: 12/26/2022

View: 9995

Artificial Intelligence – A Modern Approach [Exercise Solutions]

Instructor’s Manual: Exercise Solutions for. Artificial Intelligence A Modern Approach Third Edition (International Version) Stuart J.

+ 여기에 더 보기

Source: docero.tips

Date Published: 6/8/2021

View: 1164

AIMA 3ed. – Solution Manual – Yumpu

almost all of the 400 exercises in Artificial Intelligence: A Modern Approach (Third Edition). We only give actual code for a few of the …

+ 여기에 더 보기

Source: www.yumpu.com

Date Published: 11/27/2022

View: 5489

Artificial intelligence a modern approach, 3e exercise …

Exercise Solutions for. Artificial Intelligence A Modern Approach Third Edition (International Version) Stuart J. Russell and Peter Norvig

+ 여기에 더 보기

Source: text.123docz.net

Date Published: 8/26/2022

View: 7362

Solutions to AIMA (Artificial Intelligence: A Modern Approach)

Solutions to AIMA (Artificial Intelligence: A Modern Approach) – GitHub – klutometis/aima: Solutions to AIMA (Artificial Intelligence: A Modern Approach)

+ 여기에 자세히 보기

Source: github.com

Date Published: 11/3/2022

View: 2632

주제와 관련된 이미지 artificial intelligence a modern approach solution

주제와 관련된 더 많은 사진을 참조하십시오 Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See!. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See!
Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See!

주제에 대한 기사 평가 artificial intelligence a modern approach solution

  • Author: Dr. Rami Shaheen
  • Views: 조회수 57회
  • Likes: 좋아요 3개
  • Date Published: 최초 공개: 2020. 7. 24.
  • Video Url link: https://www.youtube.com/watch?v=4rvcfkh6AH4

Instructor’s Manual Exercise Solutions for Artificial Intelligence A Modern Approach

Instructor’s Manual:

Exercise Solutions

for

Artificial Intelligence

A Modern Approach

Third Edition (International Version)

Stuart J. Russell and Peter Norvig

with contributions from

Ernest Davis, Nicholas J. Hay, and Mehran Sahami

Upper Saddle River Boston Columbus San Francisco New York Indianapolis London Toronto Sydney Singapore Tokyo Montreal Dubai Madrid Hong Kong Mexico City Munich Paris Amsterdam Cape Town

Editor-in-Chief: Michael Hirsch Executive Editor: Tracy Dunkelberger Assistant Editor: Melinda Haggerty Editorial Assistant: Allison Michael Vice President, Production: Vince O’Brien Senior Managing Editor: Scott Disanno Production Editor: Jane Bonnell Interior Designers: Stuart Russell and Peter Norvig

Copyright © 2010, 2003, 1995 by Pearson Education, Inc., Upper Saddle River, New Jersey 07458. All rights reserved. Manufactured in the United States of America. This publication is protected by Copyright and permissions should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form orby any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission(s) to use materials from this work, please submit a written request to Pearson Higher Education, Permissions Department, 1 Lake Street, Upper Saddle River, NJ 07458.

The author and publisher of this book have used their best efforts in preparing this book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The author and publisher make no warranty ofany kind, expressed or implied, with regard to these programs or the documentation contained in this book. The author and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.

Library of Congress Cataloging-in-Publication Data on File

10 9 8 7 6 5 4 3 2 1

ISBN-13: 978-0-13-606738-

ISBN-10: 0-13-606738-

Solutions for Chapter 1

Introduction

1.

a. Dictionary definitions of intelligence talk about “the capacity to acquire and apply knowledge” or “the faculty of thought and reason” or “the ability to comprehend and profit from experience.” These are all reasonable answers, but if we want something quantifiable we would use something like “the ability to apply knowledge in order to perform better in an environment.” b. We define artificial intelligence as the study and construction of agent programs that perform well in a given environment, for a given agent architecture. c. We define an agent as an entity that takes action in response to percepts from anenvi- ronment. d. We define rationality as the property of a system which does the “right thing” given what it knows. See Section 2 for a more complete discussion. Both describe perfect rationality, however; see Section 27. e. We define logical reasoning as the a process of deriving new sentences from old, such that the new sentences are necessarily true if the old ones are true. (Notice that does not refer to any specific syntax oor formal language, but it does require a well-defined notion of truth.)

1 See the solution for exercise 26 for some discussion of potential objections. The probability of fooling an interrogator depends on just how unskilled the interroga- tor is. One entrant in the 2002 Loebner prize competition (which is not quite a real Turing Test) did fool one judge, although if you look at the transcript, it is hard to imagine what that judge was thinking. There certainly have been examplesof a chatbot or other online agent fooling humans. For example, see See Lenny Foner’s account of the Julia chatbot at media.mit/people/foner/Julia/. We’d say the chance today is something like 10%, with the variation depending more on the skill of the interrogator rather than the program. In 50 years, we expect that the entertainment industry (movies, video games, com- mercials) will have made sufficient investments in artificial actors to create very credible impersonators.

1 Yes, they are rational, because slower, deliberative actions would tend to result in more damage to the hand. If “intelligent” means “applying knowledge” or “using thought and reasoning” then it does not require intelligence to make a reflex action.

1

3

The voice activated directory assistance programs used by telephone companies, which must deal with a large and changing vocabulary are certainly AI programs.

This is borderline. There is something to be said for viewing these as intelligent agents working in cyberspace. The task is sophisticated, the information available is partial, the techniques are heuristic (not guaranteed optimal), and thestate of the world is dynamic. All of these are characteristic of intelligent activities the other hand, the task is very far from those normally carried out in human cognition.

1 Presumably the brain has evolved so as to carry out this operations on visual images, but the mechanism is only accessible for one particular purpose in this particular cognitive task of image processing. Until about two centuries ago there was no advantage in people (or animals) being able to compute the convolution of a Gaussianfor any other purpose. The really interesting question here is what we mean by saying that the “actual person” can do something. The person can see, but he cannot compute the convolution of a Gaussian; but computing that convolution is part of seeing. This is beyond the scope of this solution manual.

1 Evolution tends to perpetuate organisms (and combinationsand mutations of organ- isms) that are successful enough to reproduce. That is, evolution favors organisms that can optimize their performance measure to at least survive to the age of sexual maturity, and then be able to win a mate. Rationality just means optimizing performance measure, so this is in line with evolution.

1 This question is intended to be about the essential nature ofthe AI problem and what is required to solve it, but could also be interpreted as a sociological question about the current practice of AI research. A science is a field of study that leads to the acquisition of empirical knowledge by the scientific method, which involves falsifiable hypotheses about what is. A pure engineering field can be thought of as taking a fixed base of empirical knowledge and using it to solve problems of interest to society. Of course, engineers do bits of science—e., they measure the properties of building materials—and scientists do bits ofengineering to create new devices and so on. As described in Section 1, the “human” side of AI is clearlyan empirical science— called cognitive science these days—because it involves psychological experiments designed out to find out how human cognition actually works. What aboutthe the “rational” side? If we view it as studying the abstract relationship among an arbitrary task environment, a computing device, and the program for that computing devicethat yields the best performance in the task environment, then the rational side of AI is really mathematics and engineering; it does not require any empirical knowledge about the actual world—and the actual task environment—that we inhabit; that a given program will do well in a given environment is a theorem. (The same is true of pure decision theory.) In practice, however, we are interested in task environments that do approximate the actual world, so even the rational side of AI involves finding out what the actual world is like. For example, in studying rational agents that communicate, we are interested in task environments that contain humans, so we have

4 Chapter 1. Introduction

to find out what human language is like. In studying perception, we tend to focus on sensors such as cameras that extract useful information from the actual world. (In a world without light, cameras wouldn’t be much use.) Moreover, to design vision algorithms that are good at extracting information from camera images, we need to understand the actual world that generates those images. Obtaining the required understanding of scene characteristics, object types, surface markings, and so on is a quite different kind of science from ordinary physics, chemistry, biology, and so on, but it is still science. In summary, AI is definitely engineering but it would not be especially useful to us if it were not also an empirical science concerned with those aspects of the real world that affect the design of intelligent systems for that world. 1 This depends on your definition of “intelligent” and “tell.”In one sense computers only do what the programmers command them to do, but in another sense what the programmers consciously tells the computer to do often has very little todo with what the computer actually does. Anyone who has written a program with an ornery bug knows this, as does anyone who has written a successful machine learning program. So inone sense Samuel “told” the computer “learn to play checkers better than I do, and then play that way,” but in another sense he told the computer “follow this learning algorithm”and it learned to play. So we’re left in the situation where you may or may not consider learning to play checkers to be s sign of intelligence (or you may think that learning to play in theright way requires intelligence, but not in this way), and you may think the intelligence resides in the programmer or in the computer. 1 The point of this exercise is to notice the parallel with the previous one. Whatever you decided about whether computers could be intelligent in1, you are committed to making the same conclusion about animals (including humans), unless your reasons for de- ciding whether something is intelligent take into account the mechanism (programming via genes versus programming via a human programmer). Note thatSearle makes this appeal to mechanism in his Chinese Room argument (see Chapter 26). 1 Again, the choice you make in 1 drives your answer to this question. 1. a. (ping-pong) A reasonable level of proficiency was achievedby Andersson’s robot (An- dersson, 1988). b. (driving in Cairo) No. Although there has been a lot of progress in automated driving, all such systems currently rely on certain relatively constant clues: that the road has shoulders and a center line, that the car ahead will travel a predictable course, that cars will keep to their side of the road, and so on. Some lane changes and turns can be made on clearly marked roads in light to moderate traffic. Drivingin downtown Cairo is too unpredictable for any of these to work. c. (driving in Victorville, California) Yes, to some extent,as demonstrated in DARPA’s Urban Challenge. Some of the vehicles managed to negotiate streets, intersections, well-behaved traffic, and well-behaved pedestrians in goodvisual conditions.

6 Chapter 1. Introduction

The competition appears to have been a good testing ground toput theory into practice, something that the failures of 2004 showed was needed. But itis important that the competition was done at just the right time, when there was theoretical work to con- solidate, as demonstrated by the earlier work by Dickmanns (whose VaMP car drove autonomously for 158km in 1995) and by Pomerleau (whose Navlab car drove 5000km across the USA, also in 1995, with the steering controlled autonomously for 98% of the trip, although the brakes and accelerator were controlled by a human driver).

International Planning Competition In 1998, five planners competed: Blackbox, HSP, IPP, SGP, and STAN. The result page (ftp:ftp.cs.yale/pub/ mcdermott/aipscomp-results) stated “all of these planners performed very well, compared to the state of the art a few years ago.” Most plans found were 30 or 40 steps, with some over 100 steps. In 2008, the competition had expanded quite a bit: there were more tracks (satisficing vs. optimizing; sequential vs. temporal; static vs. learning). There were about 25 planners, including submissions from the 1998 groups (or their descendants) and new groups. Solutions found weremuch longer than in 1998. In sum, the field has progressed quite a bit in participation,in breadth, and in power of the planners. In the 1990s it was possible to publish a Planning paper that discussed only a theoretical approach; now it is necessary to show quantitative evidence of the efficacy of an approach. The field is stronger and more mature now, and it seems that the planning competition deserves some of the credit. However, some researchers feel that too much emphasis is placed on the particular classes ofproblems that appear in the competitions, and not enough on real-world applications.

In 1998, five planners competed: Blackbox, HSP, IPP, SGP, and STAN. The result page (ftp:ftp.cs.yale/pub/ mcdermott/aipscomp-results) stated “all of these planners performed very well, compared to the state of the art a few years ago.” Most plans found were 30 or 40 steps, with some over 100 steps. In 2008, the competition had expanded quite a bit: there were more tracks (satisficing vs. optimizing; sequential vs. temporal; static vs. learning). There were about 25 planners, including submissions from the 1998 groups (or their descendants) and new groups. Solutions found weremuch longer than in 1998. In sum, the field has progressed quite a bit in participation,in breadth, and in power of the planners. In the 1990s it was possible to publish a Planning paper that discussed only a theoretical approach; now it is necessary to show quantitative evidence of the efficacy of an approach. The field is stronger and more mature now, and it seems that the planning competition deserves some of the credit. However, some researchers feel that too much emphasis is placed on the particular classes ofproblems that appear in the competitions, and not enough on real-world applications. Robocup Robotics Soccer This competition has proved extremely popular, attracting 407 teams from 43 countries in 2009 (up from 38 teams from 11 countries in 1997). The robotic platform has advanced to a more capable humanoidform, and the strategy and tactics have advanced as well. Although the competitionhas spurred innovations in distributed control, the winning teams in recent years have relied more on individual ball-handling skills than on advanced teamwork. The competition has served to increase interest and participation in robotics, although it is not clear how well they are advancing towards the goal of defeating a human team by 2050.

This competition has proved extremely popular, attracting 407 teams from 43 countries in 2009 (up from 38 teams from 11 countries in 1997). The robotic platform has advanced to a more capable humanoidform, and the strategy and tactics have advanced as well. Although the competitionhas spurred innovations in distributed control, the winning teams in recent years have relied more on individual ball-handling skills than on advanced teamwork. The competition has served to increase interest and participation in robotics, although it is not clear how well they are advancing towards the goal of defeating a human team by 2050. TREC Information Retrieval Conference This is one of the oldest competitions, started in 1992. The competitions have served to bring together a community of re- searchers, have led to a large literature of publications, and have seen progress in par- ticipation and in quality of results over the years. In the early years, TREC served its purpose as a place to do evaluations of retrieval algorithms on text collections that were large for the time. However, starting around 2000 TREC became less relevant as the advent of the World Wide Web created a corpus that was available to anyone and was much larger than anything TREC had created, and the development of commercial search engines surpassed academic research.

This is one of the oldest competitions, started in 1992. The competitions have served to bring together a community of re- searchers, have led to a large literature of publications, and have seen progress in par- ticipation and in quality of results over the years. In the early years, TREC served its purpose as a place to do evaluations of retrieval algorithms on text collections that were large for the time. However, starting around 2000 TREC became less relevant as the advent of the World Wide Web created a corpus that was available to anyone and was much larger than anything TREC had created, and the development of commercial search engines surpassed academic research. NIST Open Machine Translation Evaluation This series of evaluations (explicitly not labelled a “competition”) has existed since 2001. Sincethen we have seen great advances in Machine Translation quality as well as in the number of languages covered.

7

The dominant approach has switched from one based on grammatical rules to one that relies primarily on statistics. The NIST evaluations seem to track these changes well, but don’t appear to be driving the changes. Overall, we see that whatever you measure is bound to increase over time. For most of these competitions, the measurement was a useful one, and the state of the art has progressed. In the case of ICAPS, some planning researchers worry that too much attention has been lavished on the competition itself. In some cases, progresshas left the competition behind, as in TREC, where the resources available to commercial search engines outpaced those available to academic researchers. In this case the TREC competition was useful—it helped train many of the people who ended up in commercial search engines—and in no way drew energy away from new ideas.

9

was already clean? As a general strategy, an agent can use the environment itself as EXTERNAL MEMORY a form of external memory —a common technique for humans who use things like appointment calendars and knots in handkerchiefs. In this particular case, however, that is not possible. Consider the reflex actions for[A,Clean]and[B,Clean]. If either of these isNoOp, then the agent will fail in the case where that is the initialpercept but the other square is dirty; hence, neither can beNoOpand therefore the simple reflex agent is doomed to keep moving. In general, the problem with reflex agents is that they have to do the same thing in situations that look the same, even when the situations are actually quite different. In the vacuum world this is a big liability, because every interior square (except home) looks either like a square with dirt or a square without dirt. c. If we consider asymptotically long lifetimes, then it is clear that learning a map (in some form) confers an advantage because it means that the agent can avoid bumping into walls. It can also learn where dirt is most likely to accumulate and can devise an optimal inspection strategy. The precise details of the exploration method needed to construct a complete map appear in Chapter 4; methods for deriving an optimal inspection/cleanup strategy are in Chapter 21.

2. a. An agent that senses only partial information about the state cannot be perfectly ra- tional. False. Perfect rationality refers to the ability to make good decisions given the sensor information received. b. There exist task environments in which no pure reflex agent can behave rationally. True. A pure reflex agent ignores previous percepts, so cannot obtain an optimal state estimate in a partially observable environment. For example, correspondence chess is played by sending moves; if the other player’s move is the current percept, a reflex agent could not keep track of the board state and would have to respond to, say, “a4” in the same way regardless of the position in which it was played. c. There exists a task environment in which every agent is rational. True. For example, in an environment with a single state, such that all actions have the same reward, it doesn’t matter which action is taken. More generally, any environment that is reward-invariant under permutation of the actions will satisfy this property. d. The input to an agent program is the same as the input to the agent function. False. The agent function, notionally speaking, takes as input the entire percept se- quence up to that point, whereas the agent program takes the current percept only. e. Every agent function is implementable by some program/machine combination. False. For example, the environment may contain Turing machines and input tapes and the agent’s job is to solve the halting problem; there is an agent function that specifies the right answers, but no agent program can implement it. Another example would be an agent function that requires solving intractable problem instances of arbitrary size in constant time.

10 Chapter 2. Intelligent Agents

f. Suppose an agent selects its action uniformly at random fromthe set of possible actions. There exists a deterministic task environment in which thisagent is rational. True. This is a special case of (c); if it doesn’t matter whichaction you take, selecting randomly is rational. g. It is possible for a given agent to be perfectly rational in two distinct task environments. True. For example, we can arbitrarily modify the parts of theenvironment that are unreachable by any optimal policy as long as they stay unreachable. h. Every agent is rational in an unobservable environment. False. Some actions are stupid—and the agent may know this ifit has a model of the environment—even if one cannot perceive the environment state. i. A perfectly rational poker-playing agent never loses. False. Unless it draws the perfect hand, the agent can alwayslose if an opponent has better cards. This can happen for game after game. The correct statement is that the agent’s expected winnings are nonnegative.

2 Many of these can actually be argued either way, depending onthe level of detail and abstraction. A. Partially observable, stochastic, sequential, dynamic, continuous, multi-agent. B. Partially observable, stochastic, sequential, dynamic, continuous, single agent (unless there are alien life forms that are usefully modeled as agents). C. Partially observable, deterministic, sequential, static, discrete, single agent. This can be multi-agent and dynamic if we buy books via auction, or dynamic if we purchase on a long enough scale that book offers change. D. Fully observable, stochastic, episodic (every point is separate), dynamic, continuous, multi-agent. E. Fully observable, stochastic, episodic, dynamic, continuous, single agent. F. Fully observable, stochastic, sequential, static, continuous, single agent. G. Fully observable, deterministic, sequential, static, continuous, single agent. H. Fully observable, strategic, sequential, static, discrete, multi-agent.

2 The following are just some of the many possible definitions that can be written: – Agent : an entity that perceives and acts; or, one that can be viewed as perceiving and acting. Essentially any object qualifies; the key point is the way the object implements an agent function. (Note: some authors restrict the term to programs that operate on behalf of a human, or to programs that can cause some or all of their codeto run on MOBILE AGENT other machines on a network, as in mobile agents .)

Agent function : a function that specifies the agent’s action in response to every possible percept sequence.

Agent program : that program which, combined with a machine architecture, imple- ments an agent function. In our simple designs, the program takes a new percept on each invocation and returns an action.

12 Chapter 2. Intelligent Agents

function GOAL-BASED-AGENT(percept) returns an action persistent :state, the agent’s current conception of the world state model, a description of how the next state depends on current stateand action goal, a description of the desired goal state plan, a sequence of actions to take, initially empty action, the most recent action, initially none state←UPDATE-STATE(state,action,percept,model) if GOAL-ACHIEVED(state,goal) then return a null action if planis empty then plan←PLAN(state,goal,model) action←FIRST(plan) plan←REST(plan) return action

Figure S2 A goal-based agent.

For partially-observable environments the agent can compute a conditional plan, which specifies the sequence of actions to take as a function of the agent’s perception. In the ex- treme, a conditional plan gives the agent’s response to every contingency, and so it is a repre- sentation of the entire agent function. In all cases it may be either intractable or too expensive to compute everything out in advance. Instead of a conditional plan, it may be better to compute a single sequence of actions which is likely to reach the goal, then monitor the environment to check whether the plan is succeeding, repairing or replanning if it is not. It may be even better to compute only the start of this plan before taking the first action, continuing to plan at later time steps. Pseudocode for simple goal-based agent is given in Figure S2. GOAL-ACHIEVED tests to see whether the current state satisfies the goal or not, doing nothing if it does. PLAN computes a sequence of actions to take to achieve the goal. This might return only a prefix of the full plan, the rest will be computed after the prefix is executed. This agent will act to maintain the goal: if at any point the goal is not satisfied it will (eventually) replan to achieve the goal again. At this level of abstraction the utility-based agent is not much different than the goal- based agent, except that action may be continuously required (there is not necessarily a point where the utility function is “satisfied”). Pseudocode is given in Figure S2. 2 The file”agents/environments/vacuum”in the code repository imple- ments the vacuum-cleaner environment. Students can easilyextend it to generate different shaped rooms, obstacles, and so on. 2 A reflex agent program implementing the rational agent function described in the chap- ter is as follows: (defun reflex-rational-vacuum-agent (percept) (destructuring-bind (location status) percept

13

function UTILITY-BASED-AGENT(percept) returns an action persistent :state, the agent’s current conception of the world state model, a description of how the next state depends on current stateand action utility−function, a description of the agent’s utility function plan, a sequence of actions to take, initially empty action, the most recent action, initially none state←UPDATE-STATE(state,action,percept,model) if planis empty then plan←PLAN(state,utility−function,model) action←FIRST(plan) plan←REST(plan) return action

Figure S2 A utility-based agent.

(cond ((eq status ’Dirty) ’Suck) ((eq location ’A) ’Right) (t ’Left))))

For states 1, 3, 5, 7 in Figure 4, the performance measures are 1996, 1999, 1998, 2000 respectively.

2.

a. No; see answer to 2(b). b. See answer to 2(b). c. In this case, a simple reflex agent can be perfectly rational. The agent can consist of a table with eight entries, indexed by percept, that specifies an action to take for each possible state. After the agent acts, the world is updated and the next percept will tell the agent what to do next. For larger environments, constructing a table is infeasible. Instead, the agent could run one of the optimal search algorithms in Chapters 3 and 4 and execute the first step of the solution sequence. Again, nointernal state is required , but it would help to be able to store the solution sequence instead of recomputing it for each new percept.

2.

a. Because the agent does not know the geography and perceivesonly location and local dirt, and cannot remember what just happened, it will get stuck forever against a wall when it tries to move in a direction that is blocked—that is, unless it randomizes. b. One possible design cleans up dirt and otherwise moves randomly: (defun randomized-reflex-vacuum-agent (percept) (destructuring-bind (location status) percept (cond ((eq status ’Dirty) ’Suck) (t (random-element ’(Left Right Up Down))))))

15

update is nontrivial to explain.

2 The problem appears at first to be very similar; the main difference is that instead of using the location percept to build the map, the agent has to “invent” its own locations (which, after all, are just nodes in a data structure representing the state space graph). When a bump is detected, the agent assumes it remains in the same location and can add a wall to its map. For grid environments, the agent can keep track of its(x,y)location and so can tell when it has returned to an old state. In the general case, however, there is no simple way to tell if a state is new or old.

2.

a. For a reflex agent, this presents no additional challenge, because the agent will continue toSuckas long as the current location remains dirty. For an agent that constructs a sequential plan, everySuckaction would need to be replaced by “Suckuntil clean.” If the dirt sensor can be wrong on each step, then the agent might want to wait for a few steps to get a more reliable measurement before decidingwhether toSuckor move on to a new square. Obviously, there is a trade-off because waiting too long means that dirt remains on the floor (incurring a penalty), but acting immediately risks either dirtying a clean square or ignoring a dirty square (if the sensor is wrong). A rational agent must also continue touring and checking the squares incase it missed one on a previous tour (because of bad sensor readings). it is not immediately obvious how the waiting time at each square should change with each new tour. These issues can be clarified by experimentation, which may suggest a general trend that can be verified mathematically. This problem is a partially observable Markov decision process—see Chapter 17. Such problems are hard in general, but some special cases may yield to careful analysis. b. In this case, the agent must keep touring the squares indefinitely. The probability that a square is dirty increases monotonically with the time since it was last cleaned, so the rational strategy is, roughly speaking, to repeatedly execute the shortest possible tour of all squares. (We say “roughly speaking” because there are complications caused by the fact that the shortest tour may visit some squares twice, depending on the geography.) This problem is also a partially observable Markov decisionprocess.

Solutions for Chapter 3

Solving Problems by Searching

3 In goal formulation, we decide which aspects of the world we are interested in, and which can be ignored or abstracted away. Then in problem formulation we decide how to manipulate the important aspects (and ignore the others). If we did problem formulation first we would not know what to include and what to leave out. That said, it can happen that there is a cycle of iterations between goal formulation, problem formulation, and problem solving until one arrives at a sufficiently useful and efficient solution.

3.

a. We’ll define the coordinate system so that the center of themaze is at(0,0), and the maze itself is a square from(− 1 ,−1)to(1,1). Initial state: robot at coordinate(0,0), facing North. Goal test: either|x|> 1 or|y|> 1 where(x,y)is the current location. Successor function: move forwards any distanced; change direction robot it facing. Cost function: total distance moved.

The state space is infinitely large, since the robot’s position is continuous. b. The state will record the intersection the robot is currently at, along with the direction it’s facing. At the end of each corridor leaving the maze we will have an exit node. We’ll assume some node corresponds to the center of the maze. Initial state: at the center of the maze facing North. Goal test: at an exit node. Successor function: move to the next intersection in front of us, if there is one; turn to face a new direction. Cost function: total distance moved.

There are 4 nstates, wherenis the number of intersections. c. Initial state: at the center of the maze. Goal test: at an exit node. Successor function: move to next intersection to the North,South, East, or West. Cost function: total distance moved.

We no longer need to keep track of the robot’s orientation since it is irrelevant to

16

Artificial Intelligence: A Modern Approach 3rd Edition Instructor Solutions Manual by Stuart Russell

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

You do not have permission to delete messages in this group

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

Artificial Intelligence – A Modern Approach [Exercise Solutions] [PDF]

Artificial Intelligence – A Modern Approach [Exercise Solutions] 237 Pages • 95,947 Words • PDF • 1.4 MB + Modern + Artificial + approach + intelligence Uploaded at 2021-10-19 03:44 Report DMCA This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.

SAVE OFFLINE

Instructor’s Manual: Exercise Solutions for

Artificial Intelligence A Modern Approach Third Edition (International Version) Stuart J. Russell and Peter Norvig with contributions from Ernest Davis, Nicholas J. Hay, and Mehran Sahami

Upper Saddle River Boston Columbus San Francisco New York Indianapolis London Toronto Sydney Singapore Tokyo Montreal Dubai Madrid Hong Kong Mexico City Munich Paris Amsterdam Cape Town

Editor-in-Chief: Michael Hirsch Executive Editor: Tracy Dunkelberger Assistant Editor: Melinda Haggerty Editorial Assistant: Allison Michael Vice President, Production: Vince O’Brien Senior Managing Editor: Scott Disanno Production Editor: Jane Bonnell Interior Designers: Stuart Russell and Peter Norvig

Copyright © 2010, 2003, 1995 by Pearson Education, Inc., Upper Saddle River, New Jersey 07458. All rights reserved. Manufactured in the United States of America. This publication is protected by Copyright and permissions should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission(s) to use materials from this work, please submit a written request to Pearson Higher Education, Permissions Department, 1 Lake Street, Upper Saddle River, NJ 07458. The author and publisher of this book have used their best efforts in preparing this book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation contained in this book. The author and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs. Library of Congress Cataloging-in-Publication Data on File

10 9 8 7 6 5 4 3 2 1 ISBN-13: 978-0-13-606738-2 ISBN-10: 0-13-606738-7

Preface This Instructor’s Solution Manual provides solutions (or at least solution sketches) for almost all of the 400 exercises in Artificial Intelligence: A Modern Approach (Third Edition). We only give actual code for a few of the programming exercises; writing a lot of code would not be that helpful, if only because we don’t know what language you prefer. In many cases, we give ideas for discussion and follow-up questions, and we try to explain why we designed each exercise. There is more supplementary material that we want to offer to the instructor, but we have decided to do it through the medium of the World Wide Web rather than through a CD or printed Instructor’s Manual. The idea is that this solution manual contains the material that must be kept secret from students, but the Web site contains material that can be updated and added to in a more timely fashion. The address for the web site is: http://aima.cs.berkeley.edu and the address for the online Instructor’s Guide is: http://aima.cs.berkeley.edu/instructors.html There you will find: • Instructions on how to join the aima-instructors discussion list. We strongly recommend that you join so that you can receive updates, corrections, notification of new versions of this Solutions Manual, additional exercises and exam questions, etc., in a timely manner. • Source code for programs from the text. We offer code in Lisp, Python, and Java, and point to code developed by others in C++ and Prolog. • Programming resources and supplemental texts. • Figures from the text, for making your own slides. • Terminology from the index of the book. • Other courses using the book that have home pages on the Web. You can see example syllabi and assignments here. Please do not put solution sets for AIMA exercises on public web pages! • AI Education information on teaching introductory AI courses. • Other sites on the Web with information on AI. Organized by chapter in the book; check this for supplemental material. We welcome suggestions for new exercises, new environments and agents, etc. The book belongs to you, the instructor, as much as us. We hope that you enjoy teaching from it, that these supplemental materials help, and that you will share your supplements and experiences with other instructors.

iii

Solutions for Chapter 1 Introduction

1.1 a. Dictionary definitions of intelligence talk about “the capacity to acquire and apply knowledge” or “the faculty of thought and reason” or “the ability to comprehend and profit from experience.” These are all reasonable answers, but if we want something quantifiable we would use something like “the ability to apply knowledge in order to perform better in an environment.” b. We define artificial intelligence as the study and construction of agent programs that perform well in a given environment, for a given agent architecture. c. We define an agent as an entity that takes action in response to percepts from an environment. d. We define rationality as the property of a system which does the “right thing” given what it knows. See Section 2.2 for a more complete discussion. Both describe perfect rationality, however; see Section 27.3. e. We define logical reasoning as the a process of deriving new sentences from old, such that the new sentences are necessarily true if the old ones are true. (Notice that does not refer to any specific syntax oor formal language, but it does require a well-defined notion of truth.) 1.2

See the solution for exercise 26.1 for some discussion of potential objections. The probability of fooling an interrogator depends on just how unskilled the interrogator is. One entrant in the 2002 Loebner prize competition (which is not quite a real Turing Test) did fool one judge, although if you look at the transcript, it is hard to imagine what that judge was thinking. There certainly have been examples of a chatbot or other online agent fooling humans. For example, see See Lenny Foner’s account of the Julia chatbot at foner.www.media.mit.edu/people/foner/Julia/. We’d say the chance today is something like 10%, with the variation depending more on the skill of the interrogator rather than the program. In 50 years, we expect that the entertainment industry (movies, video games, commercials) will have made sufficient investments in artificial actors to create very credible impersonators. 1.3 Yes, they are rational, because slower, deliberative actions would tend to result in more damage to the hand. If “intelligent” means “applying knowledge” or “using thought and reasoning” then it does not require intelligence to make a reflex action. 1

2

Chapter 1.

Introduction

1.4 No. IQ test scores correlate well with certain other measures, such as success in college, ability to make good decisions in complex, real-world situations, ability to learn new skills and subjects quickly, and so on, but only if they’re measuring fairly normal humans. The IQ test doesn’t measure everything. A program that is specialized only for IQ tests (and specialized further only for the analogy part) would very likely perform poorly on other measures of intelligence. Consider the following analogy: if a human runs the 100m in 10 seconds, we might describe him or her as very athletic and expect competent performance in other areas such as walking, jumping, hurdling, and perhaps throwing balls; but we would not desscribe a Boeing 747 as very athletic because it can cover 100m in 0.4 seconds, nor would we expect it to be good at hurdling and throwing balls. Even for humans, IQ tests are controversial because of their theoretical presuppositions about innate ability (distinct from training effects) adn the generalizability of results. See The Mismeasure of Man by Stephen Jay Gould, Norton, 1981 or Multiple intelligences: the theory in practice by Howard Gardner, Basic Books, 1993 for more on IQ tests, what they measure, and what other aspects there are to “intelligence.” 1.5 In order of magnitude figures, the computational power of the computer is 100 times larger. 1.6 Just as you are unaware of all the steps that go into making your heart beat, you are also unaware of most of what happens in your thoughts. You do have a conscious awareness of some of your thought processes, but the majority remains opaque to your consciousness. The field of psychoanalysis is based on the idea that one needs trained professional help to analyze one’s own thoughts. 1.7 • Although bar code scanning is in a sense computer vision, these are not AI systems. The problem of reading a bar code is an extremely limited and artificial form of visual interpretation, and it has been carefully designed to be as simple as possible, given the hardware. • In many respects. The problem of determining the relevance of a web page to a query is a problem in natural language understanding, and the techniques are related to those we will discuss in Chapters 22 and 23. Search engines like Ask.com, which group the retrieved pages into categories, use clustering techniques analogous to those we discuss in Chapter 20. Likewise, other functionalities provided by a search engines use intelligent techniques; for instance, the spelling corrector uses a form of data mining based on observing users’ corrections of their own spelling errors. On the other hand, the problem of indexing billions of web pages in a way that allows retrieval in seconds is a problem in database design, not in artificial intelligence. • To a limited extent. Such menus tends to use vocabularies which are very limited – e.g. the digits, “Yes”, and “No” — and within the designers’ control, which greatly simplifies the problem. On the other hand, the programs must deal with an uncontrolled space of all kinds of voices and accents.

3 The voice activated directory assistance programs used by telephone companies, which must deal with a large and changing vocabulary are certainly AI programs. • This is borderline. There is something to be said for viewing these as intelligent agents working in cyberspace. The task is sophisticated, the information available is partial, the techniques are heuristic (not guaranteed optimal), and the state of the world is dynamic. All of these are characteristic of intelligent activities. On the other hand, the task is very far from those normally carried out in human cognition. 1.8 Presumably the brain has evolved so as to carry out this operations on visual images, but the mechanism is only accessible for one particular purpose in this particular cognitive task of image processing. Until about two centuries ago there was no advantage in people (or animals) being able to compute the convolution of a Gaussian for any other purpose. The really interesting question here is what we mean by saying that the “actual person” can do something. The person can see, but he cannot compute the convolution of a Gaussian; but computing that convolution is part of seeing. This is beyond the scope of this solution manual. 1.9 Evolution tends to perpetuate organisms (and combinations and mutations of organisms) that are successful enough to reproduce. That is, evolution favors organisms that can optimize their performance measure to at least survive to the age of sexual maturity, and then be able to win a mate. Rationality just means optimizing performance measure, so this is in line with evolution. 1.10 This question is intended to be about the essential nature of the AI problem and what is required to solve it, but could also be interpreted as a sociological question about the current practice of AI research. A science is a field of study that leads to the acquisition of empirical knowledge by the scientific method, which involves falsifiable hypotheses about what is. A pure engineering field can be thought of as taking a fixed base of empirical knowledge and using it to solve problems of interest to society. Of course, engineers do bits of science—e.g., they measure the properties of building materials—and scientists do bits of engineering to create new devices and so on. As described in Section 1.1, the “human” side of AI is clearly an empirical science— called cognitive science these days—because it involves psychological experiments designed out to find out how human cognition actually works. What about the the “rational” side? If we view it as studying the abstract relationship among an arbitrary task environment, a computing device, and the program for that computing device that yields the best performance in the task environment, then the rational side of AI is really mathematics and engineering; it does not require any empirical knowledge about the actual world—and the actual task environment—that we inhabit; that a given program will do well in a given environment is a theorem. (The same is true of pure decision theory.) In practice, however, we are interested in task environments that do approximate the actual world, so even the rational side of AI involves finding out what the actual world is like. For example, in studying rational agents that communicate, we are interested in task environments that contain humans, so we have

4

Chapter 1.

Introduction

to find out what human language is like. In studying perception, we tend to focus on sensors such as cameras that extract useful information from the actual world. (In a world without light, cameras wouldn’t be much use.) Moreover, to design vision algorithms that are good at extracting information from camera images, we need to understand the actual world that generates those images. Obtaining the required understanding of scene characteristics, object types, surface markings, and so on is a quite different kind of science from ordinary physics, chemistry, biology, and so on, but it is still science. In summary, AI is definitely engineering but it would not be especially useful to us if it were not also an empirical science concerned with those aspects of the real world that affect the design of intelligent systems for that world. 1.11 This depends on your definition of “intelligent” and “tell.” In one sense computers only do what the programmers command them to do, but in another sense what the programmers consciously tells the computer to do often has very little to do with what the computer actually does. Anyone who has written a program with an ornery bug knows this, as does anyone who has written a successful machine learning program. So in one sense Samuel “told” the computer “learn to play checkers better than I do, and then play that way,” but in another sense he told the computer “follow this learning algorithm” and it learned to play. So we’re left in the situation where you may or may not consider learning to play checkers to be s sign of intelligence (or you may think that learning to play in the right way requires intelligence, but not in this way), and you may think the intelligence resides in the programmer or in the computer. 1.12 The point of this exercise is to notice the parallel with the previous one. Whatever you decided about whether computers could be intelligent in 1.11, you are committed to making the same conclusion about animals (including humans), unless your reasons for deciding whether something is intelligent take into account the mechanism (programming via genes versus programming via a human programmer). Note that Searle makes this appeal to mechanism in his Chinese Room argument (see Chapter 26). 1.13

Again, the choice you make in 1.11 drives your answer to this question.

1.14 a. (ping-pong) A reasonable level of proficiency was achieved by Andersson’s robot (Andersson, 1988). b. (driving in Cairo) No. Although there has been a lot of progress in automated driving, all such systems currently rely on certain relatively constant clues: that the road has shoulders and a center line, that the car ahead will travel a predictable course, that cars will keep to their side of the road, and so on. Some lane changes and turns can be made on clearly marked roads in light to moderate traffic. Driving in downtown Cairo is too unpredictable for any of these to work. c. (driving in Victorville, California) Yes, to some extent, as demonstrated in DARPA’s Urban Challenge. Some of the vehicles managed to negotiate streets, intersections, well-behaved traffic, and well-behaved pedestrians in good visual conditions.

5 d. (shopping at the market) No. No robot can currently put together the tasks of moving in a crowded environment, using vision to identify a wide variety of objects, and grasping the objects (including squishable vegetables) without damaging them. The component pieces are nearly able to handle the individual tasks, but it would take a major integration effort to put it all together. e. (shopping on the web) Yes. Software robots are capable of handling such tasks, particularly if the design of the web grocery shopping site does not change radically over time. f. (bridge) Yes. Programs such as GIB now play at a solid level. g. (theorem proving) Yes. For example, the proof of Robbins algebra described on page 360. h. (funny story) No. While some computer-generated prose and poetry is hysterically funny, this is invariably unintentional, except in the case of programs that echo back prose that they have memorized. i. (legal advice) Yes, in some cases. AI has a long history of research into applications of automated legal reasoning. Two outstanding examples are the Prolog-based expert systems used in the UK to guide members of the public in dealing with the intricacies of the social security and nationality laws. The social security system is said to have saved the UK government approximately $150 million in its first year of operation. However, extension into more complex areas such as contract law awaits a satisfactory encoding of the vast web of common-sense knowledge pertaining to commercial transactions and agreement and business practices. j. (translation) Yes. In a limited way, this is already being done. See Kay, Gawron and Norvig (1994) and Wahlster (2000) for an overview of the field of speech translation, and some limitations on the current state of the art. k. (surgery) Yes. Robots are increasingly being used for surgery, although always under the command of a doctor. Robotic skills demonstrated at superhuman levels include drilling holes in bone to insert artificial joints, suturing, and knot-tying. They are not yet capable of planning and carrying out a complex operation autonomously from start to finish. 1.15 The progress made in this contests is a matter of fact, but the impact of that progress is a matter of opinion. • DARPA Grand Challenge for Robotic Cars In 2004 the Grand Challenge was a 240 km race through the Mojave Desert. It clearly stressed the state of the art of autonomous driving, and in fact no competitor finished the race. The best team, CMU, completed only 12 of the 240 km. In 2005 the race featured a 212km course with fewer curves and wider roads than the 2004 race. Five teams finished, with Stanford finishing first, edging out two CMU entries. This was hailed as a great achievement for robotics and for the Challenge format. In 2007 the Urban Challenge put cars in a city setting, where they had to obey traffic laws and avoid other cars. This time CMU edged out Stanford.

6

Chapter 1.

Introduction

The competition appears to have been a good testing ground to put theory into practice, something that the failures of 2004 showed was needed. But it is important that the competition was done at just the right time, when there was theoretical work to consolidate, as demonstrated by the earlier work by Dickmanns (whose VaMP car drove autonomously for 158km in 1995) and by Pomerleau (whose Navlab car drove 5000km across the USA, also in 1995, with the steering controlled autonomously for 98% of the trip, although the brakes and accelerator were controlled by a human driver). • International Planning Competition In 1998, five planners competed: Blackbox, HSP, IPP, SGP, and STAN. The result page (ftp://ftp.cs.yale.edu/pub/ mcdermott/aipscomp-results.html) stated “all of these planners performed very well, compared to the state of the art a few years ago.” Most plans found were 30 or 40 steps, with some over 100 steps. In 2008, the competition had expanded quite a bit: there were more tracks (satisficing vs. optimizing; sequential vs. temporal; static vs. learning). There were about 25 planners, including submissions from the 1998 groups (or their descendants) and new groups. Solutions found were much longer than in 1998. In sum, the field has progressed quite a bit in participation, in breadth, and in power of the planners. In the 1990s it was possible to publish a Planning paper that discussed only a theoretical approach; now it is necessary to show quantitative evidence of the efficacy of an approach. The field is stronger and more mature now, and it seems that the planning competition deserves some of the credit. However, some researchers feel that too much emphasis is placed on the particular classes of problems that appear in the competitions, and not enough on real-world applications. • Robocup Robotics Soccer This competition has proved extremely popular, attracting 407 teams from 43 countries in 2009 (up from 38 teams from 11 countries in 1997). The robotic platform has advanced to a more capable humanoid form, and the strategy and tactics have advanced as well. Although the competition has spurred innovations in distributed control, the winning teams in recent years have relied more on individual ball-handling skills than on advanced teamwork. The competition has served to increase interest and participation in robotics, although it is not clear how well they are advancing towards the goal of defeating a human team by 2050. • TREC Information Retrieval Conference This is one of the oldest competitions, started in 1992. The competitions have served to bring together a community of researchers, have led to a large literature of publications, and have seen progress in participation and in quality of results over the years. In the early years, TREC served its purpose as a place to do evaluations of retrieval algorithms on text collections that were large for the time. However, starting around 2000 TREC became less relevant as the advent of the World Wide Web created a corpus that was available to anyone and was much larger than anything TREC had created, and the development of commercial search engines surpassed academic research. • NIST Open Machine Translation Evaluation This series of evaluations (explicitly not labelled a “competition”) has existed since 2001. Since then we have seen great advances in Machine Translation quality as well as in the number of languages covered.

7 The dominant approach has switched from one based on grammatical rules to one that relies primarily on statistics. The NIST evaluations seem to track these changes well, but don’t appear to be driving the changes. Overall, we see that whatever you measure is bound to increase over time. For most of these competitions, the measurement was a useful one, and the state of the art has progressed. In the case of ICAPS, some planning researchers worry that too much attention has been lavished on the competition itself. In some cases, progress has left the competition behind, as in TREC, where the resources available to commercial search engines outpaced those available to academic researchers. In this case the TREC competition was useful—it helped train many of the people who ended up in commercial search engines—and in no way drew energy away from new ideas.

Solutions for Chapter 2 Intelligent Agents

2.1 This question tests the student’s understanding of environments, rational actions, and performance measures. Any sequential environment in which rewards may take time to arrive will work, because then we can arrange for the reward to be “over the horizon.” Suppose that in any state there are two action choices, a and b, and consider two cases: the agent is in state s at time T or at time T − 1. In state s, action a reaches state s′ with reward 0, while action b reaches state s again with reward 1; in s′ either action gains reward 10. At time T − 1, it’s rational to do a in s, with expected total reward 10 before time is up; but at time T , it’s rational to do b with total expected reward 1 because the reward of 10 cannot be obtained before time is up. Students may also provide common-sense examples from real life: investments whose payoff occurs after the end of life, exams where it doesn’t make sense to start the high-value question with too little time left to get the answer, and so on. The environment state can include a clock, of course; this doesn’t change the gist of the answer—now the action will depend on the clock as well as on the non-clock part of the state—but it does mean that the agent can never be in the same state twice. 2.2 Notice that for our simple environmental assumptions we need not worry about quantitative uncertainty. a. It suffices to show that for all possible actual environments (i.e., all dirt distributions and initial locations), this agent cleans the squares at least as fast as any other agent. This is trivially true when there is no dirt. When there is dirt in the initial location and none in the other location, the world is clean after one step; no agent can do better. When there is no dirt in the initial location but dirt in the other, the world is clean after two steps; no agent can do better. When there is dirt in both locations, the world is clean after three steps; no agent can do better. (Note: in general, the condition stated in the first sentence of this answer is much stricter than necessary for an agent to be rational.) b. The agent in (a) keeps moving backwards and forwards even after the world is clean. It is better to do NoOp once the world is clean (the chapter says this). Now, since the agent’s percept doesn’t say whether the other square is clean, it would seem that the agent must have some memory to say whether the other square has already been cleaned. To make this argument rigorous is more difficult—for example, could the agent arrange things so that it would only be in a clean left square when the right square 8

9

EXTERNAL MEMORY

was already clean? As a general strategy, an agent can use the environment itself as a form of external memory—a common technique for humans who use things like appointment calendars and knots in handkerchiefs. In this particular case, however, that is not possible. Consider the reflex actions for [A, Clean] and [B, Clean]. If either of these is NoOp, then the agent will fail in the case where that is the initial percept but the other square is dirty; hence, neither can be NoOp and therefore the simple reflex agent is doomed to keep moving. In general, the problem with reflex agents is that they have to do the same thing in situations that look the same, even when the situations are actually quite different. In the vacuum world this is a big liability, because every interior square (except home) looks either like a square with dirt or a square without dirt. c. If we consider asymptotically long lifetimes, then it is clear that learning a map (in some form) confers an advantage because it means that the agent can avoid bumping into walls. It can also learn where dirt is most likely to accumulate and can devise an optimal inspection strategy. The precise details of the exploration method needed to construct a complete map appear in Chapter 4; methods for deriving an optimal inspection/cleanup strategy are in Chapter 21. 2.3 a. An agent that senses only partial information about the state cannot be perfectly rational. False. Perfect rationality refers to the ability to make good decisions given the sensor information received. b. There exist task environments in which no pure reflex agent can behave rationally. True. A pure reflex agent ignores previous percepts, so cannot obtain an optimal state estimate in a partially observable environment. For example, correspondence chess is played by sending moves; if the other player’s move is the current percept, a reflex agent could not keep track of the board state and would have to respond to, say, “a4” in the same way regardless of the position in which it was played. c. There exists a task environment in which every agent is rational. True. For example, in an environment with a single state, such that all actions have the same reward, it doesn’t matter which action is taken. More generally, any environment that is reward-invariant under permutation of the actions will satisfy this property. d. The input to an agent program is the same as the input to the agent function. False. The agent function, notionally speaking, takes as input the entire percept sequence up to that point, whereas the agent program takes the current percept only. e. Every agent function is implementable by some program/machine combination. False. For example, the environment may contain Turing machines and input tapes and the agent’s job is to solve the halting problem; there is an agent function that specifies the right answers, but no agent program can implement it. Another example would be an agent function that requires solving intractable problem instances of arbitrary size in constant time.

10

Chapter

2.

Intelligent Agents

f. Suppose an agent selects its action uniformly at random from the set of possible actions. There exists a deterministic task environment in which this agent is rational. True. This is a special case of (c); if it doesn’t matter which action you take, selecting randomly is rational. g. It is possible for a given agent to be perfectly rational in two distinct task environments. True. For example, we can arbitrarily modify the parts of the environment that are unreachable by any optimal policy as long as they stay unreachable. h. Every agent is rational in an unobservable environment. False. Some actions are stupid—and the agent may know this if it has a model of the environment—even if one cannot perceive the environment state. i. A perfectly rational poker-playing agent never loses. False. Unless it draws the perfect hand, the agent can always lose if an opponent has better cards. This can happen for game after game. The correct statement is that the agent’s expected winnings are nonnegative. 2.4 Many of these can actually be argued either way, depending on the level of detail and abstraction. A. Partially observable, stochastic, sequential, dynamic, continuous, multi-agent. B. Partially observable, stochastic, sequential, dynamic, continuous, single agent (unless there are alien life forms that are usefully modeled as agents). C. Partially observable, deterministic, sequential, static, discrete, single agent. This can be multi-agent and dynamic if we buy books via auction, or dynamic if we purchase on a long enough scale that book offers change. D. Fully observable, stochastic, episodic (every point is separate), dynamic, continuous, multi-agent. E. Fully observable, stochastic, episodic, dynamic, continuous, single agent. F. Fully observable, stochastic, sequential, static, continuous, single agent. G. Fully observable, deterministic, sequential, static, continuous, single agent. H. Fully observable, strategic, sequential, static, discrete, multi-agent. 2.5

MOBILE AGENT

The following are just some of the many possible definitions that can be written: • Agent: an entity that perceives and acts; or, one that can be viewed as perceiving and acting. Essentially any object qualifies; the key point is the way the object implements an agent function. (Note: some authors restrict the term to programs that operate on behalf of a human, or to programs that can cause some or all of their code to run on other machines on a network, as in mobile agents.) • Agent function: a function that specifies the agent’s action in response to every possible percept sequence. • Agent program: that program which, combined with a machine architecture, implements an agent function. In our simple designs, the program takes a new percept on each invocation and returns an action.

11 • Rationality: a property of agents that choose actions that maximize their expected utility, given the percepts to date. • Autonomy: a property of agents whose behavior is determined by their own experience rather than solely by their initial programming. • Reflex agent: an agent whose action depends only on the current percept. • Model-based agent: an agent whose action is derived directly from an internal model of the current world state that is updated over time. • Goal-based agent: an agent that selects actions that it believes will achieve explicitly represented goals. • Utility-based agent: an agent that selects actions that it believes will maximize the expected utility of the outcome state. • Learning agent: an agent whose behavior improves over time based on its experience. 2.6 Although these questions are very simple, they hint at some very fundamental issues. Our answers are for the simple agent designs for static environments where nothing happens while the agent is deliberating; the issues get even more interesting for dynamic environments. a. Yes; take any agent program and insert null statements that do not affect the output. b. Yes; the agent function might specify that the agent print true when the percept is a Turing machine program that halts, and false otherwise. (Note: in dynamic environments, for machines of less than infinite speed, the rational agent function may not be implementable; e.g., the agent function that always plays a winning move, if any, in a game of chess.) c. Yes; the agent’s behavior is fixed by the architecture and program. d. There are 2n agent programs, although many of these will not run at all. (Note: Any given program can devote at most n bits to storage, so its internal state can distinguish among only 2n past histories. Because the agent function specifies actions based on percept histories, there will be many agent functions that cannot be implemented because of lack of memory in the machine.) e. It depends on the program and the environment. If the environment is dynamic, speeding up the machine may mean choosing different (perhaps better) actions and/or acting sooner. If the environment is static and the program pays no attention to the passage of elapsed time, the agent function is unchanged. 2.7 The design of goal- and utility-based agents depends on the structure of the task environment. The simplest such agents, for example those in chapters 3 and 10, compute the agent’s entire future sequence of actions in advance before acting at all. This strategy works for static and deterministic environments which are either fully-known or unobservable For fully-observable and fully-known static environments a policy can be computed in advance which gives the action to by taken in any given state.

12

Chapter

2.

Intelligent Agents

function G OAL -BASED -AGENT( percept ) returns an action persistent: state, the agent’s current conception of the world state model , a description of how the next state depends on current state and action goal , a description of the desired goal state plan, a sequence of actions to take, initially empty action, the most recent action, initially none state ← U PDATE -S TATE(state, action , percept , model ) if G OAL -ACHIEVED(state,goal ) then return a null action if plan is empty then plan ← P LAN(state,goal ,model ) action ← F IRST (plan) plan ← R EST(plan) return action Figure S2.1

A goal-based agent.

For partially-observable environments the agent can compute a conditional plan, which specifies the sequence of actions to take as a function of the agent’s perception. In the extreme, a conditional plan gives the agent’s response to every contingency, and so it is a representation of the entire agent function. In all cases it may be either intractable or too expensive to compute everything out in advance. Instead of a conditional plan, it may be better to compute a single sequence of actions which is likely to reach the goal, then monitor the environment to check whether the plan is succeeding, repairing or replanning if it is not. It may be even better to compute only the start of this plan before taking the first action, continuing to plan at later time steps. Pseudocode for simple goal-based agent is given in Figure S2.1. G OAL -ACHIEVED tests to see whether the current state satisfies the goal or not, doing nothing if it does. P LAN computes a sequence of actions to take to achieve the goal. This might return only a prefix of the full plan, the rest will be computed after the prefix is executed. This agent will act to maintain the goal: if at any point the goal is not satisfied it will (eventually) replan to achieve the goal again. At this level of abstraction the utility-based agent is not much different than the goalbased agent, except that action may be continuously required (there is not necessarily a point where the utility function is “satisfied”). Pseudocode is given in Figure S2.2. 2.8 The file “agents/environments/vacuum.lisp” in the code repository implements the vacuum-cleaner environment. Students can easily extend it to generate different shaped rooms, obstacles, and so on. 2.9 A reflex agent program implementing the rational agent function described in the chapter is as follows: (defun reflex-rational-vacuum-agent (percept) (destructuring-bind (location status) percept

13

function U TILITY-BASED -AGENT( percept ) returns an action persistent: state, the agent’s current conception of the world state model , a description of how the next state depends on current state and action utility − function, a description of the agent’s utility function plan, a sequence of actions to take, initially empty action, the most recent action, initially none state ← U PDATE -S TATE(state, action , percept , model ) if plan is empty then plan ← P LAN(state,utility − function,model ) action ← F IRST(plan) plan ← R EST(plan) return action Figure S2.2

A utility-based agent.

(cond ((eq status ’Dirty) ’Suck) ((eq location ’A) ’Right) (t ’Left)))) For states 1, 3, 5, 7 in Figure 4.9, the performance measures are 1996, 1999, 1998, 2000 respectively. 2.10 a. No; see answer to 2.4(b). b. See answer to 2.4(b). c. In this case, a simple reflex agent can be perfectly rational. The agent can consist of a table with eight entries, indexed by percept, that specifies an action to take for each possible state. After the agent acts, the world is updated and the next percept will tell the agent what to do next. For larger environments, constructing a table is infeasible. Instead, the agent could run one of the optimal search algorithms in Chapters 3 and 4 and execute the first step of the solution sequence. Again, no internal state is required, but it would help to be able to store the solution sequence instead of recomputing it for each new percept. 2.11 a. Because the agent does not know the geography and perceives only location and local dirt, and cannot remember what just happened, it will get stuck forever against a wall when it tries to move in a direction that is blocked—that is, unless it randomizes. b. One possible design cleans up dirt and otherwise moves randomly: (defun randomized-reflex-vacuum-agent (percept) (destructuring-bind (location status) percept (cond ((eq status ’Dirty) ’Suck) (t (random-element ’(Left Right Up Down))))))

14

Chapter

Figure S2.3 the squares.

2.

Intelligent Agents

An environment in which random motion will take a long time to cover all

This is fairly close to what the RoombaTM vacuum cleaner does (although the Roomba has a bump sensor and randomizes only when it hits an obstacle). It works reasonably well in nice, compact environments. In maze-like environments or environments with small connecting passages, it can take a very long time to cover all the squares. c. An example is shown in Figure S2.3. Students may also wish to measure clean-up time for linear or square environments of different sizes, and compare those to the efficient online search algorithms described in Chapter 4. d. A reflex agent with state can build a map (see Chapter 4 for details). An online depthfirst exploration will reach every state in time linear in the size of the environment; therefore, the agent can do much better than the simple reflex agent. The question of rational behavior in unknown environments is a complex one but it is worth encouraging students to think about it. We need to have some notion of the prior probability distribution over the class of environments; call this the initial belief state. Any action yields a new percept that can be used to update this distribution, moving the agent to a new belief state. Once the environment is completely explored, the belief state collapses to a single possible environment. Therefore, the problem of optimal exploration can be viewed as a search for an optimal strategy in the space of possible belief states. This is a well-defined, if horrendously intractable, problem. Chapter 21 discusses some cases where optimal exploration is possible. Another concrete example of exploration is the Minesweeper computer game (see Exercise 7.22). For very small Minesweeper environments, optimal exploration is feasible although the belief state

15 update is nontrivial to explain. 2.12 The problem appears at first to be very similar; the main difference is that instead of using the location percept to build the map, the agent has to “invent” its own locations (which, after all, are just nodes in a data structure representing the state space graph). When a bump is detected, the agent assumes it remains in the same location and can add a wall to its map. For grid environments, the agent can keep track of its (x, y) location and so can tell when it has returned to an old state. In the general case, however, there is no simple way to tell if a state is new or old. 2.13 a. For a reflex agent, this presents no additional challenge, because the agent will continue to Suck as long as the current location remains dirty. For an agent that constructs a sequential plan, every Suck action would need to be replaced by “Suck until clean.” If the dirt sensor can be wrong on each step, then the agent might want to wait for a few steps to get a more reliable measurement before deciding whether to Suck or move on to a new square. Obviously, there is a trade-off because waiting too long means that dirt remains on the floor (incurring a penalty), but acting immediately risks either dirtying a clean square or ignoring a dirty square (if the sensor is wrong). A rational agent must also continue touring and checking the squares in case it missed one on a previous tour (because of bad sensor readings). it is not immediately obvious how the waiting time at each square should change with each new tour. These issues can be clarified by experimentation, which may suggest a general trend that can be verified mathematically. This problem is a partially observable Markov decision process—see Chapter 17. Such problems are hard in general, but some special cases may yield to careful analysis. b. In this case, the agent must keep touring the squares indefinitely. The probability that a square is dirty increases monotonically with the time since it was last cleaned, so the rational strategy is, roughly speaking, to repeatedly execute the shortest possible tour of all squares. (We say “roughly speaking” because there are complications caused by the fact that the shortest tour may visit some squares twice, depending on the geography.) This problem is also a partially observable Markov decision process.

Solutions for Chapter 3 Solving Problems by Searching

3.1 In goal formulation, we decide which aspects of the world we are interested in, and which can be ignored or abstracted away. Then in problem formulation we decide how to manipulate the important aspects (and ignore the others). If we did problem formulation first we would not know what to include and what to leave out. That said, it can happen that there is a cycle of iterations between goal formulation, problem formulation, and problem solving until one arrives at a sufficiently useful and efficient solution. 3.2 a. We’ll define the coordinate system so that the center of the maze is at (0, 0), and the maze itself is a square from (−1, −1) to (1, 1). Initial state: robot at coordinate (0, 0), facing North. Goal test: either |x| > 1 or |y| > 1 where (x, y) is the current location. Successor function: move forwards any distance d; change direction robot it facing. Cost function: total distance moved. The state space is infinitely large, since the robot’s position is continuous. b. The state will record the intersection the robot is currently at, along with the direction it’s facing. At the end of each corridor leaving the maze we will have an exit node. We’ll assume some node corresponds to the center of the maze. Initial state: at the center of the maze facing North. Goal test: at an exit node. Successor function: move to the next intersection in front of us, if there is one; turn to face a new direction. Cost function: total distance moved. There are 4n states, where n is the number of intersections. c. Initial state: at the center of the maze. Goal test: at an exit node. Successor function: move to next intersection to the North, South, East, or West. Cost function: total distance moved. We no longer need to keep track of the robot’s orientation since it is irrelevant to 16

17 predicting the outcome of our actions, and not part of the goal test. The motor system that executes this plan will need to keep track of the robot’s current orientation, to know when to rotate the robot. d. State abstractions: (i) Ignoring the height of the robot off the ground, whether it is tilted off the vertical. (ii) The robot can face in only four directions. (iii) Other parts of the world ignored: possibility of other robots in the maze, the weather in the Caribbean. Action abstractions: (i) We assumed all positions we safely accessible: the robot couldn’t get stuck or damaged. (ii) The robot can move as far as it wants, without having to recharge its batteries. (iii) Simplified movement system: moving forwards a certain distance, rather than controlled each individual motor and watching the sensors to detect collisions. 3.3 a. State space: States are all possible city pairs (i, j). The map is not the state space. Successor function: The successors of (i, j) are all pairs (x, y) such that Adjacent(x, i) and Adjacent(y, j). Goal: Be at (i, i) for some i. Step cost function: The cost to go from (i, j) to (x, y) is max(d(i, x), d(j, y)). b. In the best case, the friends head straight for each other in steps of equal size, reducing their separation by twice the time cost on each step. Hence (iii) is admissible. c. Yes: e.g., a map with two nodes connected by one link. The two friends will swap places forever. The same will happen on any chain if they start an odd number of steps apart. (One can see this best on the graph that represents the state space, which has two disjoint sets of nodes.) The same even holds for a grid of any size or shape, because every move changes the Manhattan distance between the two friends by 0 or 2. d. Yes: take any of the unsolvable maps from part (c) and add a self-loop to any one of the nodes. If the friends start an odd number of steps apart, a move in which one of the friends takes the self-loop changes the distance by 1, rendering the problem solvable. If the self-loop is not taken, the argument from (c) applies and no solution is possible. 3.4 From http://www.cut-the-knot.com/pythagoras/fifteen.shtml, this proof applies to the fifteen puzzle, but the same argument works for the eight puzzle: Definition: The goal state has the numbers in a certain order, which we will measure as starting at the upper left corner, then proceeding left to right, and when we reach the end of a row, going down to the leftmost square in the row below. For any other configuration besides the goal, whenever a tile with a greater number on it precedes a tile with a smaller number, the two tiles are said to be inverted. Proposition: For a given puzzle configuration, let N denote the sum of the total number of inversions and the row number of the empty square. Then (N mod2) is invariant under any

18

Chapter

3.

Solving Problems by Searching

legal move. In other words, after a legal move an odd N remains odd whereas an even N remains even. Therefore the goal state in Figure 3.4, with no inversions and empty square in the first row, has N = 1, and can only be reached from starting states with odd N , not from starting states with even N . Proof: First of all, sliding a tile horizontally changes neither the total number of inversions nor the row number of the empty square. Therefore let us consider sliding a tile vertically. Let’s assume, for example, that the tile A is located directly over the empty square. Sliding it down changes the parity of the row number of the empty square. Now consider the total number of inversions. The move only affects relative positions of tiles A, B, C, and D. If none of the B, C, D caused an inversion relative to A (i.e., all three are larger than A) then after sliding one gets three (an odd number) of additional inversions. If one of the three is smaller than A, then before the move B, C, and D contributed a single inversion (relative to A) whereas after the move they’ll be contributing two inversions – a change of 1, also an odd number. Two additional cases obviously lead to the same result. Thus the change in the sum N is always even. This is precisely what we have set out to show. So before we solve a puzzle, we should compute the N value of the start and goal state and make sure they have the same parity, otherwise no solution is possible. 3.5 The formulation puts one queen per column, with a new queen placed only in a square that is not attacked by any other queen. To simplify matters, we’ll first consider the n–rooks problem. The first rook can be placed in any square in column 1 (n choices), the second in any square in column 2 except the same row that as the rook in column 1 (n − 1 choices), and so on. This gives n! elements of the search space. For n queens, notice that a queen attacks at most three squares in any given column, so in column 2 there are at least (n − 3) choices, in column at least (n − 6) choices, and so on. Thus the state space size S ≥ n · (n − 3) · (n − 6) · · ·. Hence we have S 3 ≥ n · n · n · (n − 3) · (n − 3) · (n − 3) · (n − 6) · (n − 6) · (n − 6) · · · ·

≥ n · (n − 1) · (n − 2) · (n − 3) · (n − 4) · (n − 5) · (n − 6) · (n − 7) · (n − 8) · · · ·

or S ≥

√ 3

= n! n!.

3.6 a. Initial state: No regions colored. Goal test: All regions colored, and no two adjacent regions have the same color. Successor function: Assign a color to a region. Cost function: Number of assignments. b. Initial state: As described in the text. Goal test: Monkey has bananas. Successor function: Hop on crate; Hop off crate; Push crate from one spot to another; Walk from one spot to another; grab bananas (if standing on crate). Cost function: Number of actions.

19 c. Initial state: considering all input records. Goal test: considering a single record, and it gives “illegal input” message. Successor function: run again on the first half of the records; run again on the second half of the records. Cost function: Number of runs. Note: This is a contingency problem; you need to see whether a run gives an error message or not to decide what to do next. d. Initial state: jugs have values [0, 0, 0]. Successor function: given values [x, y, z], generate [12, y, z], [x, 8, z], [x, y, 3] (by filling); [0, y, z], [x, 0, z], [x, y, 0] (by emptying); or for any two jugs with current values x and y, pour y into x; this changes the jug with x to the minimum of x + y and the capacity of the jug, and decrements the jug with y by by the amount gained by the first jug. Cost function: Number of actions. 3.7 a. If we consider all (x, y) points, then there are an infinite number of states, and of paths. b. (For this problem, we consider the start and goal points to be vertices.) The shortest distance between two points is a straight line, and if it is not possible to travel in a straight line because some obstacle is in the way, then the next shortest distance is a sequence of line segments, end-to-end, that deviate from the straight line by as little as possible. So the first segment of this sequence must go from the start point to a tangent point on an obstacle – any path that gave the obstacle a wider girth would be longer. Because the obstacles are polygonal, the tangent points must be at vertices of the obstacles, and hence the entire path must go from vertex to vertex. So now the state space is the set of vertices, of which there are 35 in Figure 3.31. c. Code not shown. d. Implementations and analysis not shown. 3.8 a. Any path, no matter how bad it appears, might lead to an arbitrarily large reward (negative cost). Therefore, one would need to exhaust all possible paths to be sure of finding the best one. b. Suppose the greatest possible reward is c. Then if we also know the maximum depth of the state space (e.g. when the state space is a tree), then any path with d levels remaining can be improved by at most cd, so any paths worse than cd less than the best path can be pruned. For state spaces with loops, this guarantee doesn’t help, because it is possible to go around a loop any number of times, picking up c reward each time. c. The agent should plan to go around this loop forever (unless it can find another loop with even better reward). d. The value of a scenic loop is lessened each time one revisits it; a novel scenic sight is a great reward, but seeing the same one for the tenth time in an hour is tedious, not

20

Chapter

3.

Solving Problems by Searching

rewarding. To accommodate this, we would have to expand the state space to include a memory—a state is now represented not just by the current location, but by a current location and a bag of already-visited locations. The reward for visiting a new location is now a (diminishing) function of the number of times it has been seen before. e. Real domains with looping behavior include eating junk food and going to class. 3.9 a. Here is one possible representation: A state is a six-tuple of integers listing the number of missionaries, cannibals, and boats on the first side, and then the second side of the river. The goal is a state with 3 missionaries and 3 cannibals on the second side. The cost function is one per action, and the successors of a state are all the states that move 1 or 2 people and 1 boat from one side to another. b. The search space is small, so any optimal algorithm works. For an example, see the file “search/domains/cannibals.lisp”. It suffices to eliminate moves that circle back to the state just visited. From all but the first and last states, there is only one other choice. c. It is not obvious that almost all moves are either illegal or revert to the previous state. There is a feeling of a large branching factor, and no clear way to proceed. 3.10 A state is a situation that an agent can find itself in. We distinguish two types of states: world states (the actual concrete situations in the real world) and representational states (the abstract descriptions of the real world that are used by the agent in deliberating about what to do). A state space is a graph whose nodes are the set of all states, and whose links are actions that transform one state into another. A search tree is a tree (a graph with no undirected loops) in which the root node is the start state and the set of children for each node consists of the states reachable by taking any action. A search node is a node in the search tree. A goal is a state that the agent is trying to reach. An action is something that the agent can choose to do. A successor function described the agent’s options: given a state, it returns a set of (action, state) pairs, where each state is the state reachable by taking the action. The branching factor in a search tree is the number of actions available to the agent. 3.11 A world state is how reality is or could be. In one world state we’re in Arad, in another we’re in Bucharest. The world state also includes which street we’re on, what’s currently on the radio, and the price of tea in China. A state description is an agent’s internal description of a world state. Examples are In(Arad) and In(Bucharest). These descriptions are necessarily approximate, recording only some aspect of the state. We need to distinguish between world states and state descriptions because state description are lossy abstractions of the world state, because the agent could be mistaken about

21 how the world is, because the agent might want to imagine things that aren’t true but it could make true, and because the agent cares about the world not its internal representation of it. Search nodes are generated during search, representing a state the search process knows how to reach. They contain additional information aside from the state description, such as the sequence of actions used to reach this state. This distinction is useful because we may generate different search nodes which have the same state, and because search nodes contain more information than a state representation. 3.12 The state space is a tree of depth one, with all states successors of the initial state. There is no distinction between depth-first search and breadth-first search on such a tree. If the sequence length is unbounded the root node will have infinitely many successors, so only algorithms which test for goal nodes as we generate successors can work. What happens next depends on how the composite actions are sorted. If there is no particular ordering, then a random but systematic search of potential solutions occurs. If they are sorted by dictionary order, then this implements depth-first search. If they are sorted by length first, then dictionary ordering, this implements breadth-first search. A significant disadvantage of collapsing the search space like this is if we discover that a plan starting with the action “unplug your battery” can’t be a solution, there is no easy way to ignore all other composite actions that start with this action. This is a problem in particular for informed search algorithms. Discarding sequence structure is not a particularly practical approach to search. 3.13 The graph separation property states that “every path from the initial state to an unexplored state has to pass through a state in the frontier.” At the start of the search, the frontier holds the initial state; hence, trivially, every path from the initial state to an unexplored state includes a node in the frontier (the initial state itself). Now, we assume that the property holds at the beginning of an arbitrary iteration of the G RAPH -S EARCH algorithm in Figure 3.7. We assume that the iteration completes, i.e., the frontier is not empty and the selected leaf node n is not a goal state. At the end of the iteration, n has been removed from the frontier and its successors (if not already explored or in the frontier) placed in the frontier. Consider any path from the initial state to an unexplored state; by the induction hypothesis such a path (at the beginning of the iteration) includes at least one frontier node; except when n is the only such node, the separation property automatically holds. Hence, we focus on paths passing through n (and no other frontier node). By definition, the next node n′ along the path from n must be a successor of n that (by the preceding sentence) is already not in the frontier. Furthermore, n′ cannot be in the explored set, since by assumption there is a path from n′ to an unexplored node not passing through the frontier, which would violate the separation property as every explored node is connected to the initial state by explored nodes (see lemma below for proof this is always possible). Hence, n′ is not in the explored set, hence it will be added to the frontier; then the path will include a frontier node and the separation property is restored. The property is violated by algorithms that move nodes from the frontier into the ex-

22

Chapter

3.

Solving Problems by Searching

plored set before all of their successors have been generated, as well as by those that fail to add some of the successors to the frontier. Note that it is not necessary to generate all successors of a node at once before expanding another node, as long as partially expanded nodes remain in the frontier. Lemma: Every explored node is connected to the initial state by a path of explored nodes. Proof: This is true initially, since the initial state is connected to itself. Since we never remove nodes from the explored region, we only need to check new nodes we add to the explored list on an expansion. Let n be such a new explored node. This is previously on the frontier, so it is a neighbor of a node n′ previously explored (i.e., its parent). n′ is, by hypothesis is connected to the initial state by a path of explored nodes. This path with n appended is a path of explored nodes connecting n′ to the initial state. 3.14 a. False: a lucky DFS might expand exactly d nodes to reach the goal. A∗ largely dominates any graph-search algorithm that is guaranteed to find optimal solutions. b. True: h(n) = 0 is always an admissible heuristic, since costs are nonnegative. c. True: A* search is often used in robotics; the space can be discretized or skeletonized. d. True: depth of the solution matters for breadth-first search, not cost. e. False: a rook can move across the board in move one, although the Manhattan distance from start to finish is 8. 3.15 1

2

3

4

8

Figure S3.1

5

9

10

6

11

12

7

13

14

15

The state space for the problem defined in Ex. 3.15.

a. See Figure S3.1. b. Breadth-first: 1 2 3 4 5 6 7 8 9 10 11 Depth-limited: 1 2 4 8 9 5 10 11 Iterative deepening: 1; 1 2 3; 1 2 4 5 3 6 7; 1 2 4 8 9 5 10 11 c. Bidirectional search is very useful, because the only successor of n in the reverse direction is ⌊(n/2)⌋. This helps focus the search. The branching factor is 2 in the forward direction; 1 in the reverse direction.

23 d. Yes; start at the goal, and apply the single reverse successor action until you reach 1. e. The solution can be read off the binary numeral for the goal number. Write the goal number in binary. Since we can only reach positive integers, this binary expansion beings with a 1. From most- to least- significant bit, skipping the initial 1, go Left to the node 2n if this bit is 0 and go Right to node 2n + 1 if it is 1. For example, suppose the goal is 11, which is 1011 in binary. The solution is therefore Left, Right, Right. 3.16 a. Initial state: one arbitrarily selected piece (say a straight piece). Successor function: for any open peg, add any piece type from remaining types. (You can add to open holes as well, but that isn’t necessary as all complete tracks can be made by adding to pegs.) For a curved piece, add in either orientation; for a fork, add in either orientation and (if there are two holes) connecting at either hole. It’s a good idea to disallow any overlapping configuration, as this terminates hopeless configurations early. (Note: there is no need to consider open holes, because in any solution these will be filled by pieces added to open pegs.) Goal test: all pieces used in a single connected track, no open pegs or holes, no overlapping tracks. Step cost: one per piece (actually, doesn’t really matter). b. All solutions are at the same depth, so depth-first search would be appropriate. (One could also use depth-limited search with limit n − 1, but strictly speaking it’s not necessary to do the work of checking the limit because states at depth n − 1 have no successors.) The space is very large, so uniform-cost and breadth-first would fail, and iterative deepening simply does unnecessary extra work. There are many repeated states, so it might be good to use a closed list. c. A solution has no open pegs or holes, so every peg is in a hole, so there must be equal numbers of pegs and holes. Removing a fork violates this property. There are two other “proofs” that are acceptable: 1) a similar argument to the effect that there must be an even number of “ends”; 2) each fork creates two tracks, and only a fork can rejoin those tracks into one, so if a fork is missing it won’t work. The argument using pegs and holes is actually more general, because it also applies to the case of a three-way fork that has one hole and three pegs or one peg and three holes. The “ends” argument fails here, as does the fork/rejoin argument (which is a bit handwavy anyway). d. The maximum possible number of open pegs is 3 (starts at 1, adding a two-peg fork increases it by one). Pretending each piece is unique, any piece can be added to a peg, giving at most 12 + (2 · 16) + (2 · 2) + (2 · 2 · 2) = 56 choices per peg. The total depth is 32 (there are 32 pieces), so an upper bound is 16832 /(12! · 16! · 2! · 2!) where the factorials deal with permutations of identical pieces. One could do a more refined analysis to handle the fact that the branching factor shrinks as we go down the tree, but it is not pretty. 3.17 a. The algorithm expands nodes in order of increasing path cost; therefore the first goal it encounters will be the goal with the cheapest cost.

24

Chapter

3.

Solving Problems by Searching

b. It will be the same as iterative deepening, d iterations, in which O(bd ) nodes are generated. c. d/ǫ d. Implementation not shown. 3.18 Consider a domain in which every state has a single successor, and there is a single goal at depth n. Then depth-first search will find the goal in n steps, whereas iterative deepening search will take 1 + 2 + 3 + · · · + n = O(n2 ) steps. 3.19 As an ordinary person (or agent) browsing the web, we can only generate the successors of a page by visiting it. We can then do breadth-first search, or perhaps best-search search where the heuristic is some function of the number of words in common between the start and goal pages; this may help keep the links on target. Search engines keep the complete graph of the web, and may provide the user access to all (or at least some) of the pages that link to a page; this would allow us to do bidirectional search. 3.20 Code not shown, but a good start is in the code repository. Clearly, graph search must be used—this is a classic grid world with many alternate paths to each state. Students will quickly find that computing the optimal solution sequence is prohibitively expensive for moderately large worlds, because the state space for an n × n world has n2 · 2n states. The completion time of the random agent grows less than exponentially in n, so for any reasonable exchange rate between search cost ad path cost the random agent will eventually win. 3.21 a. When all step costs are equal, g(n) ∝ depth(n), so uniform-cost search reproduces breadth-first search. b. Breadth-first search is best-first search with f (n) = depth(n); depth-first search is best-first search with f (n) = −depth(n); uniform-cost search is best-first search with f (n) = g(n). c. Uniform-cost search is A∗ search with h(n) = 0. 3.22 The student should find that on the 8-puzzle, RBFS expands more nodes (because it does not detect repeated states) but has lower cost per node because it does not need to maintain a queue. The number of RBFS node re-expansions is not too high because the presence of many tied values means that the best path changes seldom. When the heuristic is slightly perturbed, this advantage disappears and RBFS’s performance is much worse. For TSP, the state space is a tree, so repeated states are not an issue. On the other hand, the heuristic is real-valued and there are essentially no tied values, so RBFS incurs a heavy penalty for frequent re-expansions. 3.23

The sequence of queues is as follows:

L[0+244=244] M[70+241=311], T[111+329=440] L[140+244=384], D[145+242=387], T[111+329=440] D[145+242=387], T[111+329=440], M[210+241=451], T[251+329=580]

25 C[265+160=425], T[111+329=440], M[210+241=451], M[220+241=461], T[251+329=580] T[111+329=440], M[210+241=451], M[220+241=461], P[403+100=503], T[251+329=580], R[411+193=604], D[385+242=627] M[210+241=451], M[220+241=461], L[222+244=466], P[403+100=503], T[251+329=580], A[229+366=595], R[411+193=604], D[385+242=627] M[220+241=461], L[222+244=466], P[403+100=503], L[280+244=524], D[285+242=527], T[251+329=580], A[229+366=595], R[411+193=604], D[385+242=627] L[222+244=466], P[403+100=503], L[280+244=524], D[285+242=527], L[290+244=534], D[295+242=537], T[251+329=580], A[229+366=595], R[411+193=604], D[385+242=627] P[403+100=503], L[280+244=524], D[285+242=527], M[292+241=533], L[290+244=534], D[295+242=537], T[251+329=580], A[229+366=595], R[411+193=604], D[385+242=627], T[333+329=662] B[504+0=504], L[280+244=524], D[285+242=527], M[292+241=533], L[290+244=534], D[295+242=537], T[251+329=580], A[229+366=595], R[411+193=604], D[385+242=627], T[333+329=662], R[500+193=693], C[541+160=701]

B h=5 1

2 S

A

h=7

h=0

h=1

4

G

4 Figure S3.2 A graph with an inconsistent heuristic on which G RAPH -S EARCH fails to return the optimal solution. The successors of S are A with f = 5 and B with f = 7. A is expanded first, so the path via B will be discarded because A will already be in the closed list.

3.24

See Figure S3.2.

3.25 It is complete whenever 0 ≤ w < 2. w = 0 gives f (n) = 2g(n). This behaves exactly like uniform-cost search—the factor of two makes no difference in the ordering of the nodes. w = 1 gives A∗ search. w = 2 gives f (n) = 2h(n), i.e., greedy best-first search. We also have w f (n) = (2 − w)[g(n) + h(n)] 2−w w h(n). For w ≤ 1, this is always which behaves exactly like A∗ search with a heuristic 2−w less than h(n) and hence admissible, provided h(n) is itself admissible. 3.26 a. The branching factor is 4 (number of neighbors of each location). b. The states at depth k form a square rotated at 45 degrees to the grid. Obviously there are a linear number of states along the boundary of the square, so the answer is 4k. 26 Chapter 3. Solving Problems by Searching c. Without repeated state checking, BFS expends exponentially many nodes: counting precisely, we get ((4x+y+1 − 1)/3) − 1. d. There are quadratically many states within the square for depth x + y, so the answer is 2(x + y)(x + y + 1) − 1. e. True; this is the Manhattan distance metric. f. False; all nodes in the rectangle defined by (0, 0) and (x, y) are candidates for the optimal path, and there are quadratically many of them, all of which may be expended in the worst case. g. True; removing links may induce detours, which require more steps, so h is an underestimate. h. False; nonlocal links can reduce the actual path length below the Manhattan distance. 3.27 a. n2n . There are n vehicles in n2 locations, so roughly (ignoring the one-per-square constraint) (n2 )n = n2n states. b. 5n . c. Manhattan distance, i.e., |(n − i + 1) − xi | + |n − yi |. This is exact for a lone vehicle. d. Only (iii) min{h1 , . . . , hn }. The explanation is nontrivial as it requires two observations. First, let the work W in a given solution be the total distance moved by all vehicles over their joint trajectories; that is, for each vehicle, add the lengths of all the P steps taken. We have W ≥ i hi ≥≥ n · min{h1 , ..., hn }. Second, the total work we can get done per step is ≤ n. (Note that for every car that jumps 2, another car has to stay put (move 0), so the total work per step is bounded by n.) Hence, completing all the work requires at least n · min{h1 , ..., hn }/n = min{h1 , ..., hn } steps. 3.28 The heuristic h = h1 + h2 (adding misplaced tiles and Manhattan distance) sometimes overestimates. Now, suppose h(n) ≤ h∗ (n) + c (as given) and let G2 be a goal that is suboptimal by more than c, i.e., g(G2 ) > C ∗ + c. Now consider any node n on a path to an optimal goal. We have f (n) = g(n) + h(n) ≤ g(n) + h∗ (n) + c ≤ C∗ + c

≤ g(G2 )

so G2 will never be expanded before an optimal goal is expanded. 3.29 A heuristic is consistent iff, for every node n and every successor n′ of n generated by any action a, h(n) ≤ c(n, a, n′ ) + h(n′ )

One simple proof is by induction on the number k of nodes on the shortest path to any goal from n. For k = 1, let n′ be the goal node; then h(n) ≤ c(n, a, n′ ). For the inductive

27 case, assume n′ is on the shortest path k steps from the goal and that h(n′ ) is admissible by hypothesis; then h(n) ≤ c(n, a, n′ ) + h(n′ ) ≤ c(n, a, n′ ) + h∗ (n′ ) = h∗ (n)

so h(n) at k + 1 steps from the goal is also admissible. 3.30

This exercise reiterates a small portion of the classic work of Held and Karp (1970).

a. The TSP problem is to find a minimal (total length) path through the cities that forms a closed loop. MST is a relaxed version of that because it asks for a minimal (total length) graph that need not be a closed loop—it can be any fully-connected graph. As a heuristic, MST is admissible—it is always shorter than or equal to a closed loop. b. The straight-line distance back to the start city is a rather weak heuristic—it vastly underestimates when there are many cities. In the later stage of a search when there are only a few cities left it is not so bad. To say that MST dominates straight-line distance is to say that MST always gives a higher value. This is obviously true because a MST that includes the goal node and the current node must either be the straight line between them, or it must include two or more lines that add up to more. (This all assumes the triangle inequality.) c. See “search/domains/tsp.lisp” for a start at this. The file includes a heuristic based on connecting each unvisited city to its nearest neighbor, a close relative to the MST approach. d. See (Cormen et al., 1990, p.505) for an algorithm that runs in O(E log E) time, where E is the number of edges. The code repository currently contains a somewhat less efficient algorithm. 3.31 The misplaced-tiles heuristic is exact for the problem where a tile can move from square A to square B. As this is a relaxation of the condition that a tile can move from square A to square B if B is blank, Gaschnig’s heuristic cannot be less than the misplacedtiles heuristic. As it is also admissible (being exact for a relaxation of the original problem), Gaschnig’s heuristic is therefore more accurate. If we permute two adjacent tiles in the goal state, we have a state where misplaced-tiles and Manhattan both return 2, but Gaschnig’s heuristic returns 3. To compute Gaschnig’s heuristic, repeat the following until the goal state is reached: let B be the current location of the blank; if B is occupied by tile X (not the blank) in the goal state, move X to B; otherwise, move any misplaced tile to B. Students could be asked to prove that this is the optimal solution to the relaxed problem. 3.32 Students should provide results in the form of graphs and/or tables showing both runtime and number of nodes generated. (Different heuristics have different computation costs.) Runtimes may be very small for 8-puzzles, so you may want to assign the 15-puzzle or 24puzzle instead. The use of pattern databases is also worth exploring experimentally.

Solutions for Chapter 4 Beyond Classical Search

4.1 a. Local beam search with k = 1 is hill-climbing search. b. Local beam search with one initial state and no limit on the number of states retained, resembles breadth-first search in that it adds one complete layer of nodes before adding the next layer. Starting from one state, the algorithm would be essentially identical to breadth-first search except that each layer is generated all at once. c. Simulated annealing with T = 0 at all times: ignoring the fact that the termination step would be triggered immediately, the search would be identical to first-choice hill climbing because every downward successor would be rejected with probability 1. (Exercise may be modified in future printings.) d. Simulated annealing with T = ∞ at all times is a random-walk search: it always accepts a new state. e. Genetic algorithm with population size N = 1: if the population size is 1, then the two selected parents will be the same individual; crossover yields an exact copy of the individual; then there is a small chance of mutation. Thus, the algorithm executes a random walk in the space of individuals. 4.2 Despite its humble origins, this question raises many of the same issues as the scientifically important problem of protein design. There is a discrete assembly space in which pieces are chosen to be added to the track and a continuous configuration space determined by the “joint angles” at every place where two pieces are linked. Thus we can define a state as a set of oriented, linked pieces and the associated joint angles in the range [−10, 10], plus a set of unlinked pieces. The linkage and joint angles exactly determine the physical layout of the track; we can allow for (and penalize) layouts in which tracks lie on top of one another, or we can disallow them. The evaluation function would include terms for how many pieces are used, how many loose ends there are, and (if allowed) the degree of overlap. We might include a penalty for the amount of deviation from 0-degree joint angles. (We could also include terms for “interestingness” and “traversability”—for example, it is nice to be able to drive a train starting from any track segment to any other, ending up in either direction without having to lift up the train.) The tricky part is the set of allowed moves. Obviously we can unlink any piece or link an unlinked piece to an open peg with either orientation at any allowed angle (possibly excluding moves that create overlap). More problematic are moves to join a peg 28

29 and hole on already-linked pieces and moves to change the angle of a joint. Changing one angle may force changes in others, and the changes will vary depending on whether the other pieces are at their joint-angle limit. In general there will be no unique “minimal” solution for a given angle change in terms of the consequent changes to other angles, and some changes may be impossible. 4.3

Here is one simple hill-climbing algorithm: • Connect all the cities into an arbitrary path. • Pick two points along the path at random. • Split the path at those points, producing three pieces. • Try all six possible ways to connect the three pieces. • Keep the best one, and reconnect the path accordingly. • Iterate the steps above until no improvement is observed for a while.

4.4

Code not shown.

4.5 See Figure S4.1 for the adapted algorithm. For states that O R -S EARCH finds a solution for it records the solution found. If it later visits that state again it immediately returns that solution. When O R -S EARCH fails to find a solution it has to be careful. Whether a state can be solved depends on the path taken to that solution, as we do not allow cycles. So on failure O R -S EARCH records the value of path. If a state is which has previously failed when path contained any subset of its present value, O R -S EARCH returns failure. To avoid repeating sub-solutions we can label all new solutions found, record these labels, then return the label if these states are visited again. Post-processing can prune off unused labels. Alternatively, we can output a direct acyclic graph structure rather than a tree. See (Bertoli et al., 2001) for further details. 4.6 The question statement describes the required changes in detail, see Figure S4.2 for the modified algorithm. When O R -S EARCH cycles back to a state on path it returns a token loop which means to loop back to the most recent time this state was reached along the path to it. Since path is implicitly stored in the returned plan, there is sufficient information for later processing, or a modified implementation, to replace these with labels. The plan representation is implicitly augmented to keep track of whether the plan is cyclic (i.e., contains a loop) so that O R -S EARCH can prefer acyclic solutions. A ND -S EARCH returns failure if all branches lead directly to a loop, as in this case the plan will always loop forever. This is the only case it needs to check as if all branches in a finite plan loop there must be some And-node whose children all immediately loop. 4.7 A sequence of actions is a solution to a belief state problem if it takes every initial physical state to a goal state. We can relax this problem by requiring it take only some initial physical state to a goal state. To make this well defined, we’ll require that it finds a solution

30

Chapter 4.

Beyond Classical Search

function A ND -O R -G RAPH -S EARCH (problem) returns a conditional plan, or failure O R -S EARCH (problem.I NITIAL -S TATE, problem, [ ]) function O R -S EARCH (state, problem, path) returns a conditional plan, or failure if problem.G OAL -T EST(state) then return the empty plan if state has previously been solved then return R ECALL -S UCCESS(state) if state has previously failed for a subset of path then return failure if state is on path then R ECORD -FAILURE(state, path) return failure for each action in problem.ACTIONS (state) do plan ← A ND -S EARCH (R ESULTS(state, action), problem, [state | path]) if plan 6= failure then R ECORD -S UCCESS (state, [action | plan]) return [action | plan] return failure function A ND -S EARCH (states, problem, path) returns a conditional plan, or failure for each si in states do plan i ← O R -S EARCH (si , problem, path) if plan i = failure then return failure return [if s1 then plan 1 else if s2 then plan 2 else . . . if sn−1 then plan n−1 else plan n ] Figure S4.1

A ND -O R search with repeated state checking.

for the physical state with the most costly solution. If h∗ (s) is the optimal cost of solution starting from the physical state s, then h(S) = max h∗ (s) s∈S

is the heuristic estimate given by this relaxed problem. This heuristic assumes any solution to the most difficult state the agent things possible will solve all states. On the sensorless vacuum cleaner problem in Figure 4.14, h correctly determines the optimal cost for all states except the central three states (those reached by [suck], [suck, lef t] and [suck, right]) and the root, for which h estimates to be 1 unit cheaper than they really are. This means A∗ will expand these three central nodes, before marching towards the solution. 4.8 a. An action sequence is a solution for belief state b if performing it starting in any state s ∈ b reaches a goal state. Since any state in a subset of b is in b, the result is immediate. Any action sequence which is not a solution for belief state b is also not a solution for any superset; this is the contrapositive of what we’ve just proved. One cannot, in general, say anything about arbitrary supersets, as the action sequence need not lead to a goal on the states outside of b. One can say, for example, that if an action sequence

31

function A ND -O R -G RAPH -S EARCH (problem) returns a conditional plan, or failure O R -S EARCH (problem.I NITIAL -S TATE, problem, [ ]) function O R -S EARCH (state, problem, path) returns a conditional plan, or failure if problem.G OAL -T EST(state) then return the empty plan if state is on path then return loop cyclic − plan ← None for each action in problem.ACTIONS (state) do plan ← A ND -S EARCH (R ESULTS(state, action), problem, [state | path]) if plan 6= failure then if plan is acyclic then return [action | plan] cyclic − plan ← [action | plan] if cyclic − plan 6= None then return cyclic − plan return failure function A ND -S EARCH (states, problem, path) returns a conditional plan, or failure loopy ← True for each si in states do plan i ← O R -S EARCH (si , problem, path) if plan i = failure then return failure if plan i 6= loop then loopy ← False if not loopy then return [if s1 then plan 1 else if s2 then plan 2 else . . . if sn−1 then plan n−1 else plan n ] return failure Figure S4.2

A ND -O R search with repeated state checking.

solves a belief state b and a belief state b′ then it solves the union belief state b ∪ b′ . b. On expansion of a node, do not add to the frontier any child belief state which is a superset of a previously explored belief state. c. If you keep a record of previously solved belief states, add a check to the start of ORsearch to check whether the belief state passed in is a subset of a previously solved belief state, returning the previous solution in case it is. 4.9 Consider a very simple example: an initial belief state {S1 , S2 }, actions a and b both leading to goal state G from either initial state, and c(S1 , a, G) = 3 ; c(S1 , b, G) = 2 ;

c(S2 , a, G) = 5 ; c(S2 , b, G) = 6 .

In this case, the solution [a] costs 3 or 5, the solution [b] costs 2 or 6. Neither is “optimal” in any obvious sense. In some cases, there will be an optimal solution. Let us consider just the deterministic case. For this case, we can think of the cost of a plan as a mapping from each initial physical state to the actual cost of executing the plan. In the example above, the cost for [a] is

32

PRINCIPLE OF OPTIMALITY

Chapter 4.

Beyond Classical Search

{S1 :3, S2 :5} and the cost for [b] is {S1 :2, S2 :6}. We can say that plan p1 weakly dominates p2 if, for each initial state, the cost for p1 is no higher than the cost for p2 . (Moreover, p1 dominates p2 if it weakly dominates it and has a lower cost for some state.) If a plan p weakly dominates all others, it is optimal. Notice that this definition reduces to ordinary optimality in the observable case where every belief state is a singleton. As the preceding example shows, however, a problem may have no optimal solution in this sense. A perhaps acceptable version of A∗ would be one that returns any solution that is not dominated by another. To understand whether it is possible to apply A∗ at all, it helps to understand its dependence on Bellman’s (1957) principle of optimality: An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision. It is important to understand that this is a restriction on performance measures designed to facilitate efficient algorithms, not a general definition of what it means to be optimal. In particular, if we define the cost of a plan in belief-state space as the minimum cost of any physical realization, we violate Bellman’s principle. Modifying and extending the previous example, suppose that a and b reach S3 from S1 and S4 from S2 , and then reach G from there: c(S1 , a, S3 ) = 6 ; c(S2 , a, S4 ) = 2 ; c(S1 , b, S3 ) = 6 ; c(S2 , b, S4 ) = 1 .c(S3 , a, G) = 2 ; c(S4 , a, G) = 2 ; c(S3 , b, G) = 1 ; c(S4 , b, G) = 9 . In the belief state {S3 , S4 }, the minimum cost of [a] is min{2, 2} = 2 and the minimum cost of [b] is min{1, 9} = 1, so the optimal plan is [b]. In the initial belief state {S1 , S2 }, the four possible plans have the following costs: [a, a] : min{8, 4} = 4 ; [a, b] : min{7, 11} = 7 ; [b, a] : min{8, 3} = 3 ; [b, b] : min{7, 10} = 7 . Hence, the optimal plan in {S1 , S2 } is [b, a], which does not choose b in {S3 , S4 } even though that is the optimal plan at that point. This counterintuitive behavior is a direct consequence of choosing the minimum of the possible path costs as the performance measure. This example gives just a small taste of what might happen with nonadditive performance measures. Details of how to modify and analyze A∗ for general path-dependent cost functions are give by Dechter and Pearl (1985). Many aspects of A∗ carry over; for example, we can still derive lower bounds on the cost of a path through a given node. For a belief state b, the minimum value of g(s) + h(s) for each state s in b is a lower bound on the minimum cost of a plan that goes through b. 4.10 The belief state space is shown in Figure S4.3. No solution is possible because no path leads to a belief state all of whose elements satisfy the goal. If the problem is fully observable, the agent reaches a goal state by executing a sequence such that Suck is performed only in a dirty square. This ensures deterministic behavior and every state is obviously solvable. 4.11 The student needs to make several design choices in answering this question. First, how will the vertices of objects be represented? The problem states the percept is a list of vertex positions, but that is not precise enough. Here is one good choice: The agent has an

33 L R

L

S

Figure S4.3

R

S

S

The belief state space for the sensorless vacuum world under Murphy’s law.

orientation (a heading in degrees). The visible vertexes are listed in clockwise order, starting straight ahead of the agent. Each vertex has a relative angle (0 to 360 degrees) and a distance. We also want to know if a vertex represents the left edge of an obstacle, the right edge, or an interior point. We can use the symbols L, R, or I to indicate this. The student will need to do some basic computational geometry calculations: intersection of a path and a set of line segments to see if the agent will bump into an obstacle, and visibility calculations to determine the percept. There are efficient algorithms for doing this on a set of line segments, but don’t worry about efficiency; an exhaustive algorithm is ok. If this seems too much, the instructor can provide an environment simulator and ask the student only to program the agent. To answer (c), the student will need some exchange rate for trading off search time with movement time. It is probably too complex to make the simulation asynchronous real-time; easier to impose a penalty in points for computation. For (d), the agent will need to maintain a set of possible positions. Each time the agent moves, it may be able to eliminate some of the possibilities. The agent may consider moves that serve to reduce uncertainty rather than just get to the goal. 4.12 This question is slightly ambiguous as to what the percept is—either the percept is just the location, or it gives exactly the set of unblocked directions (i.e., blocked directions are illegal actions). We will assume the latter. (Exercise may be modified in future printings.) There are 12 possible locations for internal walls, so there are 212 = 4096 possible environment configurations. A belief state designates a subset of these as possible configurations; for example, before seeing any percepts all 4096 configurations are possible—this is a single belief state. a. Online search is equivalent to offline search in belief-state space where each action in a belief-state can have multiple successor belief-states: one for each percept the agent could observe after the action. A successor belief-state is constructed by taking the previous belief-state, itself a set of states, replacing each state in this belief-state by the successor state under the action, and removing all successor states which are inconsistent with the percept. This is exactly the construction in Section 4.4.2. A ND -O R search can be used to solve this search problem. The initial belief state has 21 0 = 1024 states in it, as we know whether two edges have walls or not (the upper and right edges 12 have no walls) but nothing more. There are 22 possible belief states, one for each set of environment configurations.

34

Chapter 4.

? ?

? ?

? ?

Beyond Classical Search

? ?

? ?

? ?

NoOp

? ?

? ?

?

? ?

?

? ?

? ?

? ?

?

? ?

?

? ?

? ?

? ?

?

? ?

?

? ?

? ?

? ?

? ?

?

?

? ?

Right

? ?

? ?

?

? ?

?

? ?

?

? ?

? ?

?

? ?

?

? ?

? ?

?

? ?

?

? ?

? ? ?

Figure S4.4 The 3 × 3 maze exploration problem: the initial state, first percept, and one selected action with its perceptual outcomes.

We can view this as a contingency problem in belief state space. After each action and percept, the agent learns whether or not an internal wall exists between the current square and each neighboring square. Hence, each reachable belief state can be represented exactly by a list of status values (present, absent, unknown) for each wall separately. That is, the belief state is completely decomposable and there are exactly 312 reachable belief states. The maximum number of possible wall-percepts in each state is 16 (24 ), so each belief state has four actions, each with up to 16 nondeterministic successors. b. Assuming the external walls are known, there are two internal walls and hence 22 = 4 possible percepts. c. The initial null action leads to four possible belief states, as shown in Figure S4.4. From each belief state, the agent chooses a single action which can lead to up to 8 belief states (on entering the middle square). Given the possibility of having to retrace its steps at a dead end, the agent can explore the entire maze in no more than 18 steps, so the complete plan (expressed as a tree) has no more than 818 nodes. On the other hand, there are just 312 reachable belief states, so the plan could be expressed more concisely as a table of actions indexed by belief state (a policy in the terminology of Chapter 17). 4.13 Hillclimbing is surprisingly effective at finding reasonable if not optimal paths for very little computational cost, and seldom fails in two dimensions.

35

Current position

Current position

Goal

(a)

Figure S4.5 obstacle.

Goal

(b)

(a) Getting stuck with a convex obstacle. (b) Getting stuck with a nonconvex

a. It is possible (see Figure S4.5(a)) but very unlikely—the obstacle has to have an unusual shape and be positioned correctly with respect to the goal. b. With nonconvex obstacles, getting stuck is much more likely to be a problem (see Figure S4.5(b)). c. Notice that this is just depth-limited search, where you choose a step along the best path even if it is not a solution. d. Set k to the maximum number of sides of any polygon and you can always escape. e. LRTA* always makes a move, but may move back if the old state looks better than the new state. But then the old state is penalized for the cost of the trip, so eventually the local minimum fills up and the agent escapes. 4.14 Since we can observe successor states, we always know how to backtrack from to a previous state. This means we can adapt iterative deepening search to solve this problem. The only difference is backtracking must be explicit, following the action which the agent can see leads to the previous state. The algorithm expands the following nodes: Depth 1: (0, 0), (1, 0), (0, 0), (−1, 0), (0, 0) Depth 2: (0, 1), (0, 0), (0, −1), (0, 0), (1, 0), (2, 0), (1, 0), (0, 0), (1, 0), (1, 1), (1, 0), (1, −1)

Solutions for Chapter 5 Adversarial Search

5.1 The translation uses the model of the opponent OM (s) to fill in the opponent’s actions, leaving our actions to be determined by the search algorithm. Let P (s) be the state predicted to occur after the opponent has made all their moves according to OM . Note that the opponent may take multiple moves in a row before we get a move, so we need to define this recursively. We have P (s) = s if P LAYER s is us or T ERMINAL-T EST s is true, otherwise P (s) = P (R ESULT (s, OM (s)). The search problem is then given by: a. Initial state: P (S0 ) where S0 is the initial game state. We apply P as the opponent may play first b. Actions: defined as in the game by ACTIONS s. c. Successor function: R ESULT ′ (s, a) = P (R ESULT (s, a)) d. Goal test: goals are terminal states e. Step cost: the cost of an action is zero unless the resulting state s′ is terminal, in which case its cost is M − U TILITY (s′ ) where M = maxs U TILITY (s). Notice that all costs are non-negative. Notice that the state space of the search problem consists of game state where we are to play and terminal states. States where the opponent is to play have been compiled out. One might alternatively leave those states in but just have a single possible action. Any of the search algorithms of Chapter 3 can be applied. For example, depth-first search can be used to solve this problem, if all games eventually end. This is equivalent to using the minimax algorithm on the original game if OM (s) always returns the minimax move in s. 5.2 a. Initial state: two arbitrary 8-puzzle states. Successor function: one move on an unsolved puzzle. (You could also have actions that change both puzzles at the same time; this is OK but technically you have to say what happens when one is solved but not the other.) Goal test: both puzzles in goal state. Path cost: 1 per move. b. Each puzzle has 9!/2 reachable states (remember that half the states are unreachable). The joint state space has (9!)2 /4 states. c. This is like backgammon; expectiminimax works. 36

37 bd

cd

ce

−4

cf

−4

de

−4

be df (tell kb “Mythical => Immortal”) T > (tell kb “˜Mythical => ˜Immortal ˆ Mammal”) T > (tell kb “Immortal | Mammal => Horned”) T > (tell kb “Horned => Magical”) T > (ask kb “Mythical”) NIL > (ask kb “˜Mythical”) NIL > (ask kb “Magical”) T > (ask kb “Horned”) T

7.3 a. See Figure S7.2. We assume the language has built-in Boolean operators not, and, or, iff. 51

52

Chapter Model

KB

Logical Agents α3

true true

P1,3 P2,2 P3,1 P1,3 , P2,2 P2,2 , P3,1 P3,1 , P1,3 P1,3 , P3,1 , P2,2 W1,3 W1,3 , P1,3 W1,3 , P2,2 W1,3 , P3,1 W1,3 , P1,3 , P2,2 W1,3 , P2,2 , P3,1 W1,3 , P3,1 , P1,3 W1,3 , P1,3 , P3,1 , P2,2

α2

7.

true

true true true true

true

true

W3,1 , W3,1 , P1,3 W3,1 , P2,2 W3,1 , P3,1 W3,1 , P1,3 , P2,2 W3,1 , P2,2 , P3,1 W3,1 , P3,1 , P1,3 W3,1 , P1,3 , P3,1 , P2,2

true true

W2,2 W2,2 , P1,3 W2,2 , P2,2 W2,2 , P3,1 W2,2 , P1,3 , P2,2 W2,2 , P2,2 , P3,1 W2,2 , P3,1 , P1,3 W2,2 , P1,3 , P3,1 , P2,2

true true

true true true true true true true true

true

true

true

true

Figure S7.1 A truth table constructed for Ex. 7.2. Propositions not listed as true on a given line are assumed false, and only true entries are shown in the table.

b. The question is somewhat ambiguous: we can interpret “in a partial model” to mean in all such models or some such models. For the former interpretation, the sentences False ∧ P , True ∨ ¬P , and P ∧ ¬P can all be determined to be true or false in any partial model. For the latter interpretation, we can in addition have sentences such as A ∧ P which is false in the partial model {A = f alse}. c. A general algorithm for partial models must handle the empty partial model, with no assignments. In that

AIMA 3ed. – Solution Manual

Page 2 and 3: Editor-in-Chief: Michael Hirsch Exe

Page 5 and 6: Solutions for Chapter 1 Introductio

Page 7 and 8: 3 The voice activated directory ass

Page 9 and 10: 5 d. (shoppingatthemarket)No.Norobo

Page 11 and 12: 7 The dominant approach has switche

Page 13 and 14: 9 EXTERNAL MEMORY was already clean

Page 15 and 16: 11 • Rationality: apropertyofagen

Page 17 and 18: 13 function UTILITY-BASED-AGENT(per

Page 19 and 20: 15 update is nontrivial to explain.

Page 21 and 22: 17 3.3 predicting the outcome of ou

Page 25 and 26: 21 how the world is, because the ag

Page 29 and 30: 25 C[265+160=425], T[111+329=440],

Page 31 and 32: 27 case, assume n ′ is on the sho

Page 33 and 34: 29 and hole on already-linked piece

Page 35 and 36: 31 function AND-OR-GRAPH-SEARCH(pro

Page 37 and 38: 33 L R L R S S S Figure S4.3 The be

Page 39 and 40: 35 Current position Current positio

Page 41 and 42: 37 bd −4 cd −4 ad

Page 43 and 44: 39 MAX A a 1 a 2 MIN B D b1 b2 b3 d

Page 45 and 46: 41 1 x x −1 x 1 −2 x o x x o x

Page 49 and 50: 45 b. In a partially observable, tu

Page 51 and 52: 47 that the letters must make words

Page 53 and 54: 49 f. A 2 = R conflicts with A 1 ,

Page 55 and 56: Solutions for Chapter 7 Logical Age

Page 57 and 58: 53 function PL-TRUE?(s, m) returns

Page 59 and 60: 55 7.8 Abinarylogicalconnectiveisde

Page 61 and 62: 57 •ResolveS7withS5,givingS8:F .

Page 63 and 64: 59 7.18 7.19 clauses are semantical

Page 65 and 66: 61 aMinesweepergamewith100cellsand2

Page 67 and 68: Solutions for Chapter 8 First-Order

Page 69 and 70: 65 a. (∃xx= x) ⇒ (∀ y ∃z y=

Page 71 and 72: 67 8.10 (iv) ∀ x, y (Country(x)

Page 73 and 74: 69 example, it is not possible to p

Page 75 and 76: 71 less felicitous); Sells(x, y, z)

Page 77 and 78: 73 connections: ∀ c Add 1 Circuit

Page 79 and 80: Solutions for Chapter 9 Inference i

Page 81 and 82: 77 a. LetP (x, y) be the relation

Page 83 and 84: 79 (and negating Q and including th

Page 85 and 86: 81 Horse(h) Offspring(h,y) Horse(Bl

Page 87 and 88: 83 a. Thecodeforsimplificationlooks

Page 89 and 90: 85 Note that this does not work in

Page 91 and 92: Solutions for Chapter 10 Classical

Page 93 and 94: 89 The initial state is: In(Switch

Page 95 and 96: 91 can still fly when empty. (2) Ne

Page 97 and 98: a. Yes,thiswillfindaplanwheneverthe

Page 99 and 100: 95 Refinement(Deliver(t, p), PRECON

Page 101 and 102: 97 11.8 Flip can be described using

Page 103 and 104: 99 [q1=Q11 ∧ q2=Q12 ∧ q3=Q13]

Page 105 and 106: 101 use the first sense, so we will

Page 107 and 108: 103 There is no obvious way to refe

Page 109 and 110: 105 12.16 Let Trade(b, x, a, y) den

Page 111 and 112: 107 d. Ifeachcategoryhasmanypropert

Page 113 and 114: 109 We then have the following equa

Page 115 and 116: 111 d. Thisasksforthevectorofprobab

Page 117 and 118: 113 test(10000) 13.11 The correct m

Page 119 and 120: 115 13.16 The basic axiom to use he

Page 121 and 122: 117 Normalization proceeds as follo

Page 123 and 124: 119 To calculate the probabilities

Page 125 and 126: Solutions for Chapter 14 Probabilis

Page 127 and 128: 123 14.3 This generalizes the sum-t

Page 129 and 130: 125 a. Yes. Numerically one can com

Page 131 and 132: 127 or a parent. Hence, P (x i |x 1

Page 133 and 134: 129 have P (x) = “ 1 √ 1 (2π)

Page 135 and 136: 131 T = Normal T = High d. TheCPTfo

Page 137 and 138: 133 e. Wecannotcalculatethemostlike

Page 139 and 140: 135 14.16 leaf node, we have to do

Page 141 and 142: 137 •Entriesonthediagonalcorrespo

Page 143 and 144: 139 A.Q B.Q C.Q AB.Outcome BC.Outco

Page 145 and 146: 141 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0

Page 147 and 148: 143 Localization error 6 5 4 3 2 1

Page 149 and 150: 145 7 Variance of posterior distrib

Page 151 and 152: 147 = ⟨0.02, 0.21⟩ P (e 3 |S 2

Page 153 and 154: Solutions for Chapter 16 Making Sim

Page 155 and 156: 151 × P(Wrapper = red|Flavor = anc

Page 157 and 158: 153 Solving this numerically, we fi

Page 159 and 160: 155 Using Bayes’ theorem: P (q +

Page 161 and 162: Solutions for Chapter 17 Making Com

Page 163 and 164: 159 One useful observation in this

Page 165 and 166: 161 (intersection-point (make-line

Page 167 and 168: 163 a. ForU A we have U A (s)=R(s)+

Page 169 and 170: 165 17.10 a. Intuitively,theagentwa

Page 171 and 172: 167 Given this policy, the policy l

Page 173 and 174: 169 for the item. Now, agent i wins

Page 175 and 176: 171 17.21 Every game is either a wi

Page 177 and 178: 173 only positive examples, then th

Page 179 and 180: 175 18.6 Note that to compute each

Page 181 and 182: 177 decision list in which C i is t

Page 183 and 184: 179 18.21 This question introduces

Page 185 and 186: 181 c. Fourpointsingeneralpositiono

Page 187 and 188: 183 That is, if p has the same inpu

Page 189 and 190: 185 Again, we have a fairly free ch

Page 191 and 192: Solutions for Chapter 20 Learning P

Page 193 and 194: 189 parameter estimation based on c

Page 195 and 196: = Γ(a + b) Γ(a)Γ(b) · aΓ(a)Γ(

Page 197 and 198: 193 and the 90 green-wrapped cherry

Page 199 and 200: 195 zero under these conditions, so

Page 201 and 202: Solutions for Chapter 21 Reinforcem

Page 203 and 204: 199 part of the learning algorithm

Page 205 and 206: 201 return None return words # for

Page 207 and 208: Solutions for Chapter 23 Natural La

Page 209 and 210: 205 a. Thelanguagea n b n :Thestrin

Page 211 and 212: 207 S → NP VP | S ′ Conj S ′

Page 213 and 214: 209 As these are the only two parse

Page 215 and 216: 211 •Puttingtoomanyclothestogethe

Page 217 and 218: 213 θ r x illumination y z x viewe

Page 219 and 220: Solutions for Chapter 25 Robotics 2

Page 221 and 222: 217 Aquickcheckshouldconvinceyoutha

Page 223 and 224: 219 value of the term “1/square o

Page 225 and 226: 221 Asingleplanarobstacleprotruding

Page 227 and 228: 223 Acommonreactivealgorithm,whichh

Page 229 and 230: aby. The instructor then follows th

Page 231 and 232: 227 h. make mistakes At this stage,

Page 233 and 234: 229 getting a “human” answer, n

Page 235 and 236: Bibliography 231

Artificial Intelligence: A Modern Approach

Book by Stuart J. Russell and Peter Norvig

Artificial Intelligence: A Modern Approach (AIMA) is a university textbook on artificial intelligence, written by Stuart J. Russell and Peter Norvig. It was first published in 1995 and the fourth edition of the book was released on 28 April 2020.[1] It is used in over 1400 universities worldwide[2] and has been called “the most popular artificial intelligence textbook in the world”.[3] It is considered the standard text in the field of artificial intelligence.[4][5]

The book is intended for an undergraduate audience but can also be used for graduate-level studies with the suggestion of adding some of the primary sources listed in the extensive bibliography.

Editions [ edit ]

1st 1995, red cover

2nd 2003, green cover

3rd 2009

4th 2020

Structure of 3rd edition [ edit ]

Artificial Intelligence: A Modern Approach is divided into seven parts with a total of 27 chapters.[6] The authors state that it is a large text which would take two semesters to cover all the chapters and projects.

Part I: Artificial Intelligence – Sets the stage for the following sections by viewing AI systems as intelligent agents that can decide what actions to take and when to take them.

– Sets the stage for the following sections by viewing AI systems as intelligent agents that can decide what actions to take and when to take them. Part II: Problem-solving – Focuses on methods for deciding what action to take when needing to think several steps ahead such as playing a game of chess.

– Focuses on methods for deciding what action to take when needing to think several steps ahead such as playing a game of chess. Part III: Knowledge and reasoning – Discusses ways to represent knowledge about the intelligent agents’ environment and how to reason logically with that knowledge.

– Discusses ways to represent knowledge about the intelligent agents’ environment and how to reason logically with that knowledge. Part IV: Uncertain knowledge and reasoning – This section is analogous to Part III, but deals with reasoning and decision-making in the presence of uncertainty in the environment.

– This section is analogous to Part III, but deals with reasoning and decision-making in the presence of uncertainty in the environment. Part V: Learning – Describes ways for generating knowledge required by the decision-making components and introduces a new component: the artificial neural network

– Describes ways for generating knowledge required by the decision-making components and introduces a new component: the artificial neural network Part VI: Communicating, perceiving, and acting – Concentrates on ways an intelligent agent can perceive its environment whether by touch or vision.

– Concentrates on ways an intelligent agent can perceive its environment whether by touch or vision. Part VII: Conclusions – Considers the past and future of AI by discussing what AI really is and why it has succeeded to some degree. Also discusses the views of those philosophers who believe that AI can never succeed.

The 4th Edition [ edit ]

The fourth edition to Artificial Intelligence: A Modern Approach focuses more on machine learning, deep learning, probabilistic programming, multiagent systems, and includes sections where the AI’s utility function is uncertain, rather than certain.[7]

Code [ edit ]

Programs in the book are presented in pseudo code with implementations in Java, Python, and Lisp available online.[8] There are also unsupported implementations in Prolog, C++, C#, and several other languages. A github repository exists that is dedicated to implementations of the subject material.

What is Artificial Intelligence (AI)? Definition, Benefits and Use Cases

Artificial intelligence is the simulation of human intelligence processes by machines, especially computer systems. Specific applications of AI include expert systems, natural language processing, speech recognition and machine vision.

Why is artificial intelligence important? AI is important because it can give enterprises insights into their operations that they may not have been aware of previously and because, in some cases, AI can perform tasks better than humans. Particularly when it comes to repetitive, detail-oriented tasks like analyzing large numbers of legal documents to ensure relevant fields are filled in properly, AI tools often complete jobs quickly and with relatively few errors. This has helped fuel an explosion in efficiency and opened the door to entirely new business opportunities for some larger enterprises. Prior to the current wave of AI, it would have been hard to imagine using computer software to connect riders to taxis, but today Uber has become one of the largest companies in the world by doing just that. It utilizes sophisticated machine learning algorithms to predict when people are likely to need rides in certain areas, which helps proactively get drivers on the road before they’re needed. As another example, Google has become one of the largest players for a range of online services by using machine learning to understand how people use their services and then improving them. In 2017, the company’s CEO, Sundar Pichai, pronounced that Google would operate as an “AI first” company. Today’s largest and most successful enterprises have used AI to improve their operations and gain advantage on their competitors.

What are the advantages and disadvantages of artificial intelligence? Artificial neural networks and deep learning artificial intelligence technologies are quickly evolving, primarily because AI processes large amounts of data much faster and makes predictions more accurately than humanly possible. While the huge volume of data being created on a daily basis would bury a human researcher, AI applications that use machine learning can take that data and quickly turn it into actionable information. As of this writing, the primary disadvantage of using AI is that it is expensive to process the large amounts of data that AI programming requires. Advantages Good at detail-oriented jobs;

Reduced time for data-heavy tasks;

Delivers consistent results; and

AI-powered virtual agents are always available. Disadvantages Expensive;

Requires deep technical expertise;

Limited supply of qualified workers to build AI tools;

Only knows what it’s been shown; and

Lack of ability to generalize from one task to another.

Strong AI vs. weak AI AI can be categorized as either weak or strong. Weak AI, also known as narrow AI, is an AI system that is designed and trained to complete a specific task. Industrial robots and virtual personal assistants, such as Apple’s Siri, use weak AI.

Strong AI, also known as artificial general intelligence (AGI), describes programming that can replicate the cognitive abilities of the human brain. When presented with an unfamiliar task, a strong AI system can use fuzzy logic to apply knowledge from one domain to another and find a solution autonomously. In theory, a strong AI program should be able to pass both a Turing Test and the Chinese room test.

What are the 4 types of artificial intelligence? Arend Hintze, an assistant professor of integrative biology and computer science and engineering at Michigan State University, explained in a 2016 article that AI can be categorized into four types, beginning with the task-specific intelligent systems in wide use today and progressing to sentient systems, which do not yet exist. The categories are as follows: Type 1: Reactive machines. These AI systems have no memory and are task specific. An example is Deep Blue, the IBM chess program that beat Garry Kasparov in the 1990s. Deep Blue can identify pieces on the chessboard and make predictions, but because it has no memory, it cannot use past experiences to inform future ones.

These AI systems have no memory and are task specific. An example is Deep Blue, the IBM chess program that beat Garry Kasparov in the 1990s. Deep Blue can identify pieces on the chessboard and make predictions, but because it has no memory, it cannot use past experiences to inform future ones. Type 2: Limited memory. These AI systems have memory, so they can use past experiences to inform future decisions. Some of the decision-making functions in self-driving cars are designed this way.

These AI systems have memory, so they can use past experiences to inform future decisions. Some of the decision-making functions in self-driving cars are designed this way. Type 3: Theory of mind. Theory of mind is a psychology term. When applied to AI, it means that the system would have the social intelligence to understand emotions. This type of AI will be able to infer human intentions and predict behavior, a necessary skill for AI systems to become integral members of human teams.

Theory of mind is a psychology term. When applied to AI, it means that the system would have the social intelligence to understand emotions. This type of AI will be able to infer human intentions and predict behavior, a necessary skill for AI systems to become integral members of human teams. Type 4: Self-awareness. In this category, AI systems have a sense of self, which gives them consciousness. Machines with self-awareness understand their own current state. This type of AI does not yet exist.

What are examples of AI technology and how is it used today? AI is incorporated into a variety of different types of technology. Here are six examples: Automation. When paired with AI technologies, automation tools can expand the volume and types of tasks performed. An example is robotic process automation (RPA), a type of software that automates repetitive, rules-based data processing tasks traditionally done by humans. When combined with machine learning and emerging AI tools, RPA can automate bigger portions of enterprise jobs, enabling RPA’s tactical bots to pass along intelligence from AI and respond to process changes.

When paired with AI technologies, automation tools can expand the volume and types of tasks performed. An example is robotic process automation (RPA), a type of software that automates repetitive, rules-based data processing tasks traditionally done by humans. When combined with machine learning and emerging AI tools, RPA can automate bigger portions of enterprise jobs, enabling RPA’s tactical bots to pass along intelligence from AI and respond to process changes. Machine learning. This is the science of getting a computer to act without programming. Deep learning is a subset of machine learning that, in very simple terms, can be thought of as the automation of predictive analytics. There are three types of machine learning algorithms: Supervised learning . Data sets are labeled so that patterns can be detected and used to label new data sets. Unsupervised learning . Data sets aren’t labeled and are sorted according to similarities or differences. Reinforcement learning . Data sets aren’t labeled but, after performing an action or several actions, the AI system is given feedback.

This is the science of getting a computer to act without programming. Deep learning is a subset of machine learning that, in very simple terms, can be thought of as the automation of predictive analytics. There are three types of machine learning algorithms: Machine vision. This technology gives a machine the ability to see. Machine vision captures and analyzes visual information using a camera, analog-to-digital conversion and digital signal processing. It is often compared to human eyesight, but machine vision isn’t bound by biology and can be programmed to see through walls, for example. It is used in a range of applications from signature identification to medical image analysis. Computer vision, which is focused on machine-based image processing, is often conflated with machine vision.

This technology gives a machine the ability to see. Machine vision captures and analyzes visual information using a camera, analog-to-digital conversion and digital signal processing. It is often compared to human eyesight, but machine vision isn’t bound by biology and can be programmed to see through walls, for example. It is used in a range of applications from signature identification to medical image analysis. Computer vision, which is focused on machine-based image processing, is often conflated with machine vision. Natural language processing (NLP). This is the processing of human language by a computer program. One of the older and best-known examples of NLP is spam detection, which looks at the subject line and text of an email and decides if it’s junk. Current approaches to NLP are based on machine learning. NLP tasks include text translation, sentiment analysis and speech recognition.

This is the processing of human language by a computer program. One of the older and best-known examples of NLP is spam detection, which looks at the subject line and text of an email and decides if it’s junk. Current approaches to NLP are based on machine learning. NLP tasks include text translation, sentiment analysis and speech recognition. Robotics. This field of engineering focuses on the design and manufacturing of robots. Robots are often used to perform tasks that are difficult for humans to perform or perform consistently. For example, robots are used in assembly lines for car production or by NASA to move large objects in space. Researchers are also using machine learning to build robots that can interact in social settings.

This field of engineering focuses on the design and manufacturing of robots. Robots are often used to perform tasks that are difficult for humans to perform or perform consistently. For example, robots are used in assembly lines for car production or by NASA to move large objects in space. Researchers are also using machine learning to build robots that can interact in social settings. Self-driving cars. Autonomous vehicles use a combination of computer vision, image recognition and deep learning to build automated skill at piloting a vehicle while staying in a given lane and avoiding unexpected obstructions, such as pedestrians. AI is not just one technology.

What are the applications of AI? Artificial intelligence has made its way into a wide variety of markets. Here are nine examples. AI in healthcare. The biggest bets are on improving patient outcomes and reducing costs. Companies are applying machine learning to make better and faster diagnoses than humans. One of the best-known healthcare technologies is IBM Watson. It understands natural language and can respond to questions asked of it. The system mines patient data and other available data sources to form a hypothesis, which it then presents with a confidence scoring schema. Other AI applications include using online virtual health assistants and chatbots to help patients and healthcare customers find medical information, schedule appointments, understand the billing process and complete other administrative processes. An array of AI technologies is also being used to predict, fight and understand pandemics such as COVID-19. AI in business. Machine learning algorithms are being integrated into analytics and customer relationship management (CRM) platforms to uncover information on how to better serve customers. Chatbots have been incorporated into websites to provide immediate service to customers. Automation of job positions has also become a talking point among academics and IT analysts. AI in education. AI can automate grading, giving educators more time. It can assess students and adapt to their needs, helping them work at their own pace. AI tutors can provide additional support to students, ensuring they stay on track. And it could change where and how students learn, perhaps even replacing some teachers. AI in finance. AI in personal finance applications, such as Intuit Mint or TurboTax, is disrupting financial institutions. Applications such as these collect personal data and provide financial advice. Other programs, such as IBM Watson, have been applied to the process of buying a home. Today, artificial intelligence software performs much of the trading on Wall Street. AI in law. The discovery process — sifting through documents — in law is often overwhelming for humans. Using AI to help automate the legal industry’s labor-intensive processes is saving time and improving client service. Law firms are using machine learning to describe data and predict outcomes, computer vision to classify and extract information from documents and natural language processing to interpret requests for information. AI in manufacturing. Manufacturing has been at the forefront of incorporating robots into the workflow. For example, the industrial robots that were at one time programmed to perform single tasks and separated from human workers, increasingly function as cobots: Smaller, multitasking robots that collaborate with humans and take on responsibility for more parts of the job in warehouses, factory floors and other workspaces. AI in banking. Banks are successfully employing chatbots to make their customers aware of services and offerings and to handle transactions that don’t require human intervention. AI virtual assistants are being used to improve and cut the costs of compliance with banking regulations. Banking organizations are also using AI to improve their decision-making for loans, and to set credit limits and identify investment opportunities. AI in transportation. In addition to AI’s fundamental role in operating autonomous vehicles, AI technologies are used in transportation to manage traffic, predict flight delays, and make ocean shipping safer and more efficient. Security. AI and machine learning are at the top of the buzzword list security vendors use today to differentiate their offerings. Those terms also represent truly viable technologies. Organizations use machine learning in security information and event management (SIEM) software and related areas to detect anomalies and identify suspicious activities that indicate threats. By analyzing data and using logic to identify similarities to known malicious code, AI can provide alerts to new and emerging attacks much sooner than human employees and previous technology iterations. The maturing technology is playing a big role in helping organizations fight off cyber attacks.

Augmented intelligence vs. artificial intelligence Some industry experts believe the term artificial intelligence is too closely linked to popular culture, and this has caused the general public to have improbable expectations about how AI will change the workplace and life in general. Augmented intelligence. Some researchers and marketers hope the label augmented intelligence, which has a more neutral connotation, will help people understand that most implementations of AI will be weak and simply improve products and services. Examples include automatically surfacing important information in business intelligence reports or highlighting important information in legal filings.

Some researchers and marketers hope the label augmented intelligence, which has a more neutral connotation, will help people understand that most implementations of AI will be weak and simply improve products and services. Examples include automatically surfacing important information in business intelligence reports or highlighting important information in legal filings. Artificial intelligence. True AI, or artificial general intelligence, is closely associated with the concept of the technological singularity — a future ruled by an artificial superintelligence that far surpasses the human brain’s ability to understand it or how it is shaping our reality. This remains within the realm of science fiction, though some developers are working on the problem. Many believe that technologies such as quantum computing could play an important role in making AGI a reality and that we should reserve the use of the term AI for this kind of general intelligence.

Ethical use of artificial intelligence While AI tools present a range of new functionality for businesses, the use of artificial intelligence also raises ethical questions because, for better or worse, an AI system will reinforce what it has already learned. This can be problematic because machine learning algorithms, which underpin many of the most advanced AI tools, are only as smart as the data they are given in training. Because a human being selects what data is used to train an AI program, the potential for machine learning bias is inherent and must be monitored closely. Anyone looking to use machine learning as part of real-world, in-production systems needs to factor ethics into their AI training processes and strive to avoid bias. This is especially true when using AI algorithms that are inherently unexplainable in deep learning and generative adversarial network (GAN) applications. Explainability is a potential stumbling block to using AI in industries that operate under strict regulatory compliance requirements. For example, financial institutions in the United States operate under regulations that require them to explain their credit-issuing decisions. When a decision to refuse credit is made by AI programming, however, it can be difficult to explain how the decision was arrived at because the AI tools used to make such decisions operate by teasing out subtle correlations between thousands of variables. When the decision-making process cannot be explained, the program may be referred to as black box AI. These components make up responsible AI use. Despite potential risks, there are currently few regulations governing the use of AI tools, and where laws do exist, they typically pertain to AI indirectly. For example, as previously mentioned, United States Fair Lending regulations require financial institutions to explain credit decisions to potential customers. This limits the extent to which lenders can use deep learning algorithms, which by their nature are opaque and lack explainability. The European Union’s General Data Protection Regulation (GDPR) puts strict limits on how enterprises can use consumer data, which impedes the training and functionality of many consumer-facing AI applications. In October 2016, the National Science and Technology Council issued a report examining the potential role governmental regulation might play in AI development, but it did not recommend specific legislation be considered. Crafting laws to regulate AI will not be easy, in part because AI comprises a variety of technologies that companies use for different ends, and partly because regulations can come at the cost of AI progress and development. The rapid evolution of AI technologies is another obstacle to forming meaningful regulation of AI. Technology breakthroughs and novel applications can make existing laws instantly obsolete. For example, existing laws regulating the privacy of conversations and recorded conversations do not cover the challenge posed by voice assistants like Amazon’s Alexa and Apple’s Siri that gather but do not distribute conversation — except to the companies’ technology teams which use it to improve machine learning algorithms. And, of course, the laws that governments do manage to craft to regulate AI don’t stop criminals from using the technology with malicious intent.

Cognitive computing and AI The terms AI and cognitive computing are sometimes used interchangeably, but, generally speaking, the label AI is used in reference to machines that replace human intelligence by simulating how we sense, learn, process and react to information in the environment. The label cognitive computing is used in reference to products and services that mimic and augment human thought processes.

What is the history of AI? The concept of inanimate objects endowed with intelligence has been around since ancient times. The Greek god Hephaestus was depicted in myths as forging robot-like servants out of gold. Engineers in ancient Egypt built statues of gods animated by priests. Throughout the centuries, thinkers from Aristotle to the 13th century Spanish theologian Ramon Llull to René Descartes and Thomas Bayes used the tools and logic of their times to describe human thought processes as symbols, laying the foundation for AI concepts such as general knowledge representation. Support for the modern field of AI, 1956 to the present. The late 19th and first half of the 20th centuries brought forth the foundational work that would give rise to the modern computer. In 1836, Cambridge University mathematician Charles Babbage and Augusta Ada Byron, Countess of Lovelace, invented the first design for a programmable machine. 1940s. Princeton mathematician John Von Neumann conceived the architecture for the stored-program computer — the idea that a computer’s program and the data it processes can be kept in the computer’s memory . And Warren McCulloch and Walter Pitts laid the foundation for neural networks. 1950s. With the advent of modern computers, scientists could test their ideas about machine intelligence. One method for determining whether a computer has intelligence was devised by the British mathematician and World War II code-breaker Alan Turing. The Turing Test focused on a computer’s ability to fool interrogators into believing its responses to their questions were made by a human being. 1956. The modern field of artificial intelligence is widely cited as starting this year during a summer conference at Dartmouth College. Sponsored by the Defense Advanced Research Projects Agency (DARPA), the conference was attended by 10 luminaries in the field, including AI pioneers Marvin Minsky, Oliver Selfridge and John McCarthy, who is credited with coining the term artificial intelligence. Also in attendance were Allen Newell, a computer scientist, and Herbert A. Simon, an economist, political scientist and cognitive psychologist, who presented their groundbreaking Logic Theorist, a computer program capable of proving certain mathematical theorems and referred to as the first AI program. 1950s and 1960s. In the wake of the Dartmouth College conference, leaders in the fledgling field of AI predicted that a man-made intelligence equivalent to the human brain was around the corner, attracting major government and industry support. Indeed, nearly 20 years of well-funded basic research generated significant advances in AI: For example, in the late 1950s, Newell and Simon published the General Problem Solver (GPS) algorithm, which fell short of solving complex problems but laid the foundations for developing more sophisticated cognitive architectures; McCarthy developed Lisp, a language for AI programming that is still used today. In the mid-1960s MIT Professor Joseph Weizenbaum developed ELIZA, an early natural language processing program that laid the foundation for today’s chatbots. 1970s and 1980s. But the achievement of artificial general intelligence proved elusive, not imminent, hampered by limitations in computer processing and memory and by the complexity of the problem. Government and corporations backed away from their support of AI research, leading to a fallow period lasting from 1974 to 1980 and known as the first “AI Winter.” In the 1980s, research on deep learning techniques and industry’s adoption of Edward Feigenbaum’s expert systems sparked a new wave of AI enthusiasm, only to be followed by another collapse of government funding and industry support. The second AI winter lasted until the mid-1990s. 1990s through today. Increases in computational power and an explosion of data sparked an AI renaissance in the late 1990s that has continued to present times. The latest focus on AI has given rise to breakthroughs in natural language processing, computer vision, robotics, machine learning, deep learning and more. Moreover, AI is becoming ever more tangible, powering cars, diagnosing disease and cementing its role in popular culture. In 1997, IBM’s Deep Blue defeated Russian chess grandmaster Garry Kasparov, becoming the first computer program to beat a world chess champion. Fourteen years later, IBM’s Watson captivated the public when it defeated two former champions on the game show Jeopardy!. More recently, the historic defeat of 18-time World Go champion Lee Sedol by Google DeepMind’s AlphaGo stunned the Go community and marked a major milestone in the development of intelligent machines.

artificial intelligence | Definition, Examples, Types, Applications, Companies, & Facts

Artificial intelligence’s impact on society is widely debated. Many argue that AI improves the quality of everyday life by doing routine and even complicated tasks better than humans can, making life simpler, safer, and more efficient. Others argue that AI poses dangerous privacy risks, exacerbates racism by standardizing people, and costs workers their jobs, leading to greater unemployment. For more on the debate over artificial intelligence, visit ProCon.org .

No, artificial intelligence and machine learning are not the same, but they are closely related. Machine learning is the method to train a computer to learn from its inputs but without explicit programming for every circumstance. Machine learning helps a computer to achieve artificial intelligence.

Artificial intelligence (AI) is the ability of a computer or a robot controlled by a computer to do tasks that are usually done by humans because they require human intelligence and discernment. Although there are no AIs that can perform the wide variety of tasks an ordinary human can do, some AIs can match humans in specific tasks.

Summary

artificial intelligence (AI) , the ability of a digital computer or computer-controlled robot to perform tasks commonly associated with intelligent beings. The term is frequently applied to the project of developing systems endowed with the intellectual processes characteristic of humans, such as the ability to reason, discover meaning, generalize, or learn from past experience. Since the development of the digital computer in the 1940s, it has been demonstrated that computers can be programmed to carry out very complex tasks—as, for example, discovering proofs for mathematical theorems or playing chess —with great proficiency. Still, despite continuing advances in computer processing speed and memory capacity, there are as yet no programs that can match human flexibility over wider domains or in tasks requiring much everyday knowledge. On the other hand, some programs have attained the performance levels of human experts and professionals in performing certain specific tasks, so that artificial intelligence in this limited sense is found in applications as diverse as medical diagnosis , computer search engines , and voice or handwriting recognition.

What is intelligence?

All but the simplest human behaviour is ascribed to intelligence, while even the most complicated insect behaviour is never taken as an indication of intelligence. What is the difference? Consider the behaviour of the digger wasp, Sphex ichneumoneus. When the female wasp returns to her burrow with food, she first deposits it on the threshold, checks for intruders inside her burrow, and only then, if the coast is clear, carries her food inside. The real nature of the wasp’s instinctual behaviour is revealed if the food is moved a few inches away from the entrance to her burrow while she is inside: on emerging, she will repeat the whole procedure as often as the food is displaced. Intelligence—conspicuously absent in the case of Sphex—must include the ability to adapt to new circumstances.

Psychologists generally do not characterize human intelligence by just one trait but by the combination of many diverse abilities. Research in AI has focused chiefly on the following components of intelligence: learning, reasoning, problem solving, perception, and using language.

Artificial Intelligence: A Modern Approach 3rd Edition Textbook Solutions

The long-anticipated revision of this #1 selling book offers the most comprehensive, state of the art introduction to the theory and practice of artificial intelligence for modern applications. Intelligent Agents. Solving Problems by Searching. Informed Search Methods. Game Playing. Agents that Reason Logically. First-order Logic. Building a Knowledge Base. Inference in First-Order Logic. Logical Reasoning Systems. Practical Planning. Planning and Acting. Uncertainty. Probabilistic Reasoning Systems. Making Simple Decisions. Making Complex Decisions. Learning from Observations. Learning with Neural Networks. Reinforcement Learning. Knowledge in Learning. Agents that Communicate. Practical Communication in English. Perception. Robotics. For computer professionals, linguists, and cognitive scientists interested in artificial intelligence.

Artificial intelligence a modern approach, 3e exercise solutions 2010

Artificial intelligence a modern approach, 3e exercise solutions 2010 Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.62 MB, 238 trang )

Instructor’s Manual:

Exercise Solutions

for

Artificial Intelligence

A Modern Approach

Third Edition (International Version)

Stuart J. Russell and Peter Norvig

with contributions from

Ernest Davis, Nicholas J. Hay, and Mehran Sahami

Upper Saddle River Boston Columbus San Francisco New York

Indianapolis London Toronto Sydney Singapore Tokyo Montreal

Dubai Madrid Hong Kong Mexico City Munich Paris Amsterdam Cape Town

www.elsolucionario.net

Editor-in-Chief: Michael Hirsch

Executive Editor: Tracy Dunkelberger

Assistant Editor: Melinda Haggerty

Editorial Assistant: Allison Michael

Vice President, Production: Vince O’Brien

Senior Managing Editor: Scott Disanno

Production Editor: Jane Bonnell

Interior Designers: Stuart Russell and Peter Norvig

Copyright © 2010, 2003, 1995 by Pearson Education, Inc.,

Upper Saddle River, New Jersey 07458.

All rights reserved. Manufactured in the United States of America. This publication is protected by

Copyright and permissions should be obtained from the publisher prior to any prohibited reproduction,storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical,photocopying, recording, or likewise. To obtain permission(s) to use materials from this work, pleasesubmit a written request to Pearson Higher Education, Permissions Department, 1 Lake Street, UpperSaddle River, NJ 07458.The author and publisher of this book have used their best efforts in preparing this book. Theseefforts include the development, research, and testing of the theories and programs to determine theireffectiveness. The author and publisher make no warranty of any kind, expressed or implied, withregard to these programs or the documentation contained in this book. The author and publisher shallnot be liable in any event for incidental or consequential damages in connection with, or arising outof, the furnishing, performance, or use of these programs.Library of Congress Cataloging-in-Publication Data on File10 9 8 7 6 5 4 3 2 1ISBN-13: 978-0-13-606738-2ISBN-10:0-13-606738-7www.elsolucionario.netPrefaceThis Instructor’s Solution Manual provides solutions (or at least solution sketches) foralmost all of the 400 exercises in Artificial Intelligence: A Modern Approach (Third Edition).We only give actual code for a few of the programming exercises; writing a lot of code wouldnot be that helpful, if only because we don’t know what language you prefer.In many cases, we give ideas for discussion and follow-up questions, and we try toexplain why we designed each exercise.There is more supplementary material that we want to offer to the instructor, but wehave decided to do it through the medium of the World Wide Web rather than through a CDor printed Instructor’s Manual. The idea is that this solution manual contains the material thatmust be kept secret from students, but the Web site contains material that can be updated andadded to in a more timely fashion. The address for the web site is:http://aima.cs.berkeley.eduand the address for the online Instructor’s Guide is:http://aima.cs.berkeley.edu/instructors.htmlThere you will find:• Instructions on how to join the aima-instructors discussion list. We strongly recommend that you join so that you can receive updates, corrections, notification of newversions of this Solutions Manual, additional exercises and exam questions, etc., in atimely manner.• Source code for programs from the text. We offer code in Lisp, Python, and Java, andpoint to code developed by others in C++ and Prolog.• Programming resources and supplemental texts.• Figures from the text, for making your own slides.• Terminology from the index of the book.• Other courses using the book that have home pages on the Web. You can see examplesyllabi and assignments here. Please do not put solution sets for AIMA exercises onpublic web pages!• AI Education information on teaching introductory AI courses.• Other sites on the Web with information on AI. Organized by chapter in the book; checkthis for supplemental material.We welcome suggestions for new exercises, new environments and agents, etc. Thebook belongs to you, the instructor, as much as us. We hope that you enjoy teaching from it,that these supplemental materials help, and that you will share your supplements and experiences with other instructors.iiiwww.elsolucionario.netwww.elsolucionario.netSolutions for Chapter 1Introduction1.1a. Dictionary definitions of intelligence talk about “the capacity to acquire and applyknowledge” or “the faculty of thought and reason” or “the ability to comprehend andprofit from experience.” These are all reasonable answers, but if we want somethingquantifiable we would use something like “the ability to apply knowledge in order toperform better in an environment.”b. We define artificial intelligence as the study and construction of agent programs thatperform well in a given environment, for a given agent architecture.c. We define an agent as an entity that takes action in response to percepts from an environment.d. We define rationality as the property of a system which does the “right thing” givenwhat it knows. See Section 2.2 for a more complete discussion. Both describe perfectrationality, however; see Section 27.3.e. We define logical reasoning as the a process of deriving new sentences from old, suchthat the new sentences are necessarily true if the old ones are true. (Notice that doesnot refer to any specific syntax oor formal language, but it does require a well-definednotion of truth.)1.2See the solution for exercise 26.1 for some discussion of potential objections.The probability of fooling an interrogator depends on just how unskilled the interrogator is. One entrant in the 2002 Loebner prize competition (which is not quite a real TuringTest) did fool one judge, although if you look at the transcript, it is hard to imagine whatthat judge was thinking. There certainly have been examples of a chatbot or other onlineagent fooling humans. For example, see See Lenny Foner’s account of the Julia chatbotat foner.www.media.mit.edu/people/foner/Julia/. We’d say the chance today is somethinglike 10%, with the variation depending more on the skill of the interrogator rather than theprogram. In 50 years, we expect that the entertainment industry (movies, video games, commercials) will have made sufficient investments in artificial actors to create very credibleimpersonators.1.3 Yes, they are rational, because slower, deliberative actions would tend to result in moredamage to the hand. If “intelligent” means “applying knowledge” or “using thought andreasoning” then it does not require intelligence to make a reflex action.www.elsolucionario.netChapter 1.Introduction1.4 No. IQ test scores correlate well with certain other measures, such as success in college,ability to make good decisions in complex, real-world situations, ability to learn new skillsand subjects quickly, and so on, but only if they’re measuring fairly normal humans. The IQtest doesn’t measure everything. A program that is specialized only for IQ tests (and specialized further only for the analogy part) would very likely perform poorly on other measuresof intelligence. Consider the following analogy: if a human runs the 100m in 10 seconds, wemight describe him or her as very athletic and expect competent performance in other areassuch as walking, jumping, hurdling, and perhaps throwing balls; but we would not desscribea Boeing 747 as very athletic because it can cover 100m in 0.4 seconds, nor would we expectit to be good at hurdling and throwing balls.Even for humans, IQ tests are controversial because of their theoretical presuppositionsabout innate ability (distinct from training effects) adn the generalizability of results. SeeThe Mismeasure of Man by Stephen Jay Gould, Norton, 1981 or Multiple intelligences: thetheory in practice by Howard Gardner, Basic Books, 1993 for more on IQ tests, what theymeasure, and what other aspects there are to “intelligence.”1.5 In order of magnitude figures, the computational power of the computer is 100 timeslarger.1.6 Just as you are unaware of all the steps that go into making your heart beat, you arealso unaware of most of what happens in your thoughts. You do have a conscious awarenessof some of your thought processes, but the majority remains opaque to your consciousness.The field of psychoanalysis is based on the idea that one needs trained professional help toanalyze one’s own thoughts.1.7• Although bar code scanning is in a sense computer vision, these are not AI systems.The problem of reading a bar code is an extremely limited and artificial form of visualinterpretation, and it has been carefully designed to be as simple as possible, given thehardware.• In many respects. The problem of determining the relevance of a web page to a queryis a problem in natural language understanding, and the techniques are related to thosewe will discuss in Chapters 22 and 23. Search engines like Ask.com, which groupthe retrieved pages into categories, use clustering techniques analogous to those wediscuss in Chapter 20. Likewise, other functionalities provided by a search engines useintelligent techniques; for instance, the spelling corrector uses a form of data miningbased on observing users’ corrections of their own spelling errors. On the other hand,the problem of indexing billions of web pages in a way that allows retrieval in secondsis a problem in database design, not in artificial intelligence.• To a limited extent. Such menus tends to use vocabularies which are very limited –e.g. the digits, “Yes”, and “No” — and within the designers’ control, which greatlysimplifies the problem. On the other hand, the programs must deal with an uncontrolledspace of all kinds of voices and accents.www.elsolucionario.netThe voice activated directory assistance programs used by telephone companies,which must deal with a large and changing vocabulary are certainly AI programs.• This is borderline. There is something to be said for viewing these as intelligent agentsworking in cyberspace. The task is sophisticated, the information available is partial, thetechniques are heuristic (not guaranteed optimal), and the state of the world is dynamic.All of these are characteristic of intelligent activities. On the other hand, the task is veryfar from those normally carried out in human cognition.1.8 Presumably the brain has evolved so as to carry out this operations on visual images,but the mechanism is only accessible for one particular purpose in this particular cognitivetask of image processing. Until about two centuries ago there was no advantage in people (oranimals) being able to compute the convolution of a Gaussian for any other purpose.The really interesting question here is what we mean by saying that the “actual person”can do something. The person can see, but he cannot compute the convolution of a Gaussian;but computing that convolution is part of seeing. This is beyond the scope of this solutionmanual.1.9 Evolution tends to perpetuate organisms (and combinations and mutations of organisms) that are successful enough to reproduce. That is, evolution favors organisms that canoptimize their performance measure to at least survive to the age of sexual maturity, and thenbe able to win a mate. Rationality just means optimizing performance measure, so this is inline with evolution.1.10 This question is intended to be about the essential nature of the AI problem and what isrequired to solve it, but could also be interpreted as a sociological question about the currentpractice of AI research.A science is a field of study that leads to the acquisition of empirical knowledge by thescientific method, which involves falsifiable hypotheses about what is. A pure engineeringfield can be thought of as taking a fixed base of empirical knowledge and using it to solveproblems of interest to society. Of course, engineers do bits of science—e.g., they measure theproperties of building materials—and scientists do bits of engineering to create new devicesand so on.As described in Section 1.1, the “human” side of AI is clearly an empirical science—called cognitive science these days—because it involves psychological experiments designedout to find out how human cognition actually works. What about the the “rational” side?If we view it as studying the abstract relationship among an arbitrary task environment, acomputing device, and the program for that computing device that yields the best performancein the task environment, then the rational side of AI is really mathematics and engineering;it does not require any empirical knowledge about the actual world—and the actual taskenvironment—that we inhabit; that a given program will do well in a given environment is atheorem. (The same is true of pure decision theory.) In practice, however, we are interestedin task environments that do approximate the actual world, so even the rational side of AIinvolves finding out what the actual world is like. For example, in studying rational agentsthat communicate, we are interested in task environments that contain humans, so we havewww.elsolucionario.netChapter 1.Introductionto find out what human language is like. In studying perception, we tend to focus on sensorssuch as cameras that extract useful information from the actual world. (In a world withoutlight, cameras wouldn’t be much use.) Moreover, to design vision algorithms that are goodat extracting information from camera images, we need to understand the actual world thatgenerates those images. Obtaining the required understanding of scene characteristics, objecttypes, surface markings, and so on is a quite different kind of science from ordinary physics,chemistry, biology, and so on, but it is still science.In summary, AI is definitely engineering but it would not be especially useful to us if itwere not also an empirical science concerned with those aspects of the real world that affectthe design of intelligent systems for that world.1.11 This depends on your definition of “intelligent” and “tell.” In one sense computers onlydo what the programmers command them to do, but in another sense what the programmersconsciously tells the computer to do often has very little to do with what the computer actuallydoes. Anyone who has written a program with an ornery bug knows this, as does anyonewho has written a successful machine learning program. So in one sense Samuel “told” thecomputer “learn to play checkers better than I do, and then play that way,” but in anothersense he told the computer “follow this learning algorithm” and it learned to play. So we’releft in the situation where you may or may not consider learning to play checkers to be s signof intelligence (or you may think that learning to play in the right way requires intelligence,but not in this way), and you may think the intelligence resides in the programmer or in thecomputer.1.12 The point of this exercise is to notice the parallel with the previous one. Whateveryou decided about whether computers could be intelligent in 1.11, you are committed tomaking the same conclusion about animals (including humans), unless your reasons for deciding whether something is intelligent take into account the mechanism (programming viagenes versus programming via a human programmer). Note that Searle makes this appeal tomechanism in his Chinese Room argument (see Chapter 26).1.13Again, the choice you make in 1.11 drives your answer to this question.1.14a. (ping-pong) A reasonable level of proficiency was achieved by Andersson’s robot (Andersson, 1988).b. (driving in Cairo) No. Although there has been a lot of progress in automated driving,all such systems currently rely on certain relatively constant clues: that the road hasshoulders and a center line, that the car ahead will travel a predictable course, that carswill keep to their side of the road, and so on. Some lane changes and turns can be madeon clearly marked roads in light to moderate traffic. Driving in downtown Cairo is toounpredictable for any of these to work.c. (driving in Victorville, California) Yes, to some extent, as demonstrated in DARPA’sUrban Challenge. Some of the vehicles managed to negotiate streets, intersections,well-behaved traffic, and well-behaved pedestrians in good visual conditions.www.elsolucionario.netd. (shopping at the market) No. No robot can currently put together the tasks of moving ina crowded environment, using vision to identify a wide variety of objects, and graspingthe objects (including squishable vegetables) without damaging them. The componentpieces are nearly able to handle the individual tasks, but it would take a major integration effort to put it all together.e. (shopping on the web) Yes. Software robots are capable of handling such tasks, particularly if the design of the web grocery shopping site does not change radically overtime.f. (bridge) Yes. Programs such as GIB now play at a solid level.g. (theorem proving) Yes. For example, the proof of Robbins algebra described on page360.h. (funny story) No. While some computer-generated prose and poetry is hystericallyfunny, this is invariably unintentional, except in the case of programs that echo backprose that they have memorized.i. (legal advice) Yes, in some cases. AI has a long history of research into applicationsof automated legal reasoning. Two outstanding examples are the Prolog-based expertsystems used in the UK to guide members of the public in dealing with the intricacies ofthe social security and nationality laws. The social security system is said to have savedthe UK government approximately $150 million in its first year of operation. However,extension into more complex areas such as contract law awaits a satisfactory encodingof the vast web of common-sense knowledge pertaining to commercial transactions andagreement and business practices.j. (translation) Yes. In a limited way, this is already being done. See Kay, Gawron andNorvig (1994) and Wahlster (2000) for an overview of the field of speech translation,and some limitations on the current state of the art.k. (surgery) Yes. Robots are increasingly being used for surgery, although always underthe command of a doctor. Robotic skills demonstrated at superhuman levels includedrilling holes in bone to insert artificial joints, suturing, and knot-tying. They are notyet capable of planning and carrying out a complex operation autonomously from startto finish.1.15The progress made in this contests is a matter of fact, but the impact of that progress isa matter of opinion.• DARPA Grand Challenge for Robotic Cars In 2004 the Grand Challenge was a 240km race through the Mojave Desert. It clearly stressed the state of the art of autonomousdriving, and in fact no competitor finished the race. The best team, CMU, completedonly 12 of the 240 km. In 2005 the race featured a 212km course with fewer curvesand wider roads than the 2004 race. Five teams finished, with Stanford finishing first,edging out two CMU entries. This was hailed as a great achievement for robotics andfor the Challenge format. In 2007 the Urban Challenge put cars in a city setting, wherethey had to obey traffic laws and avoid other cars. This time CMU edged out Stanford.www.elsolucionario.netChapter 1.IntroductionThe competition appears to have been a good testing ground to put theory into practice,something that the failures of 2004 showed was needed. But it is important that thecompetition was done at just the right time, when there was theoretical work to consolidate, as demonstrated by the earlier work by Dickmanns (whose VaMP car droveautonomously for 158km in 1995) and by Pomerleau (whose Navlab car drove 5000kmacross the USA, also in 1995, with the steering controlled autonomously for 98% of thetrip, although the brakes and accelerator were controlled by a human driver).• International Planning Competition In 1998, five planners competed: Blackbox,HSP, IPP, SGP, and STAN. The result page (ftp://ftp.cs.yale.edu/pub/mcdermott/aipscomp-results.html) stated “all of these planners performedvery well, compared to the state of the art a few years ago.” Most plans found were 30 or40 steps, with some over 100 steps. In 2008, the competition had expanded quite a bit:there were more tracks (satisficing vs. optimizing; sequential vs. temporal; static vs.learning). There were about 25 planners, including submissions from the 1998 groups(or their descendants) and new groups. Solutions found were much longer than in 1998.In sum, the field has progressed quite a bit in participation, in breadth, and in power ofthe planners. In the 1990s it was possible to publish a Planning paper that discussedonly a theoretical approach; now it is necessary to show quantitative evidence of theefficacy of an approach. The field is stronger and more mature now, and it seems thatthe planning competition deserves some of the credit. However, some researchers feelthat too much emphasis is placed on the particular classes of problems that appear inthe competitions, and not enough on real-world applications.• Robocup Robotics Soccer This competition has proved extremely popular, attracting407 teams from 43 countries in 2009 (up from 38 teams from 11 countries in 1997).The robotic platform has advanced to a more capable humanoid form, and the strategyand tactics have advanced as well. Although the competition has spurred innovationsin distributed control, the winning teams in recent years have relied more on individualball-handling skills than on advanced teamwork. The competition has served to increaseinterest and participation in robotics, although it is not clear how well they are advancingtowards the goal of defeating a human team by 2050.• TREC Information Retrieval Conference This is one of the oldest competitions,started in 1992. The competitions have served to bring together a community of researchers, have led to a large literature of publications, and have seen progress in participation and in quality of results over the years. In the early years, TREC servedits purpose as a place to do evaluations of retrieval algorithms on text collections thatwere large for the time. However, starting around 2000 TREC became less relevant asthe advent of the World Wide Web created a corpus that was available to anyone andwas much larger than anything TREC had created, and the development of commercialsearch engines surpassed academic research.• NIST Open Machine Translation Evaluation This series of evaluations (explicitlynot labelled a “competition”) has existed since 2001. Since then we have seen greatadvances in Machine Translation quality as well as in the number of languages covered.www.elsolucionario.netThe dominant approach has switched from one based on grammatical rules to one thatrelies primarily on statistics. The NIST evaluations seem to track these changes well,but don’t appear to be driving the changes.Overall, we see that whatever you measure is bound to increase over time. For most ofthese competitions, the measurement was a useful one, and the state of the art has progressed.In the case of ICAPS, some planning researchers worry that too much attention has beenlavished on the competition itself. In some cases, progress has left the competition behind,as in TREC, where the resources available to commercial search engines outpaced thoseavailable to academic researchers. In this case the TREC competition was useful—it helpedtrain many of the people who ended up in commercial search engines—and in no way drewenergy away from new ideas.www.elsolucionario.netSolutions for Chapter 2Intelligent Agents2.1 This question tests the student’s understanding of environments, rational actions, andperformance measures. Any sequential environment in which rewards may take time to arrivewill work, because then we can arrange for the reward to be “over the horizon.” Suppose thatin any state there are two action choices, a and b, and consider two cases: the agent is in states at time T or at time T − 1. In state s, action a reaches state s′ with reward 0, while actionb reaches state s again with reward 1; in s′ either action gains reward 10. At time T − 1,it’s rational to do a in s, with expected total reward 10 before time is up; but at time T , it’srational to do b with total expected reward 1 because the reward of 10 cannot be obtainedbefore time is up.Students may also provide common-sense examples from real life: investments whosepayoff occurs after the end of life, exams where it doesn’t make sense to start the high-valuequestion with too little time left to get the answer, and so on.The environment state can include a clock, of course; this doesn’t change the gist ofthe answer—now the action will depend on the clock as well as on the non-clock part of thestate—but it does mean that the agent can never be in the same state twice.2.2 Notice that for our simple environmental assumptions we need not worry about quantitative uncertainty.a. It suffices to show that for all possible actual environments (i.e., all dirt distributions andinitial locations), this agent cleans the squares at least as fast as any other agent. This istrivially true when there is no dirt. When there is dirt in the initial location and none inthe other location, the world is clean after one step; no agent can do better. When thereis no dirt in the initial location but dirt in the other, the world is clean after two steps; noagent can do better. When there is dirt in both locations, the world is clean after threesteps; no agent can do better. (Note: in general, the condition stated in the first sentenceof this answer is much stricter than necessary for an agent to be rational.)b. The agent in (a) keeps moving backwards and forwards even after the world is clean.It is better to do NoOp once the world is clean (the chapter says this). Now, sincethe agent’s percept doesn’t say whether the other square is clean, it would seem thatthe agent must have some memory to say whether the other square has already beencleaned. To make this argument rigorous is more difficult—for example, could theagent arrange things so that it would only be in a clean left square when the right squarewww.elsolucionario.netEXTERNAL MEMORYwas already clean? As a general strategy, an agent can use the environment itself asa form of external memory—a common technique for humans who use things likeappointment calendars and knots in handkerchiefs. In this particular case, however, thatis not possible. Consider the reflex actions for [A, Clean] and [B, Clean]. If either ofthese is NoOp, then the agent will fail in the case where that is the initial percept butthe other square is dirty; hence, neither can be NoOp and therefore the simple reflexagent is doomed to keep moving. In general, the problem with reflex agents is that theyhave to do the same thing in situations that look the same, even when the situationsare actually quite different. In the vacuum world this is a big liability, because everyinterior square (except home) looks either like a square with dirt or a square withoutdirt.c. If we consider asymptotically long lifetimes, then it is clear that learning a map (insome form) confers an advantage because it means that the agent can avoid bumpinginto walls. It can also learn where dirt is most likely to accumulate and can devisean optimal inspection strategy. The precise details of the exploration method neededto construct a complete map appear in Chapter 4; methods for deriving an optimalinspection/cleanup strategy are in Chapter 21.2.3a. An agent that senses only partial information about the state cannot be perfectly rational.False. Perfect rationality refers to the ability to make good decisions given the sensorinformation received.b. There exist task environments in which no pure reflex agent can behave rationally.True. A pure reflex agent ignores previous percepts, so cannot obtain an optimal stateestimate in a partially observable environment. For example, correspondence chess isplayed by sending moves; if the other player’s move is the current percept, a reflex agentcould not keep track of the board state and would have to respond to, say, “a4” in thesame way regardless of the position in which it was played.c. There exists a task environment in which every agent is rational.True. For example, in an environment with a single state, such that all actions have thesame reward, it doesn’t matter which action is taken. More generally, any environmentthat is reward-invariant under permutation of the actions will satisfy this property.d. The input to an agent program is the same as the input to the agent function.False. The agent function, notionally speaking, takes as input the entire percept sequence up to that point, whereas the agent program takes the current percept only.e. Every agent function is implementable by some program/machine combination.False. For example, the environment may contain Turing machines and input tapes andthe agent’s job is to solve the halting problem; there is an agent function that specifiesthe right answers, but no agent program can implement it. Another example would bean agent function that requires solving intractable problem instances of arbitrary size inconstant time.www.elsolucionario.net10Chapter2.Intelligent Agentsf. Suppose an agent selects its action uniformly at random from the set of possible actions.There exists a deterministic task environment in which this agent is rational.True. This is a special case of (c); if it doesn’t matter which action you take, selectingrandomly is rational.g. It is possible for a given agent to be perfectly rational in two distinct task environments.True. For example, we can arbitrarily modify the parts of the environment that areunreachable by any optimal policy as long as they stay unreachable.h. Every agent is rational in an unobservable environment.False. Some actions are stupid—and the agent may know this if it has a model of theenvironment—even if one cannot perceive the environment state.i. A perfectly rational poker-playing agent never loses.False. Unless it draws the perfect hand, the agent can always lose if an opponent hasbetter cards. This can happen for game after game. The correct statement is that theagent’s expected winnings are nonnegative.2.4 Many of these can actually be argued either way, depending on the level of detail andabstraction.A. Partially observable, stochastic, sequential, dynamic, continuous, multi-agent.B. Partially observable, stochastic, sequential, dynamic, continuous, single agent (unlessthere are alien life forms that are usefully modeled as agents).C. Partially observable, deterministic, sequential, static, discrete, single agent. This can bemulti-agent and dynamic if we buy books via auction, or dynamic if we purchase on along enough scale that book offers change.D. Fully observable, stochastic, episodic (every point is separate), dynamic, continuous,multi-agent.E. Fully observable, stochastic, episodic, dynamic, continuous, single agent.F. Fully observable, stochastic, sequential, static, continuous, single agent.G. Fully observable, deterministic, sequential, static, continuous, single agent.H. Fully observable, strategic, sequential, static, discrete, multi-agent.2.5MOBILE AGENTThe following are just some of the many possible definitions that can be written:• Agent: an entity that perceives and acts; or, one that can be viewed as perceiving andacting. Essentially any object qualifies; the key point is the way the object implementsan agent function. (Note: some authors restrict the term to programs that operate onbehalf of a human, or to programs that can cause some or all of their code to run onother machines on a network, as in mobile agents.)• Agent function: a function that specifies the agent’s action in response to every possiblepercept sequence.• Agent program: that program which, combined with a machine architecture, implements an agent function. In our simple designs, the program takes a new percept oneach invocation and returns an action.www.elsolucionario.net11• Rationality: a property of agents that choose actions that maximize their expected utility, given the percepts to date.• Autonomy: a property of agents whose behavior is determined by their own experiencerather than solely by their initial programming.• Reflex agent: an agent whose action depends only on the current percept.• Model-based agent: an agent whose action is derived directly from an internal modelof the current world state that is updated over time.• Goal-based agent: an agent that selects actions that it believes will achieve explicitlyrepresented goals.• Utility-based agent: an agent that selects actions that it believes will maximize theexpected utility of the outcome state.• Learning agent: an agent whose behavior improves over time based on its experience.2.6 Although these questions are very simple, they hint at some very fundamental issues.Our answers are for the simple agent designs for static environments where nothing happenswhile the agent is deliberating; the issues get even more interesting for dynamic environments.a. Yes; take any agent program and insert null statements that do not affect the output.b. Yes; the agent function might specify that the agent print true when the percept is aTuring machine program that halts, and false otherwise. (Note: in dynamic environments, for machines of less than infinite speed, the rational agent function may not beimplementable; e.g., the agent function that always plays a winning move, if any, in agame of chess.)c. Yes; the agent’s behavior is fixed by the architecture and program.d. There are 2n agent programs, although many of these will not run at all. (Note: Anygiven program can devote at most n bits to storage, so its internal state can distinguishamong only 2n past histories. Because the agent function specifies actions based on percept histories, there will be many agent functions that cannot be implemented becauseof lack of memory in the machine.)e. It depends on the program and the environment. If the environment is dynamic, speeding up the machine may mean choosing different (perhaps better) actions and/or actingsooner. If the environment is static and the program pays no attention to the passage ofelapsed time, the agent function is unchanged.2.7The design of goal- and utility-based agents depends on the structure of the task environment. The simplest such agents, for example those in chapters 3 and 10, compute theagent’s entire future sequence of actions in advance before acting at all. This strategy worksfor static and deterministic environments which are either fully-known or unobservableFor fully-observable and fully-known static environments a policy can be computed inadvance which gives the action to by taken in any given state.www.elsolucionario.net12Chapter2.Intelligent Agentsfunction G OAL -BASED -AGENT( percept ) returns an actionpersistent: state, the agent’s current conception of the world statemodel , a description of how the next state depends on current state and actiongoal , a description of the desired goal stateplan, a sequence of actions to take, initially emptyaction, the most recent action, initially nonestate ← U PDATE -S TATE(state, action , percept , model )if G OAL -ACHIEVED(state,goal ) then return a null actionif plan is empty thenplan ← P LAN(state,goal ,model )action ← F IRST (plan)plan ← R EST(plan)return actionFigure S2.1A goal-based agent.For partially-observable environments the agent can compute a conditional plan, whichspecifies the sequence of actions to take as a function of the agent’s perception. In the extreme, a conditional plan gives the agent’s response to every contingency, and so it is a representation of the entire agent function.In all cases it may be either intractable or too expensive to compute everything out inadvance. Instead of a conditional plan, it may be better to compute a single sequence ofactions which is likely to reach the goal, then monitor the environment to check whether theplan is succeeding, repairing or replanning if it is not. It may be even better to compute onlythe start of this plan before taking the first action, continuing to plan at later time steps.Pseudocode for simple goal-based agent is given in Figure S2.1. G OAL -ACHIEVEDtests to see whether the current state satisfies the goal or not, doing nothing if it does. P LANcomputes a sequence of actions to take to achieve the goal. This might return only a prefixof the full plan, the rest will be computed after the prefix is executed. This agent will act tomaintain the goal: if at any point the goal is not satisfied it will (eventually) replan to achievethe goal again.At this level of abstraction the utility-based agent is not much different than the goalbased agent, except that action may be continuously required (there is not necessarily a pointwhere the utility function is “satisfied”). Pseudocode is given in Figure S2.2.2.8 The file “agents/environments/vacuum.lisp” in the code repository implements the vacuum-cleaner environment. Students can easily extend it to generate differentshaped rooms, obstacles, and so on.2.9 A reflex agent program implementing the rational agent function described in the chapter is as follows:(defun reflex-rational-vacuum-agent (percept)(destructuring-bind (location status) perceptwww.elsolucionario.net13function U TILITY-BASED -AGENT( percept ) returns an actionpersistent: state, the agent’s current conception of the world statemodel , a description of how the next state depends on current state and actionutility − function, a description of the agent’s utility functionplan, a sequence of actions to take, initially emptyaction, the most recent action, initially nonestate ← U PDATE -S TATE(state, action , percept , model )if plan is empty thenplan ← P LAN(state,utility − function,model )action ← F IRST(plan)plan ← R EST(plan)return actionFigure S2.2A utility-based agent.(cond ((eq status ’Dirty) ’Suck)((eq location ’A) ’Right)(t ’Left))))For states 1, 3, 5, 7 in Figure 4.9, the performance measures are 1996, 1999, 1998, 2000respectively.2.10a. No; see answer to 2.4(b).b. See answer to 2.4(b).c. In this case, a simple reflex agent can be perfectly rational. The agent can consist ofa table with eight entries, indexed by percept, that specifies an action to take for eachpossible state. After the agent acts, the world is updated and the next percept will tellthe agent what to do next. For larger environments, constructing a table is infeasible.Instead, the agent could run one of the optimal search algorithms in Chapters 3 and 4and execute the first step of the solution sequence. Again, no internal state is required,but it would help to be able to store the solution sequence instead of recomputing it foreach new percept.2.11a. Because the agent does not know the geography and perceives only location and localdirt, and cannot remember what just happened, it will get stuck forever against a wallwhen it tries to move in a direction that is blocked—that is, unless it randomizes.b. One possible design cleans up dirt and otherwise moves randomly:(defun randomized-reflex-vacuum-agent (percept)(destructuring-bind (location status) percept(cond ((eq status ’Dirty) ’Suck)(t (random-element ’(Left Right Up Down))))))www.elsolucionario.net14ChapterFigure S2.3the squares.2.Intelligent AgentsAn environment in which random motion will take a long time to cover allThis is fairly close to what the RoombaTM vacuum cleaner does (although the Roombahas a bump sensor and randomizes only when it hits an obstacle). It works reasonablywell in nice, compact environments. In maze-like environments or environments withsmall connecting passages, it can take a very long time to cover all the squares.c. An example is shown in Figure S2.3. Students may also wish to measure clean-up timefor linear or square environments of different sizes, and compare those to the efficientonline search algorithms described in Chapter 4.d. A reflex agent with state can build a map (see Chapter 4 for details). An online depthfirst exploration will reach every state in time linear in the size of the environment;therefore, the agent can do much better than the simple reflex agent.The question of rational behavior in unknown environments is a complex one but it isworth encouraging students to think about it. We need to have some notion of the priorprobability distribution over the class of environments; call this the initial belief state.Any action yields a new percept that can be used to update this distribution, movingthe agent to a new belief state. Once the environment is completely explored, the beliefstate collapses to a single possible environment. Therefore, the problem of optimalexploration can be viewed as a search for an optimal strategy in the space of possiblebelief states. This is a well-defined, if horrendously intractable, problem. Chapter 21discusses some cases where optimal exploration is possible. Another concrete exampleof exploration is the Minesweeper computer game (see Exercise 7.22). For very smallMinesweeper environments, optimal exploration is feasible although the belief statewww.elsolucionario.net15update is nontrivial to explain.2.12 The problem appears at first to be very similar; the main difference is that instead ofusing the location percept to build the map, the agent has to “invent” its own locations (which,after all, are just nodes in a data structure representing the state space graph). When a bumpis detected, the agent assumes it remains in the same location and can add a wall to its map.For grid environments, the agent can keep track of its (x, y) location and so can tell when ithas returned to an old state. In the general case, however, there is no simple way to tell if astate is new or old.2.13a. For a reflex agent, this presents no additional challenge, because the agent will continueto Suck as long as the current location remains dirty. For an agent that constructs asequential plan, every Suck action would need to be replaced by “Suck until clean.”If the dirt sensor can be wrong on each step, then the agent might want to wait for afew steps to get a more reliable measurement before deciding whether to Suck or moveon to a new square. Obviously, there is a trade-off because waiting too long meansthat dirt remains on the floor (incurring a penalty), but acting immediately risks eitherdirtying a clean square or ignoring a dirty square (if the sensor is wrong). A rationalagent must also continue touring and checking the squares in case it missed one on aprevious tour (because of bad sensor readings). it is not immediately obvious how thewaiting time at each square should change with each new tour. These issues can beclarified by experimentation, which may suggest a general trend that can be verifiedmathematically. This problem is a partially observable Markov decision process—seeChapter 17. Such problems are hard in general, but some special cases may yield tocareful analysis.b. In this case, the agent must keep touring the squares indefinitely. The probability thata square is dirty increases monotonically with the time since it was last cleaned, so therational strategy is, roughly speaking, to repeatedly execute the shortest possible tour ofall squares. (We say “roughly speaking” because there are complications caused by thefact that the shortest tour may visit some squares twice, depending on the geography.)This problem is also a partially observable Markov decision process.www.elsolucionario.netSolutions for Chapter 3Solving Problems by Searching3.1 In goal formulation, we decide which aspects of the world we are interested in, andwhich can be ignored or abstracted away. Then in problem formulation we decide how tomanipulate the important aspects (and ignore the others). If we did problem formulation firstwe would not know what to include and what to leave out. That said, it can happen that thereis a cycle of iterations between goal formulation, problem formulation, and problem solvinguntil one arrives at a sufficiently useful and efficient solution.3.2a. We’ll define the coordinate system so that the center of the maze is at (0, 0), and themaze itself is a square from (−1, −1) to (1, 1).Initial state: robot at coordinate (0, 0), facing North.Goal test: either |x| > 1 or |y| > 1 where (x, y) is the current location.Successor function: move forwards any distance d; change direction robot it facing.Cost function: total distance moved.The state space is infinitely large, since the robot’s position is continuous.b. The state will record the intersection the robot is currently at, along with the directionit’s facing. At the end of each corridor leaving the maze we will have an exit node.We’ll assume some node corresponds to the center of the maze.Initial state: at the center of the maze facing North.Goal test: at an exit node.Successor function: move to the next intersection in front of us, if there is one; turn toface a new direction.Cost function: total distance moved.There are 4n states, where n is the number of intersections.c. Initial state: at the center of the maze.Goal test: at an exit node.Successor function: move to next intersection to the North, South, East, or West.Cost function: total distance moved.We no longer need to keep track of the robot’s orientation since it is irrelevant to16www.elsolucionario.net17predicting the outcome of our actions, and not part of the goal test. The motor systemthat executes this plan will need to keep track of the robot’s current orientation, to knowwhen to rotate the robot.d. State abstractions:(i) Ignoring the height of the robot off the ground, whether it is tilted off the vertical.(ii) The robot can face in only four directions.(iii) Other parts of the world ignored: possibility of other robots in the maze, theweather in the Caribbean.Action abstractions:(i) We assumed all positions we safely accessible: the robot couldn’t get stuck ordamaged.(ii) The robot can move as far as it wants, without having to recharge its batteries.(iii) Simplified movement system: moving forwards a certain distance, rather than controlled each individual motor and watching the sensors to detect collisions.3.3a. State space: States are all possible city pairs (i, j). The map is not the state space.Successor function: The successors of (i, j) are all pairs (x, y) such that Adjacent(x, i)and Adjacent(y, j).Goal: Be at (i, i) for some i.Step cost function: The cost to go from (i, j) to (x, y) is max(d(i, x), d(j, y)).b. In the best case, the friends head straight for each other in steps of equal size, reducingtheir separation by twice the time cost on each step. Hence (iii) is admissible.c. Yes: e.g., a map with two nodes connected by one link. The two friends will swapplaces forever. The same will happen on any chain if they start an odd number of stepsapart. (One can see this best on the graph that represents the state space, which has twodisjoint sets of nodes.) The same even holds for a grid of any size or shape, becauseevery move changes the Manhattan distance between the two friends by 0 or 2.d. Yes: take any of the unsolvable maps from part (c) and add a self-loop to any one ofthe nodes. If the friends start an odd number of steps apart, a move in which one of thefriends takes the self-loop changes the distance by 1, rendering the problem solvable. Ifthe self-loop is not taken, the argument from (c) applies and no solution is possible.3.4 From http://www.cut-the-knot.com/pythagoras/fifteen.shtml, this proof applies to thefifteen puzzle, but the same argument works for the eight puzzle:Definition: The goal state has the numbers in a certain order, which we will measure asstarting at the upper left corner, then proceeding left to right, and when we reach the end of arow, going down to the leftmost square in the row below. For any other configuration besidesthe goal, whenever a tile with a greater number on it precedes a tile with a smaller number,the two tiles are said to be inverted.Proposition: For a given puzzle configuration, let N denote the sum of the total numberof inversions and the row number of the empty square. Then (N mod2) is invariant under anywww.elsolucionario.net18Chapter3.Solving Problems by Searchinglegal move. In other words, after a legal move an odd N remains odd whereas an even Nremains even. Therefore the goal state in Figure 3.4, with no inversions and empty square inthe first row, has N = 1, and can only be reached from starting states with odd N , not fromstarting states with even N .Proof: First of all, sliding a tile horizontally changes neither the total number of inversions nor the row number of the empty square. Therefore let us consider sliding a tilevertically.Let’s assume, for example, that the tile A is located directly over the empty square.Sliding it down changes the parity of the row number of the empty square. Now consider thetotal number of inversions. The move only affects relative positions of tiles A, B, C, and D.If none of the B, C, D caused an inversion relative to A (i.e., all three are larger than A) thenafter sliding one gets three (an odd number) of additional inversions. If one of the three issmaller than A, then before the move B, C, and D contributed a single inversion (relative toA) whereas after the move they’ll be contributing two inversions – a change of 1, also an oddnumber. Two additional cases obviously lead to the same result. Thus the change in the sumN is always even. This is precisely what we have set out to show.So before we solve a puzzle, we should compute the N value of the start and goal stateand make sure they have the same parity, otherwise no solution is possible.3.5 The formulation puts one queen per column, with a new queen placed only in a squarethat is not attacked by any other queen. To simplify matters, we’ll first consider the n–rooksproblem. The first rook can be placed in any square in column 1 (n choices), the second inany square in column 2 except the same row that as the rook in column 1 (n − 1 choices), andso on. This gives n! elements of the search space.For n queens, notice that a queen attacks at most three squares in any given column, soin column 2 there are at least (n − 3) choices, in column at least (n − 6) choices, and so on.Thus the state space size S ≥ n · (n − 3) · (n − 6) · · ·. Hence we haveS 3 ≥ n · n · n · (n − 3) · (n − 3) · (n − 3) · (n − 6) · (n − 6) · (n − 6) · · · ·≥ n · (n − 1) · (n − 2) · (n − 3) · (n − 4) · (n − 5) · (n − 6) · (n − 7) · (n − 8) · · · ·or S ≥= n!n!.3.6a. Initial state: No regions colored.Goal test: All regions colored, and no two adjacent regions have the same color.Successor function: Assign a color to a region.Cost function: Number of assignments.b. Initial state: As described in the text.Goal test: Monkey has bananas.Successor function: Hop on crate; Hop off crate; Push crate from one spot to another;Walk from one spot to another; grab bananas (if standing on crate).Cost function: Number of actions.www.elsolucionario.net19c. Initial state: considering all input records.Goal test: considering a single record, and it gives “illegal input” message.Successor function: run again on the first half of the records; run again on the secondhalf of the records.Cost function: Number of runs.Note: This is a contingency problem; you need to see whether a run gives an errormessage or not to decide what to do next.d. Initial state: jugs have values [0, 0, 0].Successor function: given values [x, y, z], generate [12, y, z], [x, 8, z], [x, y, 3] (by filling); [0, y, z], [x, 0, z], [x, y, 0] (by emptying); or for any two jugs with current valuesx and y, pour y into x; this changes the jug with x to the minimum of x + y and thecapacity of the jug, and decrements the jug with y by by the amount gained by the firstjug.Cost function: Number of actions.3.7a. If we consider all (x, y) points, then there are an infinite number of states, and of paths.b. (For this problem, we consider the start and goal points to be vertices.) The shortestdistance between two points is a straight line, and if it is not possible to travel in astraight line because some obstacle is in the way, then the next shortest distance is asequence of line segments, end-to-end, that deviate from the straight line by as littleas possible. So the first segment of this sequence must go from the start point to atangent point on an obstacle – any path that gave the obstacle a wider girth would belonger. Because the obstacles are polygonal, the tangent points must be at vertices ofthe obstacles, and hence the entire path must go from vertex to vertex. So now the statespace is the set of vertices, of which there are 35 in Figure 3.31.c. Code not shown.d. Implementations and analysis not shown.3.8a. Any path, no matter how bad it appears, might lead to an arbitrarily large reward (negative cost). Therefore, one would need to exhaust all possible paths to be sure of findingthe best one.b. Suppose the greatest possible reward is c. Then if we also know the maximum depth ofthe state space (e.g. when the state space is a tree), then any path with d levels remainingcan be improved by at most cd, so any paths worse than cd less than the best path can bepruned. For state spaces with loops, this guarantee doesn’t help, because it is possibleto go around a loop any number of times, picking up c reward each time.c. The agent should plan to go around this loop forever (unless it can find another loopwith even better reward).d. The value of a scenic loop is lessened each time one revisits it; a novel scenic sightis a great reward, but seeing the same one for the tenth time in an hour is tedious, notwww.elsolucionario.net20Chapter3.Solving Problems by Searchingrewarding. To accommodate this, we would have to expand the state space to includea memory—a state is now represented not just by the current location, but by a currentlocation and a bag of already-visited locations. The reward for visiting a new locationis now a (diminishing) function of the number of times it has been seen before.e. Real domains with looping behavior include eating junk food and going to class.3.9a. Here is one possible representation: A state is a six-tuple of integers listing the numberof missionaries, cannibals, and boats on the first side, and then the second side of theriver. The goal is a state with 3 missionaries and 3 cannibals on the second side. Thecost function is one per action, and the successors of a state are all the states that move1 or 2 people and 1 boat from one side to another.b. The search space is small, so any optimal algorithm works. For an example, see thefile “search/domains/cannibals.lisp”. It suffices to eliminate moves thatcircle back to the state just visited. From all but the first and last states, there is onlyone other choice.c. It is not obvious that almost all moves are either illegal or revert to the previous state.There is a feeling of a large branching factor, and no clear way to proceed.3.10 A state is a situation that an agent can find itself in. We distinguish two types of states:world states (the actual concrete situations in the real world) and representational states (theabstract descriptions of the real world that are used by the agent in deliberating about what todo).A state space is a graph whose nodes are the set of all states, and whose links areactions that transform one state into another.A search tree is a tree (a graph with no undirected loops) in which the root node is thestart state and the set of children for each node consists of the states reachable by taking anyaction.A search node is a node in the search tree.A goal is a state that the agent is trying to reach.An action is something that the agent can choose to do.A successor function described the agent’s options: given a state, it returns a set of(action, state) pairs, where each state is the state reachable by taking the action.The branching factor in a search tree is the number of actions available to the agent.3.11 A world state is how reality is or could be. In one world state we’re in Arad, in anotherwe’re in Bucharest. The world state also includes which street we’re on, what’s currently onthe radio, and the price of tea in China. A state description is an agent’s internal description of a world state. Examples are In(Arad) and In(Bucharest). These descriptions arenecessarily approximate, recording only some aspect of the state.We need to distinguish between world states and state descriptions because state description are lossy abstractions of the world state, because the agent could be mistaken aboutwww.elsolucionario.net

klutometis/aima: Solutions to AIMA (Artificial Intelligence: A Modern Approach)

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

키워드에 대한 정보 artificial intelligence a modern approach solution

다음은 Bing에서 artificial intelligence a modern approach solution 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See!

  • artificial intelligence a modern approach third edition solutions
  • artificial intelligence a modern approach third edition exercise solutions
  • MODERN APPROACH
  • AUTOMATIONS
  • review artificial intelligence a modern approach third edition solutions
  • honest opinion artificial intelligence a modern approach third edition solutions
  • this lecture provided an overview on artificial intelligence and took a deep dive on machine learnin
  • artificial intelligence and machine learning

Artificial #Intelligence #A #Modern #👉 #Artificial #Intelligence #A #Modern #Approach #Solutions #Must #See!


YouTube에서 artificial intelligence a modern approach solution 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 Artificial Intelligence A Modern 👉 Artificial Intelligence A Modern Approach Solutions Must See! | artificial intelligence a modern approach solution, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  Alquiler De Ferrari En Madrid | Alquiler De Ferrari En Madrid 73 개의 베스트 답변

Leave a Comment