【发布时间】:2021-05-16 17:44:58
【问题描述】:
我正在研究基于代理的模型,在该模型中,代理可以有一定概率选择不同的路线。对于每条路线,都有多个路径点(即p1, p2, ..., p_end)。目前,我将其表示为 JSON 文件,例如:
{
"paths": [
{"[p3, p4, p_end]": 0.25},
{"[p3, p2, p1, p_end]": 0.25},
{"[p3, p4, p5, p7, p5, p_end]": 0.1},
{"[p3, p4, p5, p7, p8, p5, p_end]": 0.1},
{"[p3, p4, p5, p7, p10, p5, p_end]": 0.3}
]
}
其中每个字典键是一个路由,其值是关联概率。
但是,我有比这更多的路由选项(即 50-100),我想知道是否有更好的方法来表示 python 的这种数据结构,而不是显式地编写所有内容。
对不起,如果这是一个非常基本的问题,并提前感谢:)
【问题讨论】:
-
你能给每一步分配一个概率吗(例如 P{p_n -> p-2} = 0.3)?如果是这样,您的数据结构会简单得多。
-
您的路径中似乎有循环,例如同一路径中有多个 p5,是故意的吗?
-
@Malo 是的,这是有意的,这就是为什么我需要提及整个路径以避免无限循环
-
@SalmanShaukat,好的,您能否将概率分配给每个小步骤,例如 p3->p4 0.8 和 p3->2 0.2 ?还是必须将其分配给整个路径?
-
@Malo 是的,我可以一步一步来。一个问题是:在某些情况下如何避免循环,例如,P1 -> P2 & P2 -> P1 是允许的,但像 P1 -> P2 -> P1 -> P1 这样的事情不应该被允许。我想我会通过记录已经访问过的状态来使用“内存”概念,从而避免循环
标签: python json data-structures