|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectyacs.parser.Expression
yacs.parser.Constant
Klasse zur Repräsentation einer Konstante innerhalb einer rekursiven
Struktur zur Repräsentation eines algebraischen Constraint-Problems
(Dokumentation siehe Expression
).
Copyright (C) 2005 Wolfgang Runte
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
Constructor Summary | |
Constant(DomainElement element)
Konstruktor -- Instantiierung der Konstante mit ihrer Belegung. |
|
Constant(double lo,
double hi)
Konstruktor -- Aus Gründen der Vereinfachung können zur Instantiierung auch lediglich zwei double -Werte als untere und obere Schranke
eines Intervalls angegeben werden. |
|
Constant(java.lang.Double lo,
java.lang.Double hi)
Konstruktor -- Aus Gründen der Vereinfachung können zur Instantiierung auch zwei Double -Objekte als untere und obere Schranke eines
Intervalls angegeben werden. |
|
Constant(int value)
Konstruktor -- Aus Gründen der Vereinfachung kann zur Instantiierung auch lediglich ein int -Wert angegeben werden. |
|
Constant(java.lang.Integer value)
Konstruktor -- Aus Gründen der Vereinfachung kann zur Instantiierung auch ein Integer -Objekt angegeben werden. |
Method Summary | |
boolean |
containsVariable(java.lang.String variableName)
Liefert true , wenn der Expression die Variable mit dem
übergebenen Namen enthält. |
int |
count(java.lang.String variableName)
Liefert den "Vernetzungsgrad" einer Variablen innerhalb des Constraint-Problems, d.h. dem Grad ihres Vorkommens in den Constraints. |
DomainElement |
evaluate()
Wertet den Constraint-Ausdruck aus. |
DomainElement |
get(java.lang.String variableName)
Liefert die Wertebelegung der übergebenen Variable. |
Domain |
getDomain(java.lang.String variableName)
Liefert die Domäne der übergebenen Variable. |
java.util.List |
getPrimitiveExpressions()
Liefert die einzelnen "Primärausdrücke" des Constraint-Problems innerhalb einer Liste (enthält Instanzen des Interface Expression ). |
java.util.List |
getUnsetVariables()
Liefert eine Liste mit den Namen der noch unbelegten Variablen. |
Variable |
getVariableReference(java.lang.String variableName)
Liefert die Referenz auf die Variable mit dem übergebenen Namen. |
java.util.List |
getVariables()
Liefert eine Liste der Variablennamen des Constraint-Problems. |
boolean |
hasFalseDomain()
Liefert true , wenn die Domäne einer Variable leer ist.
|
boolean |
hasValuationDomain()
Liefert true , wenn eine "valuation domain" vorliegt, d.h. in
den Domänen aller Variablen ist jeweils genau ein Wert enthalten. |
void |
init()
Initialisiert die Constraint-Variablen. |
boolean |
satisfiable()
Prüft die Erfüllbarkeit des Constraint-Ausdrucks bzgl. der aktuellen Wertebelegung. |
boolean |
set(java.lang.String variableName,
DomainElement element)
Belegt die übergebene Variable mit einem Wert. |
boolean |
setDomain(java.lang.String variableName,
Domain domain)
Belegt den Wertebereich der angegebenen Variable und gibt zurück, ob dies erfolgreich war ( true ) oder nicht (false ). |
boolean |
setValuationDomain()
Wenn eine "valuation domain" vorliegt, werden die Variablen mit dem in der jeweiligen Domäne einzig vorhandenen Wert belegt. |
void |
singletons()
Entfernt bei allen Variablen, die mit einem Wert belegt sind, sämtliche anderen Elemente aus deren Domäne. |
java.lang.String |
toString()
Konvertiert das Objekt in einen String. |
boolean |
unsetVariablesLeft()
Gibt zurück ob unbelegte Variablen existieren ( true ) oder nicht
(false ). |
Methods inherited from class yacs.parser.Expression |
clone, cloneDeep |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public Constant(DomainElement element)
element
- DomainElementpublic Constant(java.lang.Integer value)
Integer
-Objekt angegeben werden. Das benötigte
DomainElement
bzw. NumericFDElement
wird
entsprechend erzeugt.
value
- Integerpublic Constant(int value)
int
-Wert angegeben werden. Das benötigte
DomainElement
bzw. NumericFDElement
wird
entsprechend erzeugt.
value
- intpublic Constant(java.lang.Double lo, java.lang.Double hi)
Double
-Objekte als untere und obere Schranke eines
Intervalls angegeben werden. Das benötigte DomainElement
bzw. IntervalDomainElement
wird entsprechend erzeugt.
lo
- doublehi
- doublepublic Constant(double lo, double hi)
double
-Werte als untere und obere Schranke
eines Intervalls angegeben werden. Das benötigte DomainElement
bzw. IntervalDomainElement
wird entsprechend erzeugt.
lo
- doublehi
- doubleMethod Detail |
public boolean setDomain(java.lang.String variableName, Domain domain)
Expression
true
) oder nicht (false
).
setDomain
in class Expression
variableName
- Stringdomain
- Domain
public Domain getDomain(java.lang.String variableName)
Expression
getDomain
in class Expression
variableName
- String
public java.util.List getVariables()
Expression
getVariables
in class Expression
public java.util.List getUnsetVariables()
Expression
getUnsetVariables
in class Expression
public boolean unsetVariablesLeft()
Expression
true
) oder nicht
(false
).
unsetVariablesLeft
in class Expression
public boolean set(java.lang.String variableName, DomainElement element)
Expression
true
zurückgegeben, ansonsten
false
.
set
in class Expression
variableName
- Stringelement
- DomainElement
public DomainElement get(java.lang.String variableName)
Expression
get
in class Expression
variableName
- String
public boolean satisfiable()
Expression
satisfiable
in class Expression
public DomainElement evaluate()
Expression
evaluate
in class Expression
public java.util.List getPrimitiveExpressions()
Expression
Expression
).
getPrimitiveExpressions
in class Expression
public Variable getVariableReference(java.lang.String variableName)
Expression
getVariableReference
in class Expression
variableName
- String
public boolean containsVariable(java.lang.String variableName)
Expression
true
, wenn der Expression die Variable mit dem
übergebenen Namen enthält. Ansonsten wird false
zurückgegeben.
containsVariable
in class Expression
variableName
- String
public boolean hasFalseDomain()
Expression
true
, wenn die Domäne einer Variable leer ist.
In diesem Fall ist keine Konsistenz bzw. Lösung herstellbar.
Ansonsten wird false
zurückgegeben.
hasFalseDomain
in class Expression
public boolean hasValuationDomain()
Expression
true
, wenn eine "valuation domain" vorliegt, d.h. in
den Domänen aller Variablen ist jeweils genau ein Wert enthalten. Ansonsten
wird false
zurückgegeben.
hasValuationDomain
in class Expression
public boolean setValuationDomain()
Expression
true
, wenn das Ergebnis positiv ist, d.h. die Werte einer
"valuation domain" konnten alle gesetzt werden. Ansonsten wird
false
zurückgegeben.
setValuationDomain
in class Expression
public void singletons()
Expression
singletons
in class Expression
public int count(java.lang.String variableName)
Expression
count
in class Expression
variableName
- String
public void init()
Expression
init
in class Expression
public java.lang.String toString()
Expression
toString
in class Expression
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |