One goal of modern computer science is to engineer computer programs that can act as autonomous, rational agents; software that can independently make good decisions about what actions to perform on our behalf and execute those actions. Applications range from small programs that intelligently search the Web buying and selling goods via electronic commerce, to autonomous space probes. This book…