500-Artificial Intelligence-Stuart Russell- AI-1994
Barack
2023/12/31
"Artificial Intelligence", was first published in 1994. It is a college textbook on artificial intelligence. It has been called "the world's most popular artificial intelligence textbook" and is considered a standard text in the field of artificial intelligence. As of 2023, it is used in more than 1,500 universities worldwide and has more than 59,000 citations on Google Scholar. This book is intended for undergraduate readers, but can also be used for graduate-level research. The programs in the book are presented in pseudocode and can be used online Implemented in Java, Python, Lisp, JavaScript, and Scala.
Stuart Russell was born in Portsmouth, England in 1962. He studied at the University of Oxford (BA) and Stanford University (PhD). He is a British computer scientist known for his contributions to artificial intelligence (AI). He is a professor of computer science at the University of California, Berkeley, and an adjunct professor of neurosurgery at the University of California, San Francisco, from 2008 to 2011. He is the Smith-Zadeh Chair in Engineering at the University of California, Berkeley. He founded and directed the Center for Human-Compatible Artificial Intelligence (CHAI) at UC Berkeley.
Table of Contents
I Artificial Intelligence
1 Introduction
2 Intelligent Agents
II Problem-solving
3 Solving Problems by Searching
4 Search in Complex Environments
5 Constraint Satisfaction Problems
6 Adversarial Search and Games
III Knowledge, reasoning, and planning
7 Logical Agents
8 First-Order Logic
9 Inference in First-Order Logic
10 Knowledge Representation
11 Automated Planning
IV Uncertain knowledge and reasoning
12 Quantifying Uncertainty
13 Probabilistic Reasoning
14 Probabilistic Reasoning over Time
15 Making Simple Decisions
16 Making Complex Decisions
17 Multiagent Decision Making
18 Probabilistic Programming
V Machine Learning
19 Learning from Examples
20 Knowledge in Learning
21 Learning Probabilistic Models
22 Deep Learning
23 Reinforcement Learning
VI Communicating, perceiving, and acting
24 Natural Language Processing
25 Deep Learning for Natural Language Processing
26 Robotics
27 Computer Vision
VII Conclusions
28 Philosophy, Ethics, and Safety of AI
29 The Future of AI
When we think about how to make artificial intelligence, we should first clarify what “artificial intelligence” we are talking about. In the book, the author proposes two main dimensions to define artificial intelligence. The first dimension focuses on human behavior. From this perspective, artificial intelligence can be divided into two subcategories: one is intelligence that imitates human behavior, and the other is intelligence that can generate rationality. The second dimension is defined in terms of expression. According to this dimension, two subcategories can also be obtained, namely, intelligent thinking processes and intelligent behavior patterns. Combining these two dimensions, we can derive four different types of artificial intelligence: The first is intelligence that behaves like humans, that is, intelligence that passes the Turing test or the complete Turing test, which is designed to determine whether a machine can Through language or behavior, humans cannot tell the difference between them and real people; the second type is similar to humans in the thinking process, and this type of intelligence exhibits a human-like cognitive model; the third type is rule-based rationality Thinking, this type of intelligent agent thinks through logical rules; the last type is the display of rational behavior, this type of intelligent agent makes logical and rational responses in the physical environment based on external conditions. These four criteria not only help us understand different types of artificial intelligence but may also provide a reference for us to evaluate whether a product is an artificial intelligence. For example, AlphaGo in 2016 and ChatGPT in 2023 seem to focus more on rational thinking processes rather than directly imitating human behavior or thinking processes.
When discussing Intelligence, we further thought about what an agent is. The authors' definition of agency contains three key elements. First, the agent is able to receive environmental signals through sensors. Second, agents are able to influence the environment through actuators. Finally, there is a process of information processing between the agent receiving the signal and reacting. Taking humans as an example, we receive external information through our senses such as eyes and ears, and then respond through body parts such as hands and feet. The robot is similar. It may receive external information through a camera and then decide its movement direction. Even a static device like a computer, which cannot physically move, can respond to input signals by printing files or displaying images. The key here is that different agents may produce different outputs for the same input. In fact, the same is true for human beings. Under the same environment, different people have different reactions. This is the difference between the so-called "wise men" and "fools". It is the “intelligence” component of the agent that determines this difference. In other words, how an agent processes and interprets signals determines the performance and effect of its intelligence.
We first consider the simplest deterministic problem, such as the "Eight Queens Problem". The agent's processing flow can be roughly divided into four steps. The first is the formatting of the goal (Goal Formation). This step is similar to what we do when solving word problems, which is to abstract the problem into a clear mathematical problem, no matter how complex the daily life scenario it describes. The second step is Problem Formation. In this step, it is crucial to define the "status" of the problem and the possible "actions". The "status" may refer to the current node and its relationship with other nodes, and the "action" refers to deciding which node to go to next. The third step is Search. This usually involves an exhaustive or partially exhaustive approach, comparing the results of different actions to find the optimal solution. This is why this solution is mainly aimed at deterministic problems since we are searching almost the entire state space. The essence of a solution is a sequence of actions to achieve a goal. The fourth step is execution. In a computer program, this might mean displaying the final execution path or outputting the solution on the screen. Relatively speaking, implementation is usually a relatively straightforward and simple process. This four-step strategy is mainly suitable for deterministic problems, and these problems often have a clear optimal solution. However, in non-deterministic environments, the actions an agent should take may depend on further signals received from the environment. In this case, relying solely on the four steps above may not lead to the best decision.
Having considered in depth the steps for solving problems in deterministic environments, the next challenge we face is how to solve more complex problems. The complexity of a problem often stems from the complexity of the environment, which often means we need to think in an environment of uncertainty. In this environment, we find it difficult or unwilling to exhaust all possibilities at a high cost. A commonly used strategy when dealing with this type of problem is the so-called "greedy algorithm". In the greedy algorithm, we only consider the optimal next action every time we make a decision, and continue to find the local optimal solution. The intuitive feeling of this method is that it is a typical short-sighted behavior, and this short-sighted behavior relies heavily on luck. Especially when the environment is complex and full of multiple peaks and troughs, the local optimal solution may only allow us to reach one of the peaks, and this peak may be insignificant compared to the global optimal peak. Sometimes we may even hit a plateau where the outcome seems to be the same no matter what we choose, leaving us stuck. Randomness is something that relies on luck, and the way to improve overall luck is to increase the number of random times. After all, what we care about is only the best one among all the results of exploration. Therefore, faced with such a challenge, a common solution is "random restart", that is, starting the search at multiple different starting points to increase the possibility of finding the global optimal solution.
In the previous discussion, we explored ways to treat the state space as independent, atomic nodes when looking for problem-solving algorithms. For example, in the game of chess, moving the position of each chess piece by one square is a typical atomic operation. However, if we consider the state space in more detail, not treating it as an atomic operation, but abstracting the problem into Constraint Satisfaction Problems (CSP), we open up a new way of thinking. There are three main reasons for choosing to abstract practical problems into CSP: First, many problems in real life can be effectively abstracted into CSP problems. This abstraction makes the solution to the problem more universal, just like when we do mathematical applications When asking a question, the first thing to think about is, what is the essence of this problem? Is it a sequence problem, a plane geometry problem, or an algebra problem? Secondly, research in the past few decades has accumulated a large number of effective methods to solve CSP problems. If we can formulate a unique problem into a CSP problem, it is possible to find mature solutions from the existing tool library without having to invent new methods from scratch or design separate algorithms for each problem. Finally, the CSP method can greatly compress the search space. For example, in the map coloring problem, once the color of a certain area is determined, the colors of other adjacent areas are also determined, thus greatly reducing the search space. Perhaps when we look back in 10 years, we will be relatively confident that ChatGPT, which will cause a sensation in the industry in 2023, will be regarded as an important milestone in the development of artificial intelligence and even the entire technology field. One of the reasons for its popularity may be because of its versatility. Personal computers, the Internet, and mobile Internet, these solutions are extremely versatile. Therefore, when we face endless problems, it is an efficient method to abstractly summarize different problems into limited types and use mature tools in the tool library to solve them. If each problem is analyzed individually, not only is it inefficient, but the effectiveness of the solution may also be limited.