public abstract class NoIsolatedNodesEncoding extends BDDEncoding
Note: The concrete implementation of a no isolated nodes encoding can be found in classes extending this abstract class.
DefaultNoIsolatedNodesEncoding
,
NoIsolatedNodesAutomaton
BDDEncoding.StateType
Modifier and Type | Method and Description |
---|---|
static NoIsolatedNodesEncoding |
getDefaultEncoding(int maximumInterface,
int innerInterface,
int outerInterface)
Returns the default BDD encoding for a dominating set instance with a
maximum interface size of
maximumInterface and a maximum dominating
set size of dominating size . |
static NoIsolatedNodesEncoding |
getEncoding(int maximumInterface,
int innerInterface,
int outerInterface,
String encodingName)
Returns the BDD encoding for a dominating set instance given by the class name
name with a maximum interface size of maximumInterface and a
maximum dominating set size of dominating size . |
abstract RavenBDD |
getHasIsolatedNodes(BDDEncoding.StateType type)
Returns a BDD which encodes that in state
state isolated nodes are present
if and only if the BDD is true . |
abstract RavenBDD |
getIsNodeIsolated(BDDEncoding.StateType type,
int node)
Returns a BDD which encodes that in state
state the node -th interface node
is isolated if and only if the BDD is true . |
static String |
getIsolatedNodeType(int node)
Returns the type string indicating the isolation state bits for the
node -th node. |
static String |
getIsolationStateType()
Returns the type string indicating the bit for the isolation state.
|
abstract RavenBDD |
getUndefinedNode(BDDEncoding.StateType type,
int node)
Returns a BDD which encodes that in state
state the node -th interface node
is not defined if and only if the BDD is true . |
getBit, getBitType, getCurrentStateDomain, getInnerInterface, getInterfaceBit, getInterfaceEncodingBDD, getInterfaceLength, getInterfaceSize, getInterfaceSizeIsGreaterOrEqual, getInterfaceSizeIsLessOrEqual, getInterfaceSizeType, getLength, getMaximumInterface, getOuterInterface, getStateBit, getStateEncodingBDD, getStateLength, getStateType, getSuccessorStateDomain, one, printStates, toString, zero
public static final NoIsolatedNodesEncoding getDefaultEncoding(int maximumInterface, int innerInterface, int outerInterface)
maximumInterface
and a maximum dominating
set size of dominating size
.maximumInterface
- size of the maximum interfaceinnerInterface
- size of the inner interfaceouterInterface
- size of the outer interfacepublic static final NoIsolatedNodesEncoding getEncoding(int maximumInterface, int innerInterface, int outerInterface, String encodingName)
name
with a maximum interface size of maximumInterface
and a
maximum dominating set size of dominating size
. If no dominating set
encoding with the given name can be found the default encoding is returned.maximumInterface
- size of the maximum interfaceinnerInterface
- size of the inner interfaceouterInterface
- size of the outer interfaceencodingName
- the class name of the dominating set encoding classpublic static final String getIsolatedNodeType(int node)
node
-th node.node
- the position of the nodepublic static final String getIsolationStateType()
public abstract RavenBDD getIsNodeIsolated(BDDEncoding.StateType type, int node)
state
the node
-th interface node
is isolated if and only if the BDD is true
.type
- the state type, either current state or successor statenode
- the position of the interface nodepublic abstract RavenBDD getUndefinedNode(BDDEncoding.StateType type, int node)
state
the node
-th interface node
is not defined if and only if the BDD is true
.type
- the state type, either current state or successor statenode
- the position of the interface nodepublic abstract RavenBDD getHasIsolatedNodes(BDDEncoding.StateType type)
state
isolated nodes are present
if and only if the BDD is true
.type
- the state type, either current state or successor state