public abstract class ColorabilityEncoding extends BDDEncoding
Note: The concrete implementation of a colorability encoding can be found in classes extending this abstract class.
DefaultColorabilityEncoding
,
ColorabilityAutomaton
BDDEncoding.StateType
Modifier and Type | Method and Description |
---|---|
abstract RavenBDD |
getBDDForColor(BDDEncoding.StateType type,
int node,
int color)
Constructs a BDD which is
true if and only if in the state state
the node -th interface node either has some color color . |
abstract RavenBDD |
getColorBit(BDDEncoding.StateType type,
int node,
int bit)
Returns the
bit -th BDD node of the color encoding of the node -th node
for the state state . |
int |
getColorBitLength()
Returns the number of bits used to encode
the color of a single node.
|
int |
getColorCount()
Returns the number of colors.
|
static String |
getColorNodeType(int node)
Returns the type string indicating the color bits for the
node -th node color. |
static ColorabilityEncoding |
getDefaultEncoding(int maximumInterface,
int innerInterface,
int outerInterface,
int colors)
Returns the default BDD encoding for a colorability instance with a maximum interface size
of
maximumInterface and a number of colors of colors . |
static ColorabilityEncoding |
getEncoding(int maximumInterface,
int innerInterface,
int outerInterface,
int colors,
String encodingName)
Returns the BDD encoding for a colorability instance given by the class name
name with a maximum interface size of maximumInterface and a
number of colors of colors . |
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 ColorabilityEncoding getDefaultEncoding(int maximumInterface, int innerInterface, int outerInterface, int colors)
maximumInterface
and a number of colors of colors
.maximumInterface
- the maximum interface sizeinnerInterface
- size of the inner interfaceouterInterface
- size of the outer interfacecolors
- the number of colorspublic static final ColorabilityEncoding getEncoding(int maximumInterface, int innerInterface, int outerInterface, int colors, String encodingName)
name
with a maximum interface size of maximumInterface
and a
number of colors of colors
. If no colorability encoding with the
given name can be found the default encoding is returned.maximumInterface
- the maximum interface sizeinnerInterface
- size of the inner interfaceouterInterface
- size of the outer interfacecolors
- the number of colorsencodingName
- the class name of the dominating set encoding classpublic static final String getColorNodeType(int node)
node
-th node color.node
- the position of the nodepublic abstract RavenBDD getColorBit(BDDEncoding.StateType type, int node, int bit)
bit
-th BDD node of the color encoding of the node
-th node
for the state state
.type
- the state type, either current state or successor statenode
- the position of the interface nodebit
- the index of the bit in the color encodingpublic abstract RavenBDD getBDDForColor(BDDEncoding.StateType type, int node, int color)
true
if and only if in the state state
the node
-th interface node either has some color color
.
type
- the state type, either current state or successor statenode
- the index of the interface nodecolor
- the color of the nodenode
-th node has been coloredpublic final int getColorCount()
public final int getColorBitLength()