English

Classical AI studies methods for representing a problem explicitly and using that representation to search, infer, or plan. A route planner describes locations, permitted moves, and costs; a theorem prover describes statements and inference rules; a scheduling system describes assignments and constraints. The useful starting question is: what must the system represent to choose a justified next step?

Symbolic describes representations with explicit structure and interpretation, such as a logical formula or an action with preconditions. It does not mean that all knowledge must be entered by hand or that numbers and learning are excluded. A search procedure can use a learned heuristic; a robot can combine learned perception with an explicit planner. Representation, inference, learning, and action are different design choices that can be combined.

This section develops state spaces, heuristics, knowledge bases, constraints, and plans. These concepts connect AI to algorithms (§2.6), logic (§3.1), and formal methods (§3.6). They help explain both successful systems and failures caused by leaving a relevant distinction out of the model.

Prerequisites: Basic graph algorithms (§2.6), sets and relations (§2.2), and propositional logic (§3.1). Learn A*, resolution, and planning here; they are not prerequisites for starting this section.

From the Founding Optimism to the Knowledge Representation Crisis

The 1956 Dartmouth project helped establish AI as a named research field. Its 1955 proposal was written by John McCarthy, Marvin Minsky, Nathaniel Rochester, and Claude Shannon. The participants brought different interests, including neural networks, learning, language, and symbolic problem solving. Nilsson’s history makes this diversity visible: AI did not begin as one unified method later replaced by learning.

Newell, Shaw, and Simon’s Logic Theorist demonstrated heuristic theorem proving. Their later General Problem Solver used means–ends analysis: compare the current and desired situations, then select operations that reduce a difference, introducing subgoals when necessary. The lasting contribution was to express problem solving as a search over representations and operators. Choosing those representations remained substantial work.

SRI’s Shakey robot made that work concrete. A mobile robot needed to turn observations into a world model, choose routes around obstacles, plan actions, and execute them through imperfect hardware. A* emerged from work on heuristic path search; STRIPS represented actions through preconditions and changes to facts. Perception, planning, and control had to agree about what a state and an action meant. A correct plan for an inaccurate map could still fail during execution.

Winograd’s SHRDLU showed how language processing, reasoning, and action could cooperate in a restricted blocks world. Its small domain supplied explicit objects, relations, and possible actions. Extending such a system required additional representations and procedures; a convincing demonstration in a controlled world did not establish open-domain language understanding. The lesson concerns the work hidden in specifying a domain, rather than a proof that symbolic methods cannot scale.

Expert systems made domain knowledge more explicit. DENDRAL used chemical knowledge to constrain the search for molecular structures; MYCIN explored rule-based reasoning about infections and treatment recommendations. XCON configured computer orders at Digital Equipment Corporation. These projects showed that useful expertise could be encoded, but acquiring, validating, and maintaining it was expensive. MYCIN’s research evaluations did not establish the effectiveness of routine clinical deployment. Success on a bounded task and integration into an institution were separate achievements.

The ALPAC report of 1966 and the Lighthill report of 1973 challenged particular programs, expectations, and funding priorities. Later commercial disappointment, the cost of maintaining expert systems, and competition from general-purpose workstations contributed to another contraction. The term “AI winter” summarizes changes in support; it should not imply that all research stopped or that one theorem caused every setback. Nilsson documents continued work and uneven effects across projects.

Different responses addressed different limitations. Cyc pursued explicit commonsense knowledge. Nonmonotonic reasoning studied conclusions that may need revision when new facts arrive. Bayesian networks represented joint probability distributions through conditional structure, making dependence assumptions and uncertain inference explicit. They did not make missing knowledge disappear or make all inference efficient. A probabilistic dependency also does not by itself establish a causal relation.

SAT solving illustrates progress within a difficult worst-case problem. Clause learning records consequences of conflicts so later search can avoid related failures. Its practical success depends on instance structure and implementation, without removing NP-completeness. SMT adds theories such as arithmetic and bit vectors. These methods connect AI research with verification and constraint solving across computer science.

