|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchoco.kernel.model.constraints.automaton.LayeredDFA
public class LayeredDFA
A layered automaton that offers the possibility to dynamically add or remove tuples incrementally. This structure is used for constructing the automaton corresponding to a n-ary constraint defined by its allowed or forbidden tuples. Once the automaton is build, it is replaced by a LightLayeredDFA which uses less memory but can not be dynamically modified anymore.
Field Summary | |
---|---|
protected int[] |
domSizes
|
protected State |
initState
|
protected State |
lastState
|
protected ArrayList<State>[] |
levelStates
|
protected int |
nbLevel
|
protected int |
nbState
|
protected int[] |
offsets
|
Constructor Summary | |
---|---|
LayeredDFA(int[] domSizes,
int nblevel)
construct an initial automaton with different domain sizes per layer The automaton initially accepts all words |
|
LayeredDFA(int domSize,
int nblevel)
construct an initial automaton. |
Method Summary | |
---|---|
State |
addState(int level)
|
void |
addTransition(State st1,
State st2,
int transition)
|
void |
automatAll()
|
void |
buildAnEmptyAutomaton()
|
void |
clearAutomate()
|
State |
cloneState(State origin)
|
State |
cloneState(State origin,
Hashtable<State,State> clonedStates,
ArrayList<State> newStates)
|
int |
getAutomateSize()
|
int |
getDomSize(int i)
|
State |
getInitState()
|
State |
getLastState()
|
Iterator |
getLevelIterator(int level)
|
int |
getNbLevel()
|
int |
getNextIdx()
|
int |
getOffset(int i)
|
boolean |
isEmpty()
|
void |
loadDotty(String fileName)
|
State |
makeState(LayeredDFA auto,
int level)
|
State |
makeState(State origin)
|
void |
mergeStates(State st1,
State st_supp)
|
void |
minimize(ArrayList<State> newStates)
|
int |
nbTransitions()
|
void |
removeGarbageNodes()
|
void |
removeNonTerminalsNodes()
|
void |
removeOffset(int[] tuple)
|
void |
removeState(State st)
|
void |
removeUnreachablesNodes()
************************************************************************ |
void |
setDomSize(int layer,
int domSize)
|
void |
setInitState(State init)
|
void |
setLastState(State last)
|
void |
setOffset(int layer,
int domSize)
|
void |
substract(BitSet[] gnogood)
Remove a SET of words from the automaton. |
void |
substract(int[] tuple)
Remove a word from the automaton. |
void |
toDotty(String f)
|
void |
union(int[] tuple)
Add a word to the automaton. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int[] domSizes
protected int[] offsets
protected State initState
protected State lastState
protected int nbState
protected ArrayList<State>[] levelStates
protected int nbLevel
Constructor Detail |
---|
public LayeredDFA(int domSize, int nblevel)
domSize
- : same size for all domainsnblevel
- : number of layerspublic LayeredDFA(int[] domSizes, int nblevel)
domSizes
- : size of each layersnblevel
- : number of layersMethod Detail |
---|
public void automatAll()
public void clearAutomate()
public void buildAnEmptyAutomaton()
public int getAutomateSize()
public int nbTransitions()
public State makeState(LayeredDFA auto, int level)
public State makeState(State origin)
public int getNbLevel()
public int getDomSize(int i)
public void setDomSize(int layer, int domSize)
public int getOffset(int i)
public void setOffset(int layer, int domSize)
public int getNextIdx()
public Iterator getLevelIterator(int level)
public void setInitState(State init)
public void setLastState(State last)
public State getInitState()
public State getLastState()
public boolean isEmpty()
public State addState(int level)
public void removeState(State st)
public void addTransition(State st1, State st2, int transition)
public void loadDotty(String fileName)
public void toDotty(String f)
public State cloneState(State origin)
public State cloneState(State origin, Hashtable<State,State> clonedStates, ArrayList<State> newStates)
public void removeOffset(int[] tuple)
public void union(int[] tuple)
public void substract(int[] tuple)
public void substract(BitSet[] gnogood)
public void removeUnreachablesNodes()
public void removeGarbageNodes()
public void removeNonTerminalsNodes()
public void minimize(ArrayList<State> newStates)
public void mergeStates(State st1, State st_supp)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |