From f25435a9f151f0b24fd7f410f153ed76f8da9633 Mon Sep 17 00:00:00 2001 From: 20001LastOrder Date: Thu, 5 Nov 2020 01:49:20 -0500 Subject: fix node type distance measure --- .../reasoner/ViatraReasonerConfiguration.xtend | 25 +++++++++++----------- ...nRealisticMetricStrategyForModelGeneration.java | 12 +++++------ 2 files changed, 18 insertions(+), 19 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend index 628844de..e8bb11df 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend @@ -62,31 +62,30 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration { * Configuration for cutting search space. */ public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint - + public var runIntermediateNumericalConsistencyChecks = true - + public var punishSize = PunishSizeStrategy.NONE public var scopeWeight = 1 public var conaintmentWeight = 2 public var nonContainmentWeight = 1 public var unfinishedWFWeight = 1 public var calculateObjectCreationCosts = false - + public var RealisticGuidance realisticGuidance = RealisticGuidance.Composite; - - public var isWFOptional = false; - - public var allowMustViolations = false; - - public var String domain = ''; + + public var isWFOptional = false; + + public var allowMustViolations = false; + + public var String domain = ''; public var ScopePropagatorStrategy scopePropagatorStrategy = new ScopePropagatorStrategy.Polyhedral( PolyhedralScopePropagatorConstraints.Relational, PolyhedralScopePropagatorSolver.Clp) // public var ScopePropagatorStrategy scopePropagatorStrategy = ScopePropagatorStrategy.BasicTypeHierarchy - public var List hints = newArrayList public var List costObjectives = newArrayList - + public var List unitPropagationPatternGenerators = newArrayList } @@ -117,7 +116,7 @@ class SearchSpaceConstraint { public var List> additionalGlobalConstraints = new LinkedList } -public enum RealisticGuidance{ +public enum RealisticGuidance { MPC, NodeActivity, OutDegree, @@ -126,6 +125,7 @@ public enum RealisticGuidance{ Composite_Without_Violations, Violations } + class CostObjectiveConfiguration { public var List elements = newArrayList public var ObjectiveKind kind @@ -138,4 +138,3 @@ class CostObjectiveElementConfiguration { public var String patternQualifiedName public var int weight } - diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/HillClimbingOnRealisticMetricStrategyForModelGeneration.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/HillClimbingOnRealisticMetricStrategyForModelGeneration.java index d9f84b36..293cd232 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/HillClimbingOnRealisticMetricStrategyForModelGeneration.java +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/HillClimbingOnRealisticMetricStrategyForModelGeneration.java @@ -12,6 +12,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.PriorityQueue; +import java.util.Queue; import java.util.Random; import java.util.Set; @@ -58,7 +59,7 @@ public class HillClimbingOnRealisticMetricStrategyForModelGeneration implements public NumericSolver numericSolver = null; // Running - private PriorityQueue trajectoiresToExplore; + private Queue trajectoiresToExplore; private SolutionStore solutionStore; private SolutionStoreWithCopy solutionStoreWithCopy; private SolutionStoreWithDiversityDescriptor solutionStoreWithDiversityDescriptor; @@ -150,7 +151,7 @@ public class HillClimbingOnRealisticMetricStrategyForModelGeneration implements this.solutionStoreWithCopy = new SolutionStoreWithCopy(); this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement); - trajectoiresToExplore = new PriorityQueue(11, comparator); + trajectoiresToExplore = new LinkedList(); stateAndActivations = new HashMap>(); metricDistance = new PartialInterpretationMetricDistance(domain); @@ -218,9 +219,8 @@ public class HillClimbingOnRealisticMetricStrategyForModelGeneration implements } // calculate values for epsilon greedy - double epsilon = 1.0/count; + double epsilon = 1.0/model.getNewElements().size(); double draw = Math.random(); - count++; this.currentNodeTypeDistance = heuristics.getNodeTypeDistance(); numNodesToGenerate = model.getMaxNewElements(); System.out.println("NA distance: " + heuristics.getNADistance()); @@ -262,7 +262,7 @@ public class HillClimbingOnRealisticMetricStrategyForModelGeneration implements if((getNumberOfViolations(mustMatchers) > 0|| getNumberOfViolations(mayMatchers) > targetDiff) && !allowMustViolation && !shouldFinish) { context.backtrack(); }else { - final Fitness nextFitness = context.calculateFitness(); + final Fitness nextFitness = calculateFitness(); // the only hard objectives are configured in the config file checkForSolution(nextFitness); @@ -634,7 +634,7 @@ public class HillClimbingOnRealisticMetricStrategyForModelGeneration implements } protected void removeSubtreeFromQueue(TrajectoryWithFitness t) { - PriorityQueue previous = this.trajectoiresToExplore; + Queue previous = this.trajectoiresToExplore; this.trajectoiresToExplore = new PriorityQueue<>(this.comparator); for (TrajectoryWithFitness trajectoryWithFitness : previous) { if (!containsAsSubstring(trajectoryWithFitness.trajectory, t.trajectory)) { -- cgit v1.2.3-54-g00ecf