从我所看到的关于神经网络和遗传算法的一切中,我注意到了一些事情:
神经网络非常善于在一定次数的迭代后收敛到一个解。GA善于在一定数量的世代之后找到问题的解决方案。然而,这里有一个时间复杂性的障碍,那就是神经网络和遗传算法本身的实际构建。这就是实际技能和理解的来源:考虑节点、权重、激活函数等。对于遗传算法,这是适应度函数、误差值等。这一切都由问题域本身决定。
我的建议是找到一种通用算法,它可以接受问题陈述,例如"创建一个模拟无网篮球比赛的程序,并找到有效比赛的最佳策略",并使用数据库、统计学、分类系统、逻辑、决策论和数学的组合来创建神经网络或遗传算法。
至少部分解决该问题的一种可能方法是建立一个问题域数据库,以及用于该问题的现有神经网络和遗传算法。
数据库可能具有以下属性:
Problem statement : VARCHAR,
Problem domain : VARCHAR,
numLayers : INT,
NNTree : TREE,
numNodes : INT,
activationFunct : LIST
当用户指定程序语句时,程序必须将其分解为元素。例如,"学习游戏有效策略的网球模拟器",
分为Netball[游戏规则已知]、模拟器[意味着2d或3d图形,图形的预定义对象]、有效[被解释为最优,影响所使用的激活函数]、策略[被解释成对象的紧急行为]、游戏[被解释为由目标导向的行动列表]
为此需要什么数据结构或算法?
如果有人能解决这个问题,他实际上就是无中生有。没有(在我看来也永远不会)自动发现选择解决问题方法的方法。这将以问题的解决方案已知为前提。在这种情况下,发现解决问题的方法是没有意义的。。。
希望我能帮上忙!