From ae596d22260beead480e9936a2ec391fe3cb7727 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Wed, 12 Jul 2017 15:35:45 +0200 Subject: Rearranged the solver configuration into different subsections DiversityDescriptor * Describes the required diversity between the solutions. * Null means that the solutions have to have different state codes only. InternalConsistencyCheckerConfiguration * A logic solver that able to check the consistency of an intermediate solution. * Null means that no solver is called. DebugConfiguration * Configuration for debugging support. SearchSpaceConstraint * Configuration for cutting search space. --- .../reasoner/ViatraReasonerConfiguration.xtend | 59 +++++++++++++++++----- 1 file changed, 47 insertions(+), 12 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend') 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 d638dd71..f32078a2 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 @@ -1,15 +1,17 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner +import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration -import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod -import java.util.LinkedList -import java.util.List +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser import java.util.Set import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery +import java.util.LinkedList +import java.util.List import org.eclipse.xtext.xbase.lib.Functions.Function1 +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod public enum StateCoderStrategy { Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity @@ -17,26 +19,59 @@ public enum StateCoderStrategy { class ViatraReasonerConfiguration extends LogicSolverConfiguration{ public var Iterable existingQueries - public var LogicSolverConfiguration inconsistencDetectorConfiguration = null - public var List> additionalGlobalConstraints = new LinkedList - int maxDepth = -1 - - public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.Generic public var nameNewElements = false public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood + public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis + /** + * Once per 1/randomBacktrackChance the search selects a random state. + */ + public var int randomBacktrackChance = 20; /** * Describes the required diversity between the solutions. * Null means that the solutions have to have different state codes only. */ - public var DiversityDescriptor diversityRequirement = null + public var DiversityDescriptor diversityRequirement = new DiversityDescriptor + /** + * A logic solver that able to check the consistency of an intermediate solution. + * Null means that no solver is called. + */ + public var InternalConsistencyCheckerConfiguration internalConsistencyCheckerConfiguration = new InternalConsistencyCheckerConfiguration + /** + * Configuration for debugging support. + */ + public var DebugConfiguration debugCongiguration = new DebugConfiguration + /** + * Configuration for cutting search space. + */ + public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint } public class DiversityDescriptor { - public var int range = -1 + public var ensureDiversity = false + public static val FixPointRange = -1 + public var int range = FixPointRange public var int parallels = Integer.MAX_VALUE public var int maxNumber = Integer.MAX_VALUE - public var Set relevantTypes - public var Set relevantRelations + public var Set relevantTypes = null + public var Set relevantRelations = null +} + +public class DebugConfiguration { + public var logging = false + public var PartialInterpretationVisualiser partialInterpretatioVisualiser = null; + public var partalInterpretationVisualisationFrequency = 1 +} + +public class InternalConsistencyCheckerConfiguration { + public var LogicReasoner internalIncosnsitencyDetector = null + public var LogicSolverConfiguration internalInconsistencDetectorConfiguration = null + public var incternalConsistencyCheckingFrequency = 1 +} + +public class SearchSpaceConstraint { + public static val UNLIMITED_MAXDEPTH = Integer.MAX_VALUE + public var int maxDepth = UNLIMITED_MAXDEPTH + public var List> additionalGlobalConstraints = new LinkedList } \ No newline at end of file -- cgit v1.2.3-54-g00ecf