【发布时间】:2011-10-03 05:58:15
【问题描述】:
正如 Koza here 所述,我正在研究能够使用基因编程进行食物觅食行为的进化蚂蚁。每个时间步,我循环遍历每只蚂蚁,执行它的计算机程序(同一个程序被蚁群中的所有蚂蚁使用)。目前,我已经定义了简单的指令,如MOVE-ONE-STEP、TURN-LEFT、TURN-RIGHT 等。但我还有一个函数PROGN,它可以按顺序执行参数。我遇到的问题是因为PROGN 可以按顺序执行指令,这意味着蚂蚁可以在一个时间步内执行多个操作。与自然不同,我不能让蚂蚁并行运行,这意味着一只蚂蚁可能会去执行多个动作,操纵环境,而所有其他蚂蚁都在等待轮到他们。
我只是想知道,这是通常的做法,还是有更好的方法? Koza 似乎没有提及任何关于它的事情。问题是,我想扩展场景以拥有其他代理(例如敌人),这可能依赖于在单个时间步中仅发生一次的事情。
【问题讨论】:
-
澄清一下:
PROGN是一组指令。目前,PROGN中的所有指令都在一个时间步中运行,但PROGN程序中的 n 指令最好在 n 中运行时间步长。这个总结正确吗?
标签: genetic-algorithm genetic-programming evolutionary-algorithm ant-colony