一组多种类型的多元数(蛇、树等)

polyenum的Python项目详细描述


此存储库的文件允许根据 詹森的算法。代码是用python编写的,但已经过优化 使用cython。

依赖关系

python模块依赖性

路线图

  • 更新polyenum包中的docstring(枚举数、数据结构 模块)。
  • Enhance–North Snake选项的实现。排除标准 对于任何 找不到模式x...0...x的北蛇行。自从 算法建立一列又一列的多胺,这将是一个好主意 制作所有“左蛇”并旋转结果。
  • 创建测试套件。
  • 实现最小连接问题的knuth算法(参见注释 在源代码中)。这将显著提高枚举的速度。 多胺。
  • 考虑对称性,提高算法速度。它也将允许 生成游离/固定/单侧多胺。目前,仅修复 生成多胺。
  • 添加其他类型的安装程序(MacPorts、Homebrew、Windows、Debian软件包, ArchLinux)。
  • 添加用于提取统计信息和分类的脚本。
  • 添加绘图脚本。
  • 提高枚举部分定向蛇的速度(它使用python 布尔列表而不是布尔*)。此外,列式枚举可以 放弃更多的配置,而不是只看柱。

如何使用

脚本polyenum用于调用枚举代码。你可以 ./scripts/polyenum --help寻求帮助。

从git存储库

为了让脚本正常运行,必须编译cython库。 这是通过做来完成的:

$ ./configure
$ make

然后,polyenum将在./scripts目录下可用。

示例

枚举给定区域的所有多元胺

让多元胺的面积为4。找到所有的多胺 内接在4号区域的一个特定矩形中,具体操作如下:

$ ./polyenum -a 4 --fixed
Fixed polyomino enumeration.
XXXX

X
X
X
X

XX
XX

X--
XXX

XX
-X
-X

XXX
X--

XX
X-
X-

-X-
XXX

-X
XX
-X

-XX
XX-

-X
XX
X-

--X
XXX

-X
-X
XX

XX-
-XX

X-
XX
-X

XXX
-X-

X-
XX
X-

XXX
--X

X-
X-
XX

Time elapsed: 0.000782012939453125 seconds
Number of polyominoes: 19

阅读polenum的手册页(man ./doc/polyenum.1)可以找到更多的例子。

安装

从Pypi dist release

简单地做:

python2.7 setup.py install

从git存储库

脚本可以安装在系统上。这很有用,因为它提供了 脚本的bash选项卡完成功能。要安装,只需执行以下操作:

$ ./configure
$ make
# make install

注意:大多数安装过程是由python完成的。在一些平台上, python可以在不在$path bash中的目录下安装脚本 环境变量。

bash完成

要安装bash completion,请执行以下操作

$ BASH_COMPLETION_DIR=$p ./configure
$ make
# make install

其中$p是bash完成脚本所在目录的路径 安装在您的系统上。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出