aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@SEMERATH-LAPTOP>2017-07-12 15:35:45 +0200
committerLibravatar OszkarSemerath <oszka@SEMERATH-LAPTOP>2017-07-12 15:35:45 +0200
commitae596d22260beead480e9936a2ec391fe3cb7727 (patch)
tree3f677496f977e6308fc5d72f6e7eb490fdd3e20b /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend
parentAdding visualisation support for partial interpretations. (diff)
downloadVIATRA-Generator-ae596d22260beead480e9936a2ec391fe3cb7727.tar.gz
VIATRA-Generator-ae596d22260beead480e9936a2ec391fe3cb7727.tar.zst
VIATRA-Generator-ae596d22260beead480e9936a2ec391fe3cb7727.zip
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.
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend59
1 files changed, 47 insertions, 12 deletions
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 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner 1package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration 4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration 6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod
7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod 7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
8import java.util.LinkedList 8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser
9import java.util.List
10import java.util.Set 9import java.util.Set
11import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery 10import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
11import java.util.LinkedList
12import java.util.List
12import org.eclipse.xtext.xbase.lib.Functions.Function1 13import org.eclipse.xtext.xbase.lib.Functions.Function1
14import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod
13 15
14public enum StateCoderStrategy { 16public enum StateCoderStrategy {
15 Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity 17 Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity
@@ -17,26 +19,59 @@ public enum StateCoderStrategy {
17 19
18class ViatraReasonerConfiguration extends LogicSolverConfiguration{ 20class ViatraReasonerConfiguration extends LogicSolverConfiguration{
19 public var Iterable<PQuery> existingQueries 21 public var Iterable<PQuery> existingQueries
20 public var LogicSolverConfiguration inconsistencDetectorConfiguration = null
21 public var List<Function1<ModelGenerationMethod,ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList
22 int maxDepth = -1
23
24 public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.Generic
25 22
26 public var nameNewElements = false 23 public var nameNewElements = false
27 public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood 24 public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood
25 public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis
26 /**
27 * Once per 1/randomBacktrackChance the search selects a random state.
28 */
29 public var int randomBacktrackChance = 20;
28 30
29 /** 31 /**
30 * Describes the required diversity between the solutions. 32 * Describes the required diversity between the solutions.
31 * Null means that the solutions have to have different state codes only. 33 * Null means that the solutions have to have different state codes only.
32 */ 34 */
33 public var DiversityDescriptor diversityRequirement = null 35 public var DiversityDescriptor diversityRequirement = new DiversityDescriptor
36 /**
37 * A logic solver that able to check the consistency of an intermediate solution.
38 * Null means that no solver is called.
39 */
40 public var InternalConsistencyCheckerConfiguration internalConsistencyCheckerConfiguration = new InternalConsistencyCheckerConfiguration
41 /**
42 * Configuration for debugging support.
43 */
44 public var DebugConfiguration debugCongiguration = new DebugConfiguration
45 /**
46 * Configuration for cutting search space.
47 */
48 public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint
34} 49}
35 50
36public class DiversityDescriptor { 51public class DiversityDescriptor {
37 public var int range = -1 52 public var ensureDiversity = false
53 public static val FixPointRange = -1
54 public var int range = FixPointRange
38 public var int parallels = Integer.MAX_VALUE 55 public var int parallels = Integer.MAX_VALUE
39 public var int maxNumber = Integer.MAX_VALUE 56 public var int maxNumber = Integer.MAX_VALUE
40 public var Set<TypeDeclaration> relevantTypes 57 public var Set<TypeDeclaration> relevantTypes = null
41 public var Set<RelationDeclaration> relevantRelations 58 public var Set<RelationDeclaration> relevantRelations = null
59}
60
61public class DebugConfiguration {
62 public var logging = false
63 public var PartialInterpretationVisualiser partialInterpretatioVisualiser = null;
64 public var partalInterpretationVisualisationFrequency = 1
65}
66
67public class InternalConsistencyCheckerConfiguration {
68 public var LogicReasoner internalIncosnsitencyDetector = null
69 public var LogicSolverConfiguration internalInconsistencDetectorConfiguration = null
70 public var incternalConsistencyCheckingFrequency = 1
71}
72
73public class SearchSpaceConstraint {
74 public static val UNLIMITED_MAXDEPTH = Integer.MAX_VALUE
75 public var int maxDepth = UNLIMITED_MAXDEPTH
76 public var List<Function1<ModelGenerationMethod, ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList
42} \ No newline at end of file 77} \ No newline at end of file