aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-06-14 17:27:00 +0200
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-06-14 17:27:00 +0200
commit93fcbba4aca1893da7c577e37b882da5cbf9b1d6 (patch)
treef4551462dec4902467df6a0246cc888e719863e9 /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
parentVisualisation potentionally gets the patterns (diff)
downloadVIATRA-Generator-93fcbba4aca1893da7c577e37b882da5cbf9b1d6.tar.gz
VIATRA-Generator-93fcbba4aca1893da7c577e37b882da5cbf9b1d6.tar.zst
VIATRA-Generator-93fcbba4aca1893da7c577e37b882da5cbf9b1d6.zip
Visualisation example using matches during generation
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
index 63bd3b17..12533535 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
@@ -11,9 +11,11 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse;
11 11
12import java.util.ArrayList; 12import java.util.ArrayList;
13import java.util.Arrays; 13import java.util.Arrays;
14import java.util.Collection;
14import java.util.Collections; 15import java.util.Collections;
15import java.util.Comparator; 16import java.util.Comparator;
16import java.util.Iterator; 17import java.util.Iterator;
18import java.util.LinkedList;
17import java.util.List; 19import java.util.List;
18import java.util.PriorityQueue; 20import java.util.PriorityQueue;
19import java.util.Random; 21import java.util.Random;
@@ -77,6 +79,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
77 private volatile boolean isInterrupted = false; 79 private volatile boolean isInterrupted = false;
78 private ModelResult modelResultByInternalSolver = null; 80 private ModelResult modelResultByInternalSolver = null;
79 private Random random = new Random(); 81 private Random random = new Random();
82 private Collection<ViatraQueryMatcher<? extends IPatternMatch>> matchers;
80 83
81 // Statistics 84 // Statistics
82 private int numberOfStatecoderFail = 0; 85 private int numberOfStatecoderFail = 0;
@@ -110,10 +113,12 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
110 113
111 ViatraQueryEngine engine = context.getQueryEngine(); 114 ViatraQueryEngine engine = context.getQueryEngine();
112 // TODO: visualisation 115 // TODO: visualisation
113// for(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> p : this.method.getAllPatterns()) { 116 matchers = new LinkedList<ViatraQueryMatcher<? extends IPatternMatch>>();
114// ViatraQueryMatcher<? extends IPatternMatch> matcher = p.getMatcher(engine); 117 for(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> p : this.method.getAllPatterns()) {
115// matcher.getAllMatches(); 118 System.out.println(p.getSimpleName());
116// } 119 ViatraQueryMatcher<? extends IPatternMatch> matcher = p.getMatcher(engine);
120 matchers.add(matcher);
121 }
117 122
118 this.solutionStoreWithCopy = new SolutionStoreWithCopy(); 123 this.solutionStoreWithCopy = new SolutionStoreWithCopy();
119 this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement); 124 this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement);
@@ -183,6 +188,10 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
183 context.executeAcitvationId(nextActivation); 188 context.executeAcitvationId(nextActivation);
184 189
185 visualiseCurrentState(); 190 visualiseCurrentState();
191 for(ViatraQueryMatcher<? extends IPatternMatch> matcher : matchers) {
192 System.out.println(matcher.getPatternName() + " - " + matcher.countMatches());
193 }
194
186 boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); 195 boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness);
187 if(consistencyCheckResult == true) { continue mainLoop; } 196 if(consistencyCheckResult == true) { continue mainLoop; }
188 197