这是一个模拟,它使用人工智能(具体来说:遗传算法)来尝试制造越来越好的车辆。车辆必须克服障碍,从一些小山坡开始,然后是更陡峭的山坡,最后是一些跳跃。车辆由面板和轮子制成,连接在一起,类似于游戏围攻,除了 2D。
传算法
快速了解它的工作原理:
车辆数量最初是随机生成的。
模拟在所有车辆上运行。车辆越过障碍路线,其适应度就越高。如果车辆没有离开起始区域,它的适应度为 0。如果车辆一直到达终点线,它的适应度约为 14000。如果车辆分崩离析,则将其适应度除以 10,对其进行惩罚;车辆应尽量保持完好。此外,还设置了一个计时器,因此车辆只有一定的时间才能到达终点线。
这些车辆经历了交叉和变异的过程,更适合的车辆被用作父母的机会更高。该程序使用锦标赛选择来选择父母,并使用单点交叉从两个父母产生后代(这意味着,给定两个父母车辆 A 和 B,A 的左侧与右侧B,反之亦然,创建两辆新车)。此外,块是统一变异的(这意味着块被随机挑选并更改为空气、面板或轮子)。结果是新的车辆数量,进入了新一代。
转到第 2 步。无限重复。
理想情况下,在足够频繁地重复这些步骤之后,人群的适应度应该会提高,并且许多车辆
2022-06-11 14:03:35
1.99MB
算法
rust