public abstract class LinkEncoding extends BDDEncoding
Note: The concrete implementation of a link encoding can be found in classes extending this abstract class.
DefaultLinkEncoding
,
AnotherLinkEncoding
,
LinkAutomaton
BDDEncoding.StateType
Modifier and Type | Method and Description |
---|---|
abstract RavenBDD |
getConnectedNodeBit(BDDEncoding.StateType type,
int node)
Returns a BDD which encodes in state
state whether the pos -th node of the
interface is connected to an initial node or not. |
static String |
getConnectedNodeType(int node)
Returns the type string indicating the connected node bits for the
node -th node. |
static LinkEncoding |
getDefaultEncoding(int maximumInterface,
int innerInterface,
int outerInterface)
Returns the default BDD encoding for a link encoding instance with a
maximum interface size of
maximumInterface , an
inner interface size of innerInterface and an outer interface size
of outerInterface . |
static LinkEncoding |
getEncoding(int maximumInterface,
int innerInterface,
int outerInterface,
String encodingName)
Returns the BDD encoding for a link encoding instance given by the class name
name with a maximum interface size of maximumInterface , an
inner interface size of innerInterface and an outer interface size
of outerInterface . |
abstract RavenBDD |
getInitialNodeBit(BDDEncoding.StateType type,
int node)
Returns a BDD which encodes in state
state whether the pos -th node of the
interface is an initial node or not. |
static String |
getInitialNodeType(int node)
Returns the type string indicating the initial node bits for the
node -th node. |
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 LinkEncoding getDefaultEncoding(int maximumInterface, int innerInterface, int outerInterface)
maximumInterface
, an
inner interface size of innerInterface
and an outer interface size
of outerInterface
.maximumInterface
- the maximum interface sizeinnerInterface
- the size of the inner interfaceouterInterface
- the size of the outer interfacepublic static final LinkEncoding getEncoding(int maximumInterface, int innerInterface, int outerInterface, String encodingName)
name
with a maximum interface size of maximumInterface
, an
inner interface size of innerInterface
and an outer interface size
of outerInterface
. If no link encoding with the given name can be
found the default encoding is returned.maximumInterface
- the maximum interface sizeinnerInterface
- the size of the inner interfaceouterInterface
- the size of the outer interfaceencodingName
- the class name of the dominating set encoding classpublic static final String getInitialNodeType(int node)
node
-th node.node
- the position of the nodepublic static final String getConnectedNodeType(int node)
node
-th node.node
- the position of the nodepublic abstract RavenBDD getInitialNodeBit(BDDEncoding.StateType type, int node)
state
whether the pos
-th node of the
interface is an initial node or not.type
- the state type, either current state or successor statenode
- the index of the nodepublic abstract RavenBDD getConnectedNodeBit(BDDEncoding.StateType type, int node)
state
whether the pos
-th node of the
interface is connected to an initial node or not.type
- the state type, either current state or successor statenode
- the index of the node