有没有人写过任何代码,应用程序在其生命周期中学习和改进自身(使用存储在 KB 中的观察数据),是否有任何框架?
4 回答
我曾经写过一个学习Tic Tac Toe
(或Noughts and Crosses
)游戏。这算不算?
它基本上维护了一个 3 9元素数组,用于每个游戏状态。在每场比赛结束时,如果它赢了,它将在该比赛期间的所有状态中添加一个。或者如果它丢失了则减去一个(包括旋转和镜像以加快学习速度)。
在决定移动时,它只需要参考几种可能性,然后选择得分最高的一种。
它最终变得相当好,但不是通过扮演一个人,这花费了太长时间。它必须松散地玩自己的另一个副本,一个随机机器人和一个硬编码规则机器人,用于成千上万的游戏。
当我释放它时,它有 10 个初始智力水平,它们只是学习过程中的不同阶段。
我儿子目前正在对抗最愚蠢的水平 - 他只有四岁,所以我不想对他太粗暴,所以他们会一起学习(虽然他偶尔会击败我Connect Four
,所以也许我应该施加更大的压力在他身上)。
我建议开始在网络上查看很多高级 AI 主题:这些主题包括神经网络、基因编程等(维基百科)。
值得关注的地方还包括大学对更高水平人工智能的研究。(即。我知道一个团队编写了一个程序,该程序通过使计算机用相机观察钟摆来推断运动定律;非常酷的东西)http://blog.wired.com/wiredscience/2009/ 04/newtonai.html
这是一个非常大的领域,需要您编写大量代码;您真正应该关注的是学习算法背后的概念,这样您就可以对您找到的算法进行编程或调整以满足您的需求。我认为这将是您创建学习算法的最佳选择。
我希望这会有所帮助。