propositions.reductions module¶
Reduction between computational search problems.
-
propositions.reductions.Graph¶ A graph on a vertex set of the form
(1,…,n_vertices), represented by the number of verticesn_verticesand a set of edges over the vertices.alias of Tuple[int, AbstractSet[Tuple[int, int]]]
-
propositions.reductions.is_graph(graph)¶ Checks if the given data structure is a valid representation of a graph.
-
propositions.reductions.is_valid_3coloring(graph, coloring)¶ Checks whether the given coloring is a valid coloring of the given graph by the colors 1, 2, and 3.
- Parameters
- Return type
- Returns
Trueif the given coloring is a valid coloring of the given graph by the colors 1, 2, and 3;Falseotherwise.
-
propositions.reductions.graph3coloring_to_formula(graph)¶ Efficiently reduces the 3-coloring problem of the given graph into a satisfiability problem.
-
propositions.reductions.assignment_to_3coloring(graph, assignment)¶ Efficiently transforms an assignment to the formula corresponding to the 3-coloring problem of the given graph, to a 3-coloring of the given graph so that the 3-coloring is valid if and only if the given assignment is satisfying.
- Parameters
graph (
Tuple[int,AbstractSet[Tuple[int,int]]]) – graph to produce a 3-coloring for.assignment (
Mapping[str,bool]) – assignment to the variable names of the formula returned bygraph3coloring_to_formula(graph).
- Return type
- Returns
A 3-coloring of the given graph by the colors 1, 2, and 3 that is valid if and only if the given assignment satisfies the formula
graph3coloring_to_formula(graph).