我一直致力于一个课程项目,我们使用FSM实现FPS,显示游戏的前2d视图,以及使用机器人,玩家和圈子。机器人的行为是确定性的。例如,如果机器人的健康状况下降到阈值以下,并且玩家可见,则机器人会逃跑,否则它会寻找健康包。
然而,我觉得在这种情况下,机器人并没有表现出太多智慧,因为它所做的大多数决定都是基于我们已经决定的规则。
我可以使用哪些其他技巧,这有助于我在机器人中实现一些真正的智能?我一直在关注HMM,我觉得它们可能有助于在机器人中带来更多的不确定性,并且机器人可能会开始在做出决策时更加自主,而不是依赖于预先定义的规则。
你们觉得怎么样?任何建议将不胜感激。
答案 0 :(得分:2)
我不认为使用隐藏的马尔可夫模型会更加自主。它只是遵循模型的更不透明的规则而不是状态机的显式规则。它仍然是确定性的。他们带来的唯一不确定性是观察者,他们没有简单的规则集来预测。
这并不是说它们不能有效使用 - 如果我没记错的话,FPS游戏的几个机器人使用这种系统向玩家学习并开发自己的AI。
但这确实完全取决于您希望使用该流程建模的内容。 AI并不是关于算法,而是关于表示。如果您所做的只是选择当前FSM所具有的相同状态并观察现有玩家的转换,那么您不可能获得比专家输入更仔细调整FSM规则的更好的系统。
鉴于你不会设法实现“一些真正的智慧”,因为目前认为这超出了现代科学,你想要创造什么?它是一个从自己的实验中学习的系统吗?通过观察人类受试者学习的系统?是故意引入不寻常的选择以使对手难以预测?