Class CSTNU2CSTN
java.lang.Object
it.univr.di.cstnu.algorithms.AbstractCSTN<CSTNUEdge>
it.univr.di.cstnu.algorithms.CSTNU
it.univr.di.cstnu.algorithms.CSTNU2CSTN
Simple class to represent and check Conditional Simple Temporal Network with Uncertainty (CSTNU) where the DC
checking is done reducing the instance to an equivalent CSTN instance where the DC checking is done assuming
instantaneous reaction.
In other words, the CSTNU instance is transformed into a CSTN one and checked invoking
In other words, the CSTNU instance is transformed into a CSTN one and checked invoking
CSTN.dynamicConsistencyCheck()
.- Version:
- $Rev: 840 $
- Author:
- Roberto Posenato
-
Nested Class Summary
Nested classes/interfaces inherited from class it.univr.di.cstnu.algorithms.CSTNU
CSTNU.CSTNUCheckStatus
Nested classes/interfaces inherited from class it.univr.di.cstnu.algorithms.AbstractCSTN
AbstractCSTN.CheckAlgorithm, AbstractCSTN.CSTNCheckStatus, AbstractCSTN.DCSemantics, AbstractCSTN.EdgesToCheck<E extends Edge>, AbstractCSTN.NodesToCheck
-
Field Summary
Fields inherited from class it.univr.di.cstnu.algorithms.CSTNU
activationNode, contingentAlsoAsOrdinary, lowerContingentEdge
Fields inherited from class it.univr.di.cstnu.algorithms.AbstractCSTN
checkStatus, cleanCheckedInstance, FILE_NAME_SUFFIX, fInput, fOutput, g, gCheckedCleaned, horizon, maxWeight, propagationOnlyToZ, reactionTime, timeOut, versionReq, withNodeLabels, ZERO_NODE_NAME
-
Constructor Summary
ConstructorDescriptionConstructor for CSTNU2CSTN.CSTNU2CSTN
(TNGraph<CSTNUEdge> graph) CSTNU2CSTN
(TNGraph<CSTNUEdge> graph, int givenTimeOut) Constructor for CSTNU -
Method Summary
Modifier and TypeMethodDescriptionChecks the dynamic controllability (DC) of the given network (seeCSTNU(TNGraph)
orAbstractCSTN.setG(TNGraph)
).
If the network is DC, it determines all the minimal ranges for the constraints.static void
Returns the corresponding CSTN of the given CSTNU g.Methods inherited from class it.univr.di.cstnu.algorithms.CSTNU
checkAndManageIfNewLabeledValueIsANegativeLoop, checkWellDefinitionProperty1and3, dynamicConsistencyCheck, getActivationNode, getCheckStatus, getLowerContingentLink, initAndCheck, isActivationNode, isContingentAlsoAsOrdinary, labeledCrossLowerCaseRule, labeledLetterRemovalRule, labelModificationqR0, labelModificationqR3, labelPropagation, lowerCaseValueAsString, mainConditionForRestrictedLP, mainConditionForSkippingInR0qR0, oneStepDynamicControllability, oneStepDynamicControllabilityLimitedToZ, reset, setContingentAlsoAsOrdinary, upperCaseValueAsString, zLabeledLetterRemovalRule
Methods inherited from class it.univr.di.cstnu.algorithms.AbstractCSTN
addUpperBounds, checkWellDefinitionProperties, checkWellDefinitionProperty2, coreCSTNInitAndCheck, getEdgeFromObserversToNode, getfOutput, getG, getGChecked, getGCheckedAsGraphML, getMaxWeight, getMinimalDistanceGraph, getReactionTime, getVersionAndCopyright, isOutputCleaned, isWithNodeLabels, labelModificationR0qR0, labelModificationR0qR0Core, mainConditionForSkippingInR3qR3, makeAlphaBetaGammaPrime4R3, makeAlphaPrime, makeBetaGammaDagger4qR3, makeNewEdge, manageParameters, newValueInR3qR3, pairAsString, removeChildrenOfUnknown, saveGraphToFile, setfOutput, setG, setOutputCleaned, setPropagationOnlyToZ, setWithNodeLabels
-
Field Details
-
VERSIONandDATE
-
-
Constructor Details
-
CSTNU2CSTN
-
CSTNU2CSTN
-
CSTNU2CSTN
CSTNU2CSTN()Constructor for CSTNU2CSTN.
-
-
Method Details
-
main
-
dynamicControllabilityCheck
Checks the dynamic controllability (DC) of the given network (seeCSTNU(TNGraph)
orAbstractCSTN.setG(TNGraph)
).
If the network is DC, it determines all the minimal ranges for the constraints.
During the execution of this method, the given network is modified.
If the check is successful, all constraints to node Z in the network are minimized; otherwise, the network contains a negative loop at least.
After a check,AbstractCSTN.getGChecked()
returns the graph resulting after the check andCSTNU.getCheckStatus()
the result of the checking action with some statistics and the node with the negative loop is the network is NOT DC.
In any case, before returning, this method callAbstractCSTN.saveGraphToFile()
for saving the computed graph. Checks the controllability of a CSTNU instance. This method transform the given CSTNU instance into a corresponding CSTN instance such that the original instance is dynamic controllable iff the corresponding CSTN is dynamic consistent.- Overrides:
dynamicControllabilityCheck
in classCSTNU
- Returns:
- an
CSTNU.CSTNUCheckStatus
object containing the final status and some statistics about the executed checking. - Throws:
WellDefinitionException
- if any.
-
transform
Returns the corresponding CSTN of the given CSTNU g. The transformation consists in replacing each contingent link with a pattern that use a proper new observation timepoint (associated to the contingent link).A ---(c:x, alpha) ---> C is transformed to A ---(x,alpha) ---> K? ---(0, alpha k) (y-x,alpha) ---> C <--- (C:-y, alpha)-- <---(-x,alpha)-- <---(0,alpha) (x-y,alpha¬k)--
- Returns:
- g represented as a CSTN
-