我在2D中创建了一个进化 - 人造 - 生命 - 模拟游戏(纯粹是出于娱乐目的)。它结合了神经网络(用于行为控制)和遗传算法(用于育种和突变)。
在输入时,我给它们最近食物的X,Y位置(标准化)和&#34的X,Y位置;看看"矢量。
目前他们飞来飞去,当他们与食物发生碰撞时(让我们称之为#34;吃苹果")他们的健康指数增加了一倍,苹果的位置变得平庸 - 之后2000转变GA中断并发挥其魔力 大约100代后,他们了解到吃苹果是好的,并试图飞到最近的地方。
但我的问题,作为一个神经网络新手,是 - 如果我创建了一个房间,苹果产生的方式比地图的其他部分更频繁,他们会学习和理解吗?他们会经常飞到那个房间吗?是否有可能告诉他们需要多少代才能学习?
答案 0 :(得分:1)
他们可以学到什么以及速度有多快取决于您为他们提供的信息。例如,如果他们无法知道他们是在食物更频繁产生的房间里,那么就没有办法让他们更频繁地去那里。
从你的问题来看,“看看”矢量是什么并不完全清楚。例如,如果它向他们展示了直接在他们面前的东西,那么它们可能足以让他们知道他们在充足的房间里,特别是如果那个房间以某种方式“看起来”独特。提供它们的更有用的输入可能是它们当前的X和Y坐标。如果你这样做了,那么我肯定会期望他们更频繁地进入好房间(当然是好的比例),因为他们有可能采取行动去留下来。那个房间。
至于需要多少代,这是非常难以预测的(特别是在不了解您的设置的情况下)。如果它需要100代才能学会吃食物,那么我预计它将达到数百种。但最好的方法就是试一试。
答案 1 :(得分:1)
如果一切都与位置有关,他们可能会在他们的脑海中保持地图的状态,简单的统计数据将让他们了解食物的位置。神经网络在那里是一种矫枉过正。
如果有其他位置特征(例如颜色,气味,高度等......)将这些特征映射到标签(食物存在与否)对神经网络有益。特别是如果目前某些功能不可用或不可靠的话。
如果他们需要很多决定来实现目标,那么你需要强化学习。例如,他们可能会走向一段时间有利的方向,但要让他们远离以后需要的资源。
答案 2 :(得分:0)
我相信一个反复出现的神经网络可以学会期望苹果在某个地区产卵。