基于空间Agent的建模数据结构

时间:2011-10-18 16:57:28

标签: java data-structures 2d quadtree agent-based-modeling

在二维空间模拟中跟踪代理有哪些好的数据结构?

我看过一些关于四叉树(我理解)和kd-trees的引用(我不太了解)。

我正在寻找代理可以有效地说出的话,“我知道我的位置,我想知道哪些代理人在我附近(在我自己的某个半径范围内)。”

示例(伪代码很好)将不胜感激。

我在Java工作。

2 个答案:

答案 0 :(得分:2)

好吧,我不确定它是如何实现的,但是MASON toolkit使用了离散化算法,它将彼此接近的代理放在哈希表的同一个“桶”中。它可以实现非常快速的查找,因为每个查询只需要检查一些这些存储桶。

对您来说最好的事情可能是在这里查看源代码: http://code.google.com/p/mason/source/browse/trunk/mason/sim/field/continuous/Continuous2D.java?r=529

答案 1 :(得分:2)

我找到了一个叫Bucket PR Quadtree的东西。