这个库提供了构造图及其着色图的支持。着色图是表示图的所有有效着色的元图。着色图的每个顶点表示基图的着色。
libcolgraph的Python项目详细描述
着色图
一个用C++编写的着色图库,用于快速计算和封装 易于开发和扩展的python!
什么
这个库支持构造图、它们的着色图和 双连通分量元图。 着色图是表示图的所有有效着色的图。 着色图的每个顶点表示基图的着色。 如果两种颜色仅在一个顶点的颜色上不同,则认为它们是相邻的。
在这个项目中,我们将颜色表示为整数,当转换为 基k(对于k-着色)是长度v的一个数,表示顶点方向 每个顶点的颜色[0,k)。
图书馆正在开发中,使用Python和C/C++编写。
web应用程序使用库为快速绘制和
图形构造。
在未来,我们计划开发一个图书馆的补充部分,包含
有用的图算法和运行模拟以测试结构图论的能力
关于图着色和图着色的猜想。
对于文档,请随意查看libcolgraph/
内部并阅读docstrings。
如果有问题,请联系我们。
web gui的屏幕截图
[顺时针方向] 一种七顶点基图,它是一个六边形,有一个中心顶点和一个丢失的“辐条” 导致一个非常复杂的k=4颜色的着色图。你可以看到 边缘有息肉。结果着色图的结构如 一组改进的双连通tarjan算法产生的元着色图 组件.可以看到中央的“母舰”,旁边有一个切口 顶点,最后是息肉尖端的奇异着色点。
对于静态演示,请转到项目的gitlab pages。
使用量
作为一个模块
绘制一个基图,它的着色图,和元 由tarjans生成的着色图。你需要 将图形格式化为邻接矩阵文件。 在新的浏览器窗口中打开绘图。
基本用法:
colgraphplot [INPUT_GRAPH] --- usage: colgraphplot [-h] [-k COLORS] [-v] [--no-bg] [--no-cg] [--no-mbg] [--no-mcg] INPUT_GRAPH positional arguments: INPUT_GRAPH read in BaseGraph from adjacency matrix file optional arguments: -h, --help show this help message and exit -k COLORS, --colors COLORS number of colors to use to create ColoringGraph [default: 3] -v, --verbosity set output verbosity --no-bg hide BaseGraph? --no-cg hide ColoringGraph? --no-mbg hide meta BaseGraph? --no-mcg hide meta ColoringGraph?
启动Web图形用户界面:
colgraphweb --- usage: colgraphweb [-h] [-i INPUT_FILE] [-k COLORS] [-n] [-v] [-p PORT] optional arguments: -h, --help show this help message and exit -i INPUT_FILE, --input-file INPUT_FILE read in BaseGraph from adjacency matrix file -k COLORS, --colors COLORS number of colors to use to create ColoringGraph [default: 3] -n, --new open a blank canvas? -v, --verbosity set output verbosity -p PORT, --port PORT port on localhost to launch GUI on [default: 5000]
作为库
importlibcolgraphbg=libcolgraph.BaseGraph()bg.load_txt('./in/hexmod.in')cg=bg.build_coloring_graph(4)print('bg {} led to a cg {}'.format(bg,cg))forvincg.get_vertices():# do somethingpass
安装
从源安装 请参阅detailed install instructions
python3 -m pip install libcolgraph [--user][--upgrade]
注意事项:
贡献
帮助
即将提供完整的文档
谁
里士满大学着色图实验室。多个贡献者。 (c)2017-2019年