Artificial Intelligence: A Modern Approach
Encyclopedia
Artificial Intelligence: A Modern Approach (AIMA) is a college textbook on Artificial Intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...

, written by Stuart J. Russell
Stuart J. Russell
Stuart Russell is a computer scientist known for his contributions to artificial intelligence.Stuart Russell was born in Portsmouth, England. He received his Bachelor of Arts degree with first-class honours in Physics from Wadham College, Oxford in 1982, and his Ph.D. in Computer Science from...

 and Peter Norvig
Peter Norvig
Peter Norvig is an American computer scientist. He is currently the Director of Research at Google Inc.-Educational Background:...

. The third edition of the book was released 11 December 2009. It is used in over 1100 universities worldwide and has been called "the most popular artificial intelligence textbook in the world".

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.

Chapters

Artificial Intelligence: A Modern Approach is divided into seven parts with a total of 27 chapters. 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.
  • 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.
  • Part III: Knowledge and Reasoning - 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 Parts III and IV 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 neural network.
  • Part VI: Communicating, Perceiving and Acting - 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 the views of those philosophers who believe that AI can never succeed are given discussion.

Code

Programs in the book are presented in pseudo code with implementations in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, and Lisp available online. There are also unsupported implementations in Prolog
Prolog
Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of...

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, and C#.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK