diff options
author | Oszkar Semerath <semerath@mit.bme.hu> | 2020-05-17 01:35:57 +0200 |
---|---|---|
committer | Oszkar Semerath <semerath@mit.bme.hu> | 2020-05-17 01:35:57 +0200 |
commit | d03c841f2e4114a442deb08946c391c823745953 (patch) | |
tree | 334294a46f4b7bfe3aad8dbda368fb7ea5e5b6c0 /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java | |
parent | Setting delimier in every printing mode to ',' (diff) | |
download | VIATRA-Generator-d03c841f2e4114a442deb08946c391c823745953.tar.gz VIATRA-Generator-d03c841f2e4114a442deb08946c391c823745953.tar.zst VIATRA-Generator-d03c841f2e4114a442deb08946c391c823745953.zip |
detailed runtimes + counting defined objects only
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.java | 35 |
1 files changed, 27 insertions, 8 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 75ce7f10..710996a9 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 | |||
@@ -44,6 +44,7 @@ import hu.bme.mit.inf.dslreasoner.viatra2logic.NumericProblemSolver; | |||
44 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod; | 44 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod; |
45 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.PartialInterpretation2Logic; | 45 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.PartialInterpretation2Logic; |
46 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation; | 46 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation; |
47 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder.NeighbourhoodBasedPartialInterpretationStateCoder; | ||
47 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation; | 48 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation; |
48 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser; | 49 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser; |
49 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration; | 50 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration; |
@@ -112,7 +113,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { | |||
112 | public int getNumberOfStatecoderFail() { | 113 | public int getNumberOfStatecoderFail() { |
113 | return numberOfStatecoderFail; | 114 | return numberOfStatecoderFail; |
114 | } | 115 | } |
115 | 116 | //LinkedList<ViatraQueryMatcher<? extends IPatternMatch>> matchers; | |
116 | @Override | 117 | @Override |
117 | public void initStrategy(ThreadContext context) { | 118 | public void initStrategy(ThreadContext context) { |
118 | this.context = context; | 119 | this.context = context; |
@@ -120,7 +121,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { | |||
120 | 121 | ||
121 | // ViatraQueryEngine engine = context.getQueryEngine(); | 122 | // ViatraQueryEngine engine = context.getQueryEngine(); |
122 | // // TODO: visualisation | 123 | // // TODO: visualisation |
123 | // LinkedList<ViatraQueryMatcher<? extends IPatternMatch>> matchers = new LinkedList<ViatraQueryMatcher<? extends IPatternMatch>>(); | 124 | // matchers = new LinkedList<ViatraQueryMatcher<? extends IPatternMatch>>(); |
124 | // for(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> p : this.method.getAllPatterns()) { | 125 | // for(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> p : this.method.getAllPatterns()) { |
125 | // //System.out.println(p.getSimpleName()); | 126 | // //System.out.println(p.getSimpleName()); |
126 | // ViatraQueryMatcher<? extends IPatternMatch> matcher = p.getMatcher(engine); | 127 | // ViatraQueryMatcher<? extends IPatternMatch> matcher = p.getMatcher(engine); |
@@ -213,12 +214,11 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { | |||
213 | 214 | ||
214 | visualiseCurrentState(); | 215 | visualiseCurrentState(); |
215 | // for(ViatraQueryMatcher<? extends IPatternMatch> matcher : matchers) { | 216 | // for(ViatraQueryMatcher<? extends IPatternMatch> matcher : matchers) { |
216 | // System.out.println(matcher.getPatternName()); | 217 | // int c = matcher.countMatches(); |
217 | // System.out.println("---------"); | 218 | // if(c>=100) { |
218 | // for(IPatternMatch m : matcher.getAllMatches()) { | 219 | // System.out.println(c+ " " +matcher.getPatternName()); |
219 | // System.out.println(m); | ||
220 | // } | 220 | // } |
221 | // System.out.println("---------"); | 221 | // |
222 | // } | 222 | // } |
223 | 223 | ||
224 | boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); | 224 | boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); |
@@ -292,12 +292,31 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { | |||
292 | solutionStoreWithDiversityDescriptor.newSolution(context); | 292 | solutionStoreWithDiversityDescriptor.newSolution(context); |
293 | solutionStore.newSolution(context); | 293 | solutionStore.newSolution(context); |
294 | configuration.progressMonitor.workedModelFound(configuration.solutionScope.numberOfRequiredSolution); | 294 | configuration.progressMonitor.workedModelFound(configuration.solutionScope.numberOfRequiredSolution); |
295 | 295 | saveTimes(); | |
296 | logger.debug("Found a solution."); | 296 | logger.debug("Found a solution."); |
297 | } | 297 | } |
298 | } | 298 | } |
299 | } | 299 | } |
300 | } | 300 | } |
301 | public List<String> times = new LinkedList<String>(); | ||
302 | private void saveTimes() { | ||
303 | long statecoderTime = ((NeighbourhoodBasedPartialInterpretationStateCoder)this.context.getStateCoder()).getStatecoderRuntime()/1000000; | ||
304 | long solutionCopy = solutionStoreWithCopy.getSumRuntime()/1000000; | ||
305 | long activationSelection = this.activationSelector.getRuntime()/1000000; | ||
306 | long numericalSolverSumTime = this.numericSolver.getRuntime()/1000000; | ||
307 | long numericalSolverProblemForming = this.numericSolver.getSolverSolvingProblem()/1000000; | ||
308 | long numericalSolverSolving = this.numericSolver.getSolverSolvingProblem()/1000000; | ||
309 | long numericalSolverInterpreting = this.numericSolver.getSolverSolution()/1000000; | ||
310 | this.times.add( | ||
311 | "(StateCoderTime:"+statecoderTime+ | ||
312 | "|SolutionCopyTime:"+solutionCopy+ | ||
313 | "|ActivationSelectionTime:"+activationSelection+ | ||
314 | "|NumericalSolverSumTime:"+numericalSolverSumTime+ | ||
315 | "|NumericalSolverProblemFormingTime:"+numericalSolverProblemForming+ | ||
316 | "|NumericalSolverSolvingTime:"+numericalSolverSolving+ | ||
317 | "|NumericalSolverInterpretingSolution:"+numericalSolverInterpreting+")"); | ||
318 | |||
319 | } | ||
301 | 320 | ||
302 | @Override | 321 | @Override |
303 | public void interruptStrategy() { | 322 | public void interruptStrategy() { |