Above is the cover image, and below, in roughly left-to-right, top-to-bottom order, are
reprints of parts of the cover. You can get a really-big
version of some of the images
by clicking on them.
Garry Kasparov, playing black, was
forced to resign the decisive game 6, making this the first time a
computer had beaten a world champion in a chess match. (Photo by Stan Honda/Getty Images.)
The Honda Asimo robot. (Photo by Shutterstock.)
Thomas Bayes (1702--1761), whose
ideas about probability as a measure of belief underlie much of modern AI technology. (Image from Library of Congress.)
A view from the Berkeley campus of the Campanile (Sather Tower) and the Golden Gate Bridge.
Image by Ian Parker.
The twin Mars Exploration
Rovers, Spirit and Opportunity, are two of the most successful
robots of all time. (Image courtesy of NASA.)
We make it a tradition to show a copy of the book on the cover of
the book. Here is the original picture before the third edition cover
was photoshopped in. (Photo by Peter Norvig. Model: Bella Norvig.)
Alan Turing, who described the Turing Test and did fundamental work in Artificial Intelligence and the theory of computation. (Photo from Time Life/Getty.)
Shakey with project leader Charles Rosen. (Photo from Time Life/Getty.)
But how does it happen that thinking is sometimes accompanied by
action and sometimes not, sometimes by motion, and sometimes not? It
looks as if almost the same thing happens as in the case of reasoning
and making inferences about unchanging objects. But in that case the
end is a speculative proposition ... whereas here the
conclusion which results from the two premises is an action.
... I need covering; a cloak is a covering. I need a cloak.
What I need, I have to make; I need a cloak. I have to make a cloak.
And the conclusion, the ``I have to make a cloak,'' is an action.
(Bust from National Museum of Rome.)
type SeismicEvent ;
origin R3Vector EventLocation(SeismicEvent);
origin Real EventTime(SeismicEvent);
random Real EventMagnitude(SeismicEvent);
random Boolean EventNaturalOrigin(SeismicEvent)
type Detection ;
origin SeismicEvent Source(Detection);
origin Station DetectedAt(Detection);
random Real DetectedAmplitude(Detection);
random Real DetectedAzimuth(Detection);
random Real DetectedSlowness(Detection);
random Real DetectedOnsetTime(Detection);
guaranteed Station Station1, Station2, Station3, Station4;
nonrandom R2Vector StationLocation(Station);
#SeismicEvent(EventLocation = xyz, EventTime = t) ~ EventPoissonLambda(xyz);
EventMagnitude(event) ~ GutenbergRichter(-1,Offset(EventLocation(event)));
#Detection(Source = event, DetectedAt = station)
~ EventDetectionDistrib(EventLocation(event), StationLocation(station),
// False Alarms
#Detection(DetectedAt = station, DetectedOnsetTime = time)
EventTime(Source(det)) + TravelTimeDistrib(EventLocation(Source(det)), StationLocation(DetectedAt(det)))
// observations :
guaranteed Detection det1, det2, ..., det138
obs DetectedTime(det1) = ..
obs DetectedSlowness(det1) = ..
obs DetectedAzimuth(det1) = ..
obs DetectedAmplitude(det1) = ..
obs DetectedTime(det2) = ..
obs DetectedAmplitude(det138) = ..