用于状态空间搜索的多维网格
GridWalker的Python项目详细描述
用于穷举搜索和 维度问题解决。
说明
定义一个网格对象,该对象允许在 任意维数。网格对象允许迭代, 多维选择,多维切片。
访问网格遵循[index]的__getitem__约定。 要检索多维选择,[index1, index2]或 [(index1, index2)]可用于指定 要再选择的网格。任何索引请求都可以替换为 切片对象,使[index1, start2:end2:step2]合法 请求。
切片提供充当网格的子网格对象,但映射它们 将数据引用回原始网格对象。这就允许 网格的重复切片,在 原始数据每次更改的分层切片请求的成本。
有几个提供的网格是为 给定的数据类型。到目前为止,它们包括intgrid、floatgrid和objectgrid –后者是一种没有有效存储的通用解决方案。 这些网格类型定义了存储的数据,而不是索引。 计划。所有网格都使用基于整数的索引,尽管有计划。 创建一个浮动范围网格,该网格执行浮动到索引映射 在界面后面。
请注意,创建具有多个维度的网格可能会占用 大量内存,即使在使用高效方案时也是如此。这 扩展到非常长的迭代时间,因为 访问量成倍增长。取一个有10个值的5维网格 每个维度。这就形成了一个10^5个元素的网格–即100K Iterables–需要大约400KB的存储空间。同一网格 每个维度的100个值有400亿个元素 要存储的内存超过37GB。
依赖关系
- PyDataWrap
- 努比
设置
安装
来源:
python settup.py install
来自PIP:
pip install gridwalker
功能
- 任意数量的多维网格定义 尺寸
- 通过有效的方法在任何 尺寸分配
语言首选项
- 谷歌风格指南
- 面向对象(少数例外)
待办事项
- 为浮动精度网格迭代创建浮动索引网格