You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python随机游走项目:如何设置Mi-Ma向南行走频率为其他方向两倍

随机游走代码调整方案

调整逻辑说明

你需求的核心是Mi-Ma选择向南方向的概率是其他方向的2倍,每步行走距离统一为1格,对应你的代码框架只需要修改两个点即可:


第一步:统一所有方向的单步位移为1格

检查RandomWalker类的方向定义,确保向南的步长和其他方向一致,都是1格,不要设置为2格:

class RandomWalker:
    directions = dict(
        North=[0, +1],
        South=[0, -1], # 这里y轴位移保持-1即可,不要修改为-2
        East=[+1, 0],
        West=[-1, 0],
    )

第二步:配置Mi-Ma的方向选择权重

random.choices方法的weights参数直接按比例控制各方向的选中概率,你只需要把Mi-Ma的向南权重设置为其他方向的2倍即可。找到get_walkers静态方法里的Mi-Ma实例化代码,确认参数配置如下:

walkers = {
    'Pa': RandomWalker('Pa', 1, 1, 1, 1, 'black', 'circle'),
    # 第一个参数对应向北权重=1,第二个参数对应向南权重=2,东、西权重各为1
    'Mi-Ma': RandomWalker('Mi-Ma', 1, 2, 1, 1, 'green', 'square'),
    'Reg': RandomWalker('Reg', 0, 0, 1, 1, 'red', 'triangle'),
}

这个配置下四个方向总权重为1+2+1+1=5,向南的选中概率为2/5,其他三个方向各为1/5,刚好满足向南概率是其他方向2倍的需求。


效果验证

你现有代码的take_walk方法已经原生支持按权重分配方向选择概率,不需要额外修改逻辑,调整完上述两个位置后运行代码即可得到符合需求的仿真结果。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:15:03