aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-28 15:28:56 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-28 15:28:56 +0200
commitc1540cd35e9c908b0c66b40ffb8564b4167ade34 (patch)
treeabd0790f2282705a3b730ca4c9f85f9fac932447
parentf46511896f1ab26427403dbeb8c61278f84cde5e (diff)
tighten output
-rw-r--r--src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java40
1 files changed, 28 insertions, 12 deletions
diff --git a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java
index e91c74e..4ce7e02 100644
--- a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java
+++ b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java
@@ -55,16 +55,39 @@ public final class Combi {
Graph g = new MatrixGraph(_vertice_count);
GraphAlgorithms.readGraph(g, path);
+ System.out.println("\n\nGraph of choices constructed:");
+ GraphAlgorithms.printGraph(g);
+
// ensure the graph is connected
assertConnected(g);
+ System.out.println(
+ "\n\nGraph is connected"
+ +" (otherwise an exception was thrown)");
+
+ // collect disjoint choice sets
+ ArrayList<Set<Vertex>> s = nonOverlapping(g);
+ System.out.printf(
+ "\n\n%d disjoint choice sets collected:\n",
+ s.size());
+ for(Set<Vertex> verticeSet: s) {
+ System.out.print("set("+verticeSet.size()+"):");
+ for (Vertex v: GraphAlgorithms.sortVertex(verticeSet)) {
+ System.out.print(" "+v.toString());
+ }
+ System.out.println();
+ }
- nonOverlapping(g);
-
-// GraphAlgorithms.printGraph(g);
- GraphAlgorithms.printGraph(moduleGroups(nonOverlapping(g), g));
+ // construct graph of disjoint choices
+ Graph h = moduleGroups(s, g);
+ System.out.println(
+ "\n\nGraph of disjoint choices constructed:");
+ GraphAlgorithms.printGraph(h);
+ // find path through disjoint choice graph
+ System.out.println(
+ "\n\nSolution with disjoint choices found:");
System.out.println(
- solution(moduleGroups(nonOverlapping(g), g)));
+ solution(h));
// release temporary variables for garbage collection
_g = null;
@@ -174,13 +197,6 @@ public final class Combi {
done.addAll(isolated);
}
-for(Set<Vertex> s: sets) {
-System.out.println("set: "+s.size());
-for (Vertex v: s) {
-System.out.println(" "+v.toString());
-}
-}
-
return sets;
}