AlphaGo combined policy and value networks with Monte Carlo tree search, using supervised learning and self-play in its development. The networks helped allocate search effort and evaluate positions; search used the game’s explicit rules to explore consequences. This combination illustrates how learned estimates and explicit computation can cooperate. Generating a language-model reasoning trace is a different mechanism and should be assessed on its own evidence, rather than assumed to implement the same search algorithm.

Search, Knowledge, Reasoning, and Planning

Search: States, Costs, and Heuristics

A search problem specifies states, an initial state, available actions, transition rules, a goal test, and a cost. State design matters: in a maze with locked doors, position alone is insufficient if carrying a key changes which moves are possible. Treating “same position, with key” and “same position, without key” as identical can discard the only solution.

A* orders candidates by f(n) = g(n) + h(n): the cost of the best discovered route to a state plus an estimate of the remaining cost. On a four-neighbor grid with unit move costs, Manhattan distance from (0,0) to (3,2) is 5. Obstacles may require a longer route, but cannot make fewer than five moves sufficient, so the estimate is admissible. A consistent heuristic also satisfies h(u) ≤ c(u,v) + h(v) for every edge, with zero at a goal. On a finite graph with nonnegative costs, this condition supports the usual A* implementation that closes states after expansion. With an admissible but inconsistent heuristic, improved routes may require reopening states. The Berkeley search project makes these conditions part of implementing the algorithm.

Setting h = 0 gives uniform-cost search. Better justified lower bounds can reduce expansions, but A* does not universally examine the fewest nodes of every possible algorithm. Pattern databases obtain lower bounds by solving abstractions of a problem. The abstraction and how bounds are combined must preserve the lower-bound property. Heuristic quality, memory use, and the cost of computing the heuristic all matter.

Minimax models an adversary selecting replies; alpha–beta pruning avoids branches that cannot change the fixed-depth minimax result. Good move ordering can save enough work to search deeper within a budget. Monte Carlo tree search instead uses repeated sampling and value estimates to allocate simulations among moves. Its evaluations may come from rollouts or learned models, and finite-budget estimates are not exact minimax guarantees.

Knowledge Representation: The Problem of Encoding What You Know

A representation specifies which distinctions the system can express. First-order logic represents objects, relations, functions, and quantified claims. Description logics restrict forms of description to support particular reasoning tasks. A knowledge graph records entities and relationships, but the graph alone does not determine how missing facts, conflicting sources, or inference should be handled. RDF graphs can be queried with SPARQL; other graph models use other query languages.

Missing information illustrates a consequential choice. If a database contains no record that a room is occupied, does that mean it is empty, or that occupancy is unknown? A closed-world convention treats specified missing facts as false; an open-world convention leaves them unknown. Neither convention is universally right. A booking system and an incomplete scientific knowledge base may need different assumptions.

The frame problem asks how to express what persists after an action without listing a separate non-change statement for every unrelated fact. Moving a box changes its location but normally leaves its color unchanged. STRIPS-style add/delete lists and logical successor-state axioms provide compact treatments under stated assumptions. They do not solve every problem of identifying relevant effects, exceptions, or unforeseen events. The distinction is between representing persistence within a model and knowing whether the model includes the effects that matter.

Uncertain evidence calls for additional machinery. A Bayesian network factors a joint distribution using conditional probabilities; a logical rule specifies an implication under its interpretation. A rule’s confidence score is not automatically a calibrated probability. Learning facts, estimating probabilities, and checking logical consequences can all be parts of one knowledge system.

Automated Reasoning and Planning

Resolution proves consequences by refutation: combine the premises with the negation of the proposed conclusion, transform them appropriately into clauses, and search for a contradiction. First-order resolution with unification is refutation complete under a suitable search strategy. This does not provide a terminating decision procedure for every first-order input. Prolog’s clause selection and depth-first execution can also fail to terminate even when another search order would find an answer.

SAT asks for a satisfying assignment to a propositional formula. SMT adds a theory specifying the meaning of operations on domains such as integers, arrays, or bit vectors. A returned assignment must be interpreted back in the application model. Unsatisfiability can reveal conflicting requirements; it can also reveal an encoding mistake. A timeout or “unknown” answer establishes neither satisfiability nor impossibility.

Classical planning describes actions through preconditions and effects. Suppose Move(A,B) requires At(A) and Clear(B), adds At(B), and deletes At(A). Other facts persist under the chosen action model. A plan is a sequence whose successive states satisfy each action’s preconditions and whose final state meets the goal. If obtaining a key is necessary to open a door, the planner must establish that precondition before using the doorway.

STRIPS made this representation explicit; PDDL supports describing planning domains and problems, with extensions for additional features. A bounded planning problem can also be encoded as SAT by representing states and actions at each step. Failure to find a plan of length at most ten does not establish that no longer plan exists. During execution, sensing, monitoring, and replanning address discrepancies between predicted and observed states. Planning and acting are therefore connected but distinct tasks.

What Studying This Changes

You should be able to separate a real task from its search or reasoning model. State which information determines available actions, which facts are assumed, what counts as a solution, and whether the objective asks for any solution or an optimal one. A model can be internally consistent while omitting a practical requirement.

Implement a small maze search with both h = 0 and Manhattan distance. Check path cost against a reference solver and record expanded states and peak frontier size. Then add keys and doors. Changing the state from a position to a position plus inventory demonstrates why representation can matter more than changing the search routine.

Connect these ideas to other methods: a learned model may supply a heuristic, a solver may check a generated candidate, and a planner may organize tool calls. Determine what each component guarantees and how failures are detected at their interfaces. Historical examples help identify these recurring design problems without predicting that every new approach must repeat the same outcome.

Resources

Books and Texts

Use Russell and Norvig’s Artificial Intelligence: A Modern Approach as the main reference for search, logic, planning, and probabilistic reasoning. Work through a search problem and a small planning domain before moving to specialized texts. Nilsson’s The Quest for Artificial Intelligence supplies historical context: its accounts of Shakey and expert systems show which practical problems motivated these methods.

Choose further reading by the question you need to answer. Pearl’s Heuristics develops search; Brachman and Levesque explain representation and inference; Ghallab, Nau, and Traverso connect planning models to action. Kroening and Strichman’s Decision Procedures introduces SAT and SMT. Pearl’s books on probabilistic reasoning and causality address different questions: predicting from observations and reasoning about interventions require different assumptions. Read Dreyfus and Marcus/Davis as arguments to assess against examples, rather than as proofs that a whole approach must fail.

Book Role Type
Russell & Norvig, Artificial Intelligence: A Modern Approach (4th ed.) Canonical comprehensive text Entry
Pearl, Heuristics: Intelligent Search Strategies Heuristic search foundations Depth
Brachman & Levesque, Knowledge Representation and Reasoning KR formal foundations Reference
Ghallab, Nau & Traverso, Automated Planning: Theory and Practice Planning standard text Depth
Ghallab, Nau & Traverso, Automated Planning and Acting Planning contemporary update Reference
Kroening & Strichman, Decision Procedures (2nd ed.) SAT/SMT foundations Reference
Biere et al., Handbook of Satisfiability (2nd ed.) SAT comprehensive reference Reference
Pearl, Probabilistic Reasoning in Intelligent Systems Probabilistic AI foundations Depth
Pearl, Causality (2nd ed.) Causal reasoning Depth
Dreyfus, What Computers Can’t Do Philosophical critique Auxiliary
Marcus & Davis, Rebooting AI Contemporary symbolic AI case Auxiliary
Minsky, The Society of Mind Emergent intelligence perspective Auxiliary

Courses and Lectures

The published materials for Berkeley CS188, Stanford CS221, and MIT 6.034 offer different routes through introductory AI. Choose one course as a sequence; use the others for a second explanation or an exercise. Search assignments are particularly useful when they ask you to explain the state representation and compare node expansions, rather than merely submit a working solver.

Course Platform Type
Stanford CS221 AI (free) Stanford / YouTube Entry
Berkeley CS188 AI (free) Berkeley / YouTube Entry
MIT 6.034 AI (free) MIT OCW Entry
CS50 AI with Python (free; edX verified certificate paid) Harvard / edX Practice

Practice, Tools, and Current Sources

Use Z3 for a small scheduling or constraint problem and inspect both satisfying assignments and cases with no solution. Use Fast Downward or a PDDL editor to separate the domain model from the search algorithm. A solver’s answer is about the constraints you supplied; an omitted constraint remains your modeling error.

For a search project, start with a maze or the 8-puzzle. Compare A* with a zero heuristic and with an admissible heuristic, checking solution cost as well as memory use. The 15-puzzle can then motivate memory-saving search such as IDA*. Read the AlphaGo papers to identify separately what the networks predict and what tree search computes; the documentary adds context but does not explain the algorithm in sufficient detail.

Resource Platform Type
Z3 Python API (free) pip install z3-solver Practice
Fast Downward planner (free) fast-downward.org Practice
SWI-Prolog quickstart (free) swi-prolog.org Practice
planning.domains PDDL editor and solver (free) planning.domains Practice
Wikidata SPARQL tutorial (free) wikidata.org Auxiliary
Silver et al., AlphaGo and AlphaZero papers (free) Neural evaluation and tree search Depth
McCarthy & Hayes, “Some Philosophical Problems” (1969, free) Frame problem and commonsense reasoning paper Depth
AlphaGo documentary (free) YouTube Auxiliary

Traps

Trap Why it misleads Better response
Treating classical AI as only historical Search, constraints, and explicit action models solve identifiable engineering tasks. Model a scheduling or navigation task, then compare a solver with a simple baseline.
Treating the frame problem as either trivial or universally unsolved Persistence has compact formal treatments, while relevance and unforeseen effects require additional modeling. State the action model and check which facts persist and which effects it omits.
Inferring practical impossibility from NP-completeness Worst-case hardness does not describe every structured or bounded instance. Inspect the instance family, available heuristics, and measured search cost.
Making neural and symbolic methods mutually exclusive Learning an estimate and searching with it are compatible operations. Identify representation, learning, inference, and checking as separate design choices.
Using a plausible heuristic without checking its guarantee Overestimation or inconsistent state handling can invalidate an optimality claim. Prove the required lower-bound or consistency property and test duplicate-state handling.

中文

古典 AI 研究怎样明确表示一个问题,再利用这种表示进行搜索、推理或规划。路径规划器描述位置、允许的移动及其成本;定理证明器描述语句与推理规则;排程系统描述任务分配与约束。可以从这个问题开始:系统必须表示哪些信息,才能有依据地选择下一步?

符号方法使用具有明确结构与解释的表示,例如逻辑公式,或带有前置条件的动作。这不意味着所有知识都必须手工输入,也不排斥数值与学习。搜索程序可以使用学出的启发式,机器人可以把学出的感知能力与显式规划器组合起来。表示、推理、学习和行动是可以组合的不同设计选择。

本节讨论状态空间、启发式、知识库、约束和计划。这些概念把 AI 与算法(§2.6)、逻辑(§3.1)、形式化方法(§3.6)连接起来,既帮助解释系统为何成功,也帮助定位模型漏掉重要区别时为何失败。

前置知识:基本图算法(§2.6)、集合与关系(§2.2)、命题逻辑(§3.1)。A*、归结和规划是本节要学的内容,不是开始学习的门槛。

从创始时期的乐观到知识表示危机

1956 年的 Dartmouth 项目帮助确立了以 AI 命名的研究领域。1955 年的提案由 John McCarthy、Marvin Minsky、Nathaniel Rochester 和 Claude Shannon 撰写。参与者关心的问题包括神经网络、学习、语言及符号问题求解。Nilsson 的历史叙述展示了这种多样性:AI 从一开始就包含多种方法,学习也是其中一条路线。

Newell、Shaw 和 Simon 的 Logic Theorist 展示了启发式定理证明。后来的 General Problem Solver 使用手段—目的分析:比较当前情形与目标情形,选择能缩小差异的操作,必要时引入子目标。其持续影响在于把问题求解表示成对状态和操作的搜索。选择合适的表示,本身仍是重要工作。

SRI 的 Shakey 机器人使这些问题变得具体。移动机器人需要把观测变成世界模型,绕过障碍物选择路线,规划动作,再通过有误差的硬件执行。A* 来自启发式路径搜索的研究;STRIPS 用前置条件及事实变化描述动作。感知、规划和控制必须对状态与动作的含义达成一致。即使计划相对于地图是正确的,地图不准确也会导致执行失败。

Winograd 的 SHRDLU 展示了语言处理、推理和行动怎样在受限的积木世界中配合。小领域提供了明确的对象、关系和可执行动作。扩展系统需要增加表示与处理过程;在受控世界中令人信服的演示,并不证明开放领域的语言理解已经实现。这里的教训是定义领域所需的工作,不能据此断言符号方法必然无法扩展。

专家系统进一步显式表达领域知识。DENDRAL 用化学知识约束分子结构搜索;MYCIN 探索基于规则的感染诊断与治疗建议;XCON 为 Digital Equipment Corporation 配置计算机订单。这些项目表明可以编码有用的专业知识,但知识获取、验证与维护成本很高。MYCIN 的研究评估不等于日常临床部署有效性的证据。在受限任务上成功,以及融入机构实际工作,是两项不同成就。

1966 年的 ALPAC 报告和 1973 年的 Lighthill 报告质疑了特定项目、预期与资助重点。后来,商业预期落空、专家系统维护成本,以及通用工作站的竞争,又促成一轮收缩。“AI 寒冬”概括的是支持力度的变化,不应使人以为所有研究都停止了,或所有挫折都由一个定理引起。Nilsson 记录了持续推进的研究,以及不同项目受到的不同影响。

不同的应对路线处理不同局限。Cyc 试图显式积累常识;非单调推理研究获得新事实后可能需要撤回的结论;贝叶斯网络用条件结构表示联合概率分布,使依赖假设和不确定推理明确起来。这些方法不会自动补齐知识,也不会使所有推理都变得高效。概率依赖本身也不确立因果关系。

SAT 求解说明了最坏情况困难的问题内部仍能取得进展。子句学习记录冲突的推论,让后续搜索避免相关失败。实用效果取决于实例结构与实现,并不消除 NP 完全性。SMT 再加入算术、位向量等理论。这些方法把 AI 研究与整个计算机科学中的验证、约束求解连接起来。

AlphaGo 把策略网络、价值网络与蒙特卡洛树搜索结合,在开发中使用监督学习和自我对弈。网络帮助分配搜索工作、评价局面;搜索则根据明确的游戏规则探索后果。这说明学出的估计与显式计算可以配合。语言模型生成推理过程属于不同机制,应根据自身证据评估,不能直接视为实现了同一种搜索算法。

搜索、知识、推理与规划

搜索:状态、成本与启发式

搜索问题规定状态、初始状态、可用动作、转移规则、目标检验和成本。状态设计很重要:在有锁门的迷宫中,如果持有钥匙会改变可用动作,仅记录位置就不够。把“同一位置、有钥匙”与“同一位置、无钥匙”视为相同状态,可能丢掉唯一解。

A* 按 f(n) = g(n) + h(n) 排列候选:到达状态的已发现最佳路径成本,加上剩余成本估计。在只能上下左右移动、每步成本为一的网格上,从 (0,0) 到 (3,2) 的曼哈顿距离为 5。障碍物可能要求绕路,却不能使少于五步成为可能,因此这个估计可采纳。一致启发式还要求每条边满足 h(u) ≤ c(u,v) + h(v),并在目标处取零。在边成本非负的有限图上,这支持通常那种扩展后关闭状态的 A* 实现。如果启发式可采纳但不一致,发现更好路径时可能需要重新打开状态。Berkeley 搜索项目把这些条件落实到算法实现中。

令 h = 0 就得到一致代价搜索。有依据的更好下界可以减少扩展,但 A* 并不普遍比所有可能算法都检查更少节点。模式数据库通过求解问题的抽象版本获得下界;抽象方式以及多个下界的组合方式都必须保持下界性质。启发式质量、内存占用,以及计算启发式本身的成本都重要。

Minimax 把对手建模为选择应对的一方;alpha–beta 剪枝跳过不会改变给定深度 minimax 结果的分支。良好的着法顺序可以节省工作,使同样预算支持更深搜索。蒙特卡洛树搜索则利用反复采样与价值估计,在着法之间分配模拟次数。估计可以来自 rollout 或学习模型;有限预算下的估计不具有精确 minimax 的保证。

知识表示:编码你所知道之物的问题

表示规定系统能够表达哪些区别。一阶逻辑表示对象、关系、函数和量化命题;描述逻辑限制描述形式,以支持特定推理任务。知识图谱记录实体与关系,但图本身不决定怎样处理缺失事实、冲突来源或推论。RDF 图可以用 SPARQL 查询,其他图模型则使用其他查询语言。

缺失信息体现了一项重要选择。数据库没有某房间已被占用的记录,意味着房间空着,还是占用情况未知?封闭世界约定把指定范围内未记录的事实当作假;开放世界约定则保留未知状态。两种约定都不是普遍正确的:预订系统与信息不完整的科学知识库可能需要不同假设。

框架问题问的是:怎样表达动作之后哪些事实保持不变,而不必为每个无关事实分别列出“不变”语句?移动箱子会改变位置,通常不改变颜色。STRIPS 式增加/删除列表,以及逻辑中的后继状态公理,在明确假设下提供了紧凑处理。它们并不解决识别相关影响、例外或意外事件的所有问题。要区分在模型内表示持续性,以及判断模型是否包含重要影响。

不确定证据需要额外机制。贝叶斯网络用条件概率分解联合分布;逻辑规则则在其解释下规定蕴含关系。规则的置信分数不会自动成为校准后的概率。学习事实、估计概率与检查逻辑推论,可以同时出现在一个知识系统中。

自动推理与规划

归结通过反驳证明推论:把前提与待证结论的否定放在一起,适当地转换为子句,再搜索矛盾。带合一的一阶归结在合适搜索策略下具有反驳完备性,但这并没有给出对所有一阶输入都会终止的判定过程。Prolog 的子句选择与深度优先执行也可能不终止,即使另一种搜索顺序能找到答案。

SAT 寻找命题公式的满足赋值。SMT 加入理论,规定整数、数组或位向量等领域中操作的含义。返回的赋值还需要解释回应用模型。不可满足可能暴露需求冲突,也可能暴露编码错误。超时或“未知”既不确立可满足,也不证明不可能。

古典规划用前置条件与效果描述动作。假设 Move(A,B) 要求 At(A) 和 Clear(B),执行后增加 At(B)、删除 At(A);在选定动作模型下,其他事实保持不变。计划是一串动作:逐步产生的状态满足下一动作的前置条件,最终状态满足目标。如果开门需要钥匙,规划器就必须先建立这个条件,再使用门口通道。

STRIPS 明确表达了这种表示;PDDL 支持描述规划领域与问题,并通过扩展表达更多特性。有步数上界的规划问题也可以编码成 SAT,用变量表示各步的状态和动作。找不到长度至多为十的计划,并不证明更长计划也不存在。执行时,感知、监控与重新规划处理预测状态与观测状态的差异。因此,规划与行动相互连接,但并非同一任务。

学习这一部分会改变什么

学完后,应能把实际任务与搜索或推理模型分开。说明哪些信息决定可用动作、假定哪些事实、什么算作解,以及目标要求任意解还是最优解。模型可以内部自洽,同时遗漏实际需求。

在小迷宫中分别实现 h = 0 与曼哈顿距离搜索。用参考求解器核对路径成本,记录扩展状态数与搜索边界的峰值大小,再加入钥匙和门。把状态从位置改成位置加物品记录,就能看见为什么表示有时比更换搜索程序更重要。

再把这些方法连接起来:学习模型可以提供启发式,求解器可以检查生成的候选,规划器可以组织工具调用。确定每个组件保证什么,以及如何在接口处发现失败。历史例子帮助识别反复出现的设计问题,并不预言每种新方法都会经历相同结局。

资源

书籍与文本

以 Russell 与 Norvig 的 Artificial Intelligence: A Modern Approach 为主要参考,学习搜索、逻辑、规划和概率推理。先做一个搜索问题和一个小型规划问题,再按需要阅读专门教材。Nilsson 的 The Quest for Artificial Intelligence 提供历史背景:其中关于 Shakey 和专家系统的叙述,有助于理解这些方法是为解决哪些实际问题而提出的。

按要解决的问题选择后续读物。Pearl 的 Heuristics 讲搜索;Brachman 与 Levesque 讲表示和推理;Ghallab、Nau 与 Traverso 将规划模型与行动联系起来。Kroening 与 Strichman 的 Decision Procedures 介绍 SAT 和 SMT。Pearl 关于概率推理和因果关系的两类著作处理不同问题:根据观察预测与推断干预结果,需要不同的假设。Dreyfus 和 Marcus/Davis 的论述适合结合实例分析,不应当作某一整类方法必然失败的证明。

书籍 作用 类型
Russell & Norvig, Artificial Intelligence: A Modern Approach (4th ed.) 经典综合教材 入门
Pearl, Heuristics: Intelligent Search Strategies 启发式搜索基础 深入
Brachman & Levesque, Knowledge Representation and Reasoning 知识表示形式基础 参考
Ghallab, Nau & Traverso, Automated Planning: Theory and Practice 规划标准教材 深入
Ghallab, Nau & Traverso, Automated Planning and Acting 规划的当代更新 参考
Kroening & Strichman, Decision Procedures (2nd ed.) SAT/SMT 基础 参考
Biere et al., Handbook of Satisfiability (2nd ed.) SAT 综合参考 参考
Pearl, Probabilistic Reasoning in Intelligent Systems 概率 AI 基础 深入
Pearl, Causality (2nd ed.) 因果推断 深入
Dreyfus, What Computers Can’t Do 哲学批判 辅助
Marcus & Davis, Rebooting AI 当代符号 AI 论点 辅助
Minsky, The Society of Mind 涌现智能视角 辅助

课程与讲座

Berkeley CS188、Stanford CS221 和 MIT 6.034 的公开材料提供了不同的 AI 入门路线。选一门作为学习顺序,其余用于补充解释或练习。搜索作业尤其值得做:除了得到一个能运行的求解器,还应解释状态表示,并比较展开的节点数。

课程 平台 类型
Stanford CS221 AI(免费) Stanford / YouTube 入门
Berkeley CS188 AI(免费) Berkeley / YouTube 入门
MIT 6.034 AI(免费) MIT OCW 入门
CS50 AI with Python(免费;edX 认证证书付费) Harvard / edX 实践

实践、工具与当前资料

用 Z3 表达一个小型排程或约束问题,同时检查可满足时的解和无解的情形。用 Fast Downward 或 PDDL 编辑器练习将领域模型与搜索算法分开。求解器回答的是你提供的约束;遗漏约束仍然是建模错误。

搜索项目可以从迷宫或八数码开始。比较零启发式与可采纳启发式下的 A*,同时核对解的成本和内存占用。之后再用十五数码理解 IDA* 等节省内存的搜索方法。阅读 AlphaGo 论文时,分别找出网络预测什么、树搜索计算什么;纪录片可以补充背景,但不能代替算法说明。

资源 平台 类型
Z3 Python API(免费) pip install z3-solver 实践
Fast Downward planner(免费) fast-downward.org 实践
SWI-Prolog quickstart(免费) swi-prolog.org 实践
planning.domains PDDL editor and solver(免费) planning.domains 实践
Wikidata SPARQL tutorial(免费) wikidata.org 辅助
Silver 等,AlphaGo 和 AlphaZero 论文(免费) 神经网络评估与树搜索 深入
McCarthy & Hayes, “Some Philosophical Problems”(1969,免费) 框架问题和常识推理论文 深入
AlphaGo documentary(免费) YouTube 辅助

陷阱

误区 为什么会误导 更好的做法
把古典 AI 只当作历史 搜索、约束与显式动作模型处理具体工程任务。 建模一个排程或导航问题,再把求解器与简单基线比较。
把框架问题视为琐事或全无解法 持续性已有紧凑的形式处理,相关性与意外影响仍需额外建模。 说明动作模型,检查哪些事实持续、遗漏了哪些影响。
从 NP 完全性推出实际不可能 最坏情况困难不描述每个具有结构或规模受限的实例。 考察实例类别、可用启发式及实测搜索成本。
把神经方法与符号方法视为互斥 学习估计与利用估计进行搜索可以配合。 分别识别表示、学习、推理和检查的设计选择。
只凭直觉使用启发式 高估或错误的重复状态处理可能破坏最优性主张。 证明所需下界或一致性性质,并测试重复状态处理。