我正在研究能够使用基因编程进行食物觅食行为的进化蚂蚁,正如 Koza在这里所描述的那样。每个时间步,我遍历每只蚂蚁,执行它的计算机程序(同一个程序被蚁群中的所有蚂蚁使用)。目前,我已经定义了简单的指令,如MOVE-ONE-STEP
、TURN-LEFT
、TURN-RIGHT
等。但我也有一个PROGN
按顺序执行参数的函数。我遇到的问题是,因为PROGN
可以按顺序执行指令,这意味着蚂蚁可以在一个时间步内执行多个操作。与自然不同,我不能并行运行蚂蚁,这意味着一只蚂蚁可能会去执行几个动作,操纵环境,而所有其他蚂蚁都在等待轮到他们。
我只是想知道,这是通常的做法,还是有更好的方法?Koza 似乎没有提及任何关于它的事情。问题是,我想扩展场景以拥有其他代理(例如敌人),这可能依赖于在单个时间步中仅发生一次的事情。