偏序计划一个可能的偏序计划是为每辆车先安装引擎再安装轮胎最后进行检查。即add_engine(E1, C1) → add_wheels(W1, C1) → inspect(C1) add_engine(E2, C2) → add_wheels(W2, C2) → inspect(C2)但两组动作之间的顺序未定。调度挑战由于资源有限例如只有一个轮胎安装工位add_wheels(W1, C1)和add_wheels(W2, C2)不能同时进行。调度器需要决定它们的执行顺序以及具体的开始时间以最小化总装配时间即完工时间同时满足所有资源约束。符号推理与数值计算在规划中处理时间和资源时我们面临一个核心挑战如何将符号逻辑推理与数值计算结合起来。经典规划器主要在符号层面操作如命题逻辑。然而持续时间如60秒和资源数量如1个是数值信息。计算总时间或检查资源冲突需要进行算术运算。代码示例 检查两个动作是否在时间上重叠。# 假设 action1 从 start1 开始持续 duration1# action2 从 start2 开始持续 duration2defactions_overlap(start1,duration1,start2,duration2):end1start1duration1 end2start2duration2# 如果两个时间段有交集则重叠returnnot(end1start2orend2start1)解决这种“跨界”问题的一种强大工具是可满足性模理论它允许在逻辑公式中嵌入算术等理论从而进行联合推理。这通常是更高级课程的内容。总结https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/ittlt-ai-fund/img/42e2be02dc5b5bd5cc0439835c274ff8_2.png本节课中我们一起学习了现实世界规划的基础。我们了解到真实的规划问题需要超越经典的原子动作序列必须整合时间和资源这两大要素。我们介绍了“先规划后调度”的方法论即先通过逻辑推理生成动作间的偏序关系再通过数值优化解决资源约束下的时序安排。最后我们指出了将符号推理与数值计算相结合的重要性这是处理复杂规划问题的关键。下一讲我们将继续深入探讨调度算法和更复杂的规划场景。