public abstract class DominatingSetEncoding extends BDDEncoding
Note: The concrete implementation of a dominating set encoding can be found in classes extending this abstract class.
DefaultDominatingSetEncoding
,
DominatingSetAutomaton
BDDEncoding.StateType
Modifier and Type | Method and Description |
---|---|
static DominatingSetEncoding |
getDefaultEncoding(int maximumInterface,
int innerInterface,
int outerInterface,
int dominatingSize)
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 . |
abstract RavenBDD |
getDominationBit(BDDEncoding.StateType type,
int node)
Returns a BDD which encodes that in state
state the node -th interface node
is dominated by some node of the dominating set if and only if the BDD is true . |
int |
getDominationBitLength()
Returns the bit length used for the encoding of the dominating set size.
|
static String |
getDominationNodeType(int node)
Returns the type string indicating the domination bits for the
node -th node. |
int |
getDominationNumber()
Returns the maximum size of the dominating set.
|
static String |
getDominationSetSizeType()
Returns the type string indicating the bits for the domination set size.
|
abstract RavenBDD |
getDominationSizeBit(BDDEncoding.StateType type,
int pos)
Returns a BDD which encodes in state
state the pos -th bit of the
current size of the dominating set. |
static DominatingSetEncoding |
getEncoding(int maximumInterface,
int innerInterface,
int outerInterface,
int dominatingSize,
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 |
getMembershipBit(BDDEncoding.StateType type,
int node)
Returns a BDD which encodes that the
node -th node of the interface
is a member of the dominating set. |
static String |
getMembershipNodeType(int node)
Returns the type string indicating the membership bits for the
node -th node. |
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 DominatingSetEncoding getDefaultEncoding(int maximumInterface, int innerInterface, int outerInterface, int dominatingSize)
maximumInterface
and a maximum dominating
set size of dominating size
.maximumInterface
- the maximum interface sizeinnerInterface
- the size of the inner interfaceouterInterface
- the size of the outer interfacedominatingSize
- the maximum size of the dominating setpublic static final DominatingSetEncoding getEncoding(int maximumInterface, int innerInterface, int outerInterface, int dominatingSize, 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
- the maximum interface sizeinnerInterface
- the size of the inner interfaceouterInterface
- the size of the outer interfacedominatingSize
- the maximum size of the dominating setencodingName
- the class name of the dominating set encoding classpublic static final String getMembershipNodeType(int node)
node
-th node.node
- the position of the nodepublic static final String getDominationNodeType(int node)
node
-th node.node
- the position of the nodepublic static final String getDominationSetSizeType()
public abstract RavenBDD getMembershipBit(BDDEncoding.StateType type, int node)
node
-th node of the interface
is a member of the dominating set.type
- the state type, either current state or successor statenode
- the index of the interface nodepublic abstract RavenBDD getDominationBit(BDDEncoding.StateType type, int node)
state
the node
-th interface node
is dominated by some node of the dominating set 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 getDominationSizeBit(BDDEncoding.StateType type, int pos)
state
the pos
-th bit of the
current size of the dominating set.type
- the state type, either current state or successor statepos
- the position of the bitpublic final int getDominationNumber()
public final int getDominationBitLength()