AI:一种计算机软件中的非确定性控制技术,是在当你不知道该做什么却想知道该如果做时应用。AI是一门在决策制定中处理并控制不确定性的学科。
环境术语,智能代理的四大属性
完全可观测(fully observable):
如果智能代理在任意时间点所能感知的环境信息,完全满足做出最优决策所需,该环境就被称为是完全可观测的。类似纸牌游戏自己手里的牌,所有这些牌的瞬时状态足以做出最佳决策。感知器总是可以看到环境的全部STATE。类似跳棋,棋盘上基本显示了你所需了解的一切,因此它是完全可观测的。 ### 部分可观测(partially observable) 与完全可观测相对,需要智能代理自身的记忆,已做出可能的最佳决策。类似扑克牌游戏中,桌上的纸牌并非完全公开,记住过去的出牌情况,会帮助你做出更好的决策。感知器只能看到环境的一部分STATE,但记住过去的观测可以提供对当前不可观测的状态的额外信息。 > 感应器的瞬时输入值,是需要通过记忆判断做出动作,还是直接做出动作。
确定性的(deterministic)
确定性环境指,在其中智能代理的行为,唯一的决定产生的结果。类似国际象棋中,完全不存在随机性,移动一颗棋子产生的效果完全是可预见的,移动同一颗棋,其结果将是一样的,称之为确定性。 ### 随机性的(stochastic) 相对于确定性环境,骰子游戏,例如双陆棋就是随机的。虽然走棋是确定性的,但取得一步棋的结果还涉及掷骰子,而你无法预测其结果,称之为随机性的。 > 判断从接收感应器数据,到做出动作,其状态是否为可预测的,不可预测为随机性。
离散(discrete)
一个离散的环境是指,其中只有有限多个行动选择,以及有限多个可感知的状态。类似国际象棋棋盘上的位置的数目是有限的,可以移动的步数也是有限的 ### 连续(continuous) 在连续的环境中,可采取的行动或可感知的状态,其空间可能是无限的。类似仍飞镖,将会有无限多个可以仍的角度,以及无限多种使之加速的方式 > 感应器收到数据后,是否有无数种方式进行下一步动作,无数则为连续。如转动任意度数的方向盘。
良性(benign)
在良性的环境中,环境可能是随机的,但其不包含,可能与自身目标相抵触的目标。类似天气是良性,它可能是随机的,它可能会影响你的行动的结果,单它的存在并不是为了对抗你。 ### 对抗性(adversarial) 相对于良性的,类似许多游戏,像象棋,你的对手在那就是为了对抗你。事实证明,在对抗性的环境中,对手积极观察你的目标并与之对抗,这时试图找到良好的行动。相比于或许随机但并不对你造成破坏的良性环境而言,要困难的多。 > 是否有对抗
示例
- 跳棋游戏是
- 完全可观测的(棋盘上基本显示了你所需了解的一切)
- 确定性的(没有随机性可言)
- 离散的
- 对抗性的
- 斗地主游戏是
- 部分可观测的(不能看到对手手里的牌)
- 随机性的(你处理的牌都是随机出现,随机分配的)
- 离散的(牌的数量是有限的,行为的数量也是有限的;虽然认为自己有无限种可能的下注方式,单它确实是有限的)
- 对抗性的(火药味十足)
- 自动驾驶
- 部分可观测的(如果只查看感应器的瞬时输入值,你甚至不能判断汽车的行驶速度,因此你需要记住某些信息(当前车速什么的))
- 随机性的(它和周围汽车下一刻的状态是不可预测的)
- 连续的(有无数种方式转动方向盘)
- 良性的
寻路问题,出发地->目的地S
- 初始状态为出发地A
动作(s)->{a1, a2, a3...}
输入一个状态,输出一个可能的动作集合结果(s, a)->s1
输入一个状态和动作,输出新的状态。状态为出发地A,行动为驾驶,线路G107朝途径地B,然后在途径地B得到结果:新状态在途径地B。目标测试(s)->True|False
测试状态是否为goal(目的地S),输入一个状态,输出True或False。路径成本(s->s->s)->n
各个步骤成本的总和。步骤成本(s, a, s1)->n
通过状态,动作以及动作产生的结果状态,输出数字n,是该步骤的成本。在示例中可能是公里数或到达目的地S的分钟数。
状态空间:所有的状态的集合
状态分为三部分: - 边疆,未探索的路径末端的集合(frontier) - 未探索区域(unexplored) - 已探索区域(explored)
广度优先,非算法单纯树查找出一条路径:

- 边疆为出发地A
- 方法删除边疆中的最后一个节点(出发地A),并返回节点的信息
- 判断节点是否为目标
- 得到节点状态的动作列表,循环动作列表
- 增加 被删除的节点(出发地A)通过动作到下一节点(途径地B)的结果 到边疆,边疆变为途径地B
未完待续...