所以一共有多少种可能性呢? 我可以这样计算 可以说 在北面可以填三种可能性:空的,易拉罐,和墙 Robby可能发现自己的北方是空格子 或者是有一个易拉罐,或者是墙 这就是北面的三种可能性 南面也有相同的三种情况,以此类推 那么我可以把他们相乘 3乘以3乘以3 乘五次,对应五个,呃,四个方向 和当前位置,等于243 当然其中一些情况在现实世界中是永远不会发生的 墙,墙,墙,墙,墙 五个位置全都是墙 在我们建立的世界的规则中这是不可能的 但是对于遗传算法来说 我不会担心这点 我仅仅只是列出所有的可能性 即使有一些是不现实的 那么我们将会有总共243种可能的状态, 其中一些不是现实情况中可能的状态,但是没关系,一会就知道了 策略就是列出所有的可能性 附带着Robby应该采取的行动 对应着每一种可能的状态 那么这就是一个策略的例子 这我不会展示全部的243种可能性 但是我可以让电脑按规矩全部这样做 我在这填上了随机选择的一个动作 对每一个情况都填 好的,那么如果我们回看第一幅图, 我们可以看到Robby发现自己处于这样的情况:北面是墙,南面是空的 东面是易拉罐,西面是墙,当前位置是空的 然后我填了向西移动 那么Robby发现自己当前所处的情况并其服从这个策略 他就会向西移动,然后撞墙 我并没有说这是一个好策略,但是它是一种策略 它只是刚好是一个很差的策略 现在我可以问一个问题 Robby的分数在执行三次这个策略之后将会是多少 我们看到第一步,他撞了墙 在这个世界里他反弹到了和之前相同的位置 然后他发现自己处于完全相同的情况 很蠢,我承认很蠢,鉴于他在相同的情况, 他必须再次执行相同的动作。所以他会再次撞墙 一样地,在第三步,他会再次撞墙 他永远都学不会不撞墙 这样是有点蠢,但是他每次撞墙分数都会减5 所以他会在三步之后减掉15分 我们想要遗传算法做的是利用进化 淘汰掉这种真的很蠢的策略 并且发现好的策略 在我想你展示遗传算法是如何工作之前,让我们再做一个小测验 这是我们的小测验:我们有一个Robby的策略,只展示了两种相关的情况 Robby在这个起始位置,请问Rooby的分数是多少 在依照策略执行两个动作之后 那么你要做的就是找到表中的情况 对应着Robby当前状态的情况 执行策略指示的行动 然后在表中查询新的情况 执行情况对应的行动 然后给出他的分数将会是什么