diff --git a/src/main/java/Simulator.java b/src/main/java/Simulator.java index b3e37d1..f2a218b 100644 --- a/src/main/java/Simulator.java +++ b/src/main/java/Simulator.java @@ -150,36 +150,20 @@ public class Simulator implements GraphModificationFunctions { //add edges for(Vertex a: alphaVertices) { for(Vertex b: betaVertices) { - double weight = 0.0; - for (Integer well: a.getRecord().getWells()) { - if (b.getRecord().isInWell(well)) { - weight += 1.0; - } - } + Set sharedWells = new HashSet<>(a.getRecord().getWells()); + sharedWells.retainAll(b.getRecord().getWells()); + double weight = (double) sharedWells.size(); if (weight != 0.0) { + System.out.println("Edge weight: " + weight); DefaultWeightedEdge edge = graph.addEdge(a, b); graph.setEdgeWeight(edge, weight); } + else { + System.out.println("No overlap"); + + } } } -// //add edges -// for(Vertex a: alphaVertices) { -// for(Integer well: a.getRecord().getWells()) { -// for (Vertex b: betaVertices) { -// if (b.getRecord().isInWell(well)) { -// DefaultWeightedEdge edge = graph.getEdge(a, b); -// if (edge == null) { -// edge = graph.addEdge(a, b); -// graph.setEdgeWeight(edge, 1.0); -// } -// else { -// double weight = graph.getEdgeWeight(edge); -// graph.setEdgeWeight(edge, weight + 1.0); -// } -// } -// } -// } -// } if(verbose){System.out.println("Graph created");} //stop timing Instant stop = Instant.now();