边连通性为 4、顶点连通性为 3 且每个顶点的度数大于等于 5 的图会是什么样子?
How would a graph with edge connectivity 4 ,vertex connectivity 3 and degree of each vertex greater than equal to 5 look like?
是否存在一些算法可以解决此类问题,或者需要使用试错法来完成?
感觉像graph isomorphic problem or something related to it. However, I can't prove it. I would try to use constraint-satisfiability toolkit to solve this task. There are a lot of ways to do it, I'll stick with satisfiability checking.
我们可以将您的问题表述如下:对于给定的一组顶点和连通性约束(边连通性、顶点度数等),有什么方法可以 select 满足给定约束的这样一组边?
让我们介绍两组布尔变量:每个顶点和每个边。让我们同意,如果 variable == True 那么它就存在;否则它不存在。
我们不知道我们的图会是什么样子,所以我们必须引入 n^2 个变量来表示所有边:
> e_0, e_1, ..., e_m
我们认为一个顶点存在,当且仅当它至少有一个存在的边:
v_i <=> OR (e_0, e_1, ..., e_k)
最后,让我们介绍连接限制。我们可以使用 pseudo-boolean constraints 来做到这一点。下一个约束保证如果存在顶点,则它 必须 至少存在 5 条边。只有函数将评估为 True.
min_degree_i <=> greater_than_equal (get_all_edges_from_vertex (v_i), min_value=5)
下一个约束确保所有顶点都必须存在,但其中任意 3 个顶点除外(顶点连通性)。与边缘相同:
vertices_connectivity <=> select_exact ( (v_0, ..., v_n), (vertices_num - 3) )
edges_connectivity <=> select_exact ( (e_0, ..., e_m), (edges_num - 4) )
最后,我们可以将公式传递给 SAT 求解器(例如 Glucose)。输出将是满足所有给定约束的图形。
我不确定我的方法是否最好,但我建议更详细地探索它。我自己没有实现,所以我的算法可能有一些drawbacks/bugs。我的观点是,如果您不知道如何构建解决方案并且不知道它的外观,请尝试使用约束来找出答案。
是否存在一些算法可以解决此类问题,或者需要使用试错法来完成?
感觉像graph isomorphic problem or something related to it. However, I can't prove it. I would try to use constraint-satisfiability toolkit to solve this task. There are a lot of ways to do it, I'll stick with satisfiability checking.
我们可以将您的问题表述如下:对于给定的一组顶点和连通性约束(边连通性、顶点度数等),有什么方法可以 select 满足给定约束的这样一组边?
让我们介绍两组布尔变量:每个顶点和每个边。让我们同意,如果 variable == True 那么它就存在;否则它不存在。
我们不知道我们的图会是什么样子,所以我们必须引入 n^2 个变量来表示所有边:
> e_0, e_1, ..., e_m
我们认为一个顶点存在,当且仅当它至少有一个存在的边:
v_i <=> OR (e_0, e_1, ..., e_k)
最后,让我们介绍连接限制。我们可以使用 pseudo-boolean constraints 来做到这一点。下一个约束保证如果存在顶点,则它 必须 至少存在 5 条边。只有函数将评估为 True.
min_degree_i <=> greater_than_equal (get_all_edges_from_vertex (v_i), min_value=5)
下一个约束确保所有顶点都必须存在,但其中任意 3 个顶点除外(顶点连通性)。与边缘相同:
vertices_connectivity <=> select_exact ( (v_0, ..., v_n), (vertices_num - 3) )
edges_connectivity <=> select_exact ( (e_0, ..., e_m), (edges_num - 4) )
最后,我们可以将公式传递给 SAT 求解器(例如 Glucose)。输出将是满足所有给定约束的图形。
我不确定我的方法是否最好,但我建议更详细地探索它。我自己没有实现,所以我的算法可能有一些drawbacks/bugs。我的观点是,如果您不知道如何构建解决方案并且不知道它的外观,请尝试使用约束来找出答案。