|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectyacs.parser.Expression
yacs.parser.Variable
Klasse zur Repräsentation einer numerischen Variablen 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 | |
Variable(java.lang.String variableName)
Konstruktor -- Instantiiert die Variable mit ihrem Namen. |
|
Variable(java.lang.String variableName,
Domain domain)
Konstruktor -- Instantiiert die Variable mit ihrem Namen und ihrer Domäne. |
|
Variable(java.lang.String variableName,
Domain domain,
DomainElement element)
Konstruktor -- Instantiiert die Variable mit ihrem Namen, ihrer Domäne und einer aktuellen Belegung. |
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. |
boolean |
deleteValue(DomainElement element)
Entfernt das übergebene Element aus der Domäne der Variablen. |
DomainElement |
evaluate()
Wertet den Constraint-Ausdruck aus. |
DomainElement |
get(java.lang.String variableName)
Liefert die Wertebelegung der übergebenen Variable. |
Domain |
getDomain()
Liefert die zugehörige Domäne der Variablen. |
Domain |
getDomain(java.lang.String variableName)
Liefert die Domäne der übergebenen Variable. |
java.lang.String |
getName()
Liefert den Namen der Variablen. |
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. |
DomainElement |
getValue()
Liefert die Wertebelegung der Variable. |
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 |
narrow(int operatorType,
DomainElement element)
Liefert true n wenn der Wertebereich der Variable eingeschränkt
wurde. |
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. |
boolean |
setValue(DomainElement element)
Belegt diese Variable mit einem Element aus ihrer Domäne. |
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 Variable(java.lang.String variableName)
variableName
- Stringpublic Variable(java.lang.String variableName, Domain domain)
variableName
- Stringdomain
- Domainpublic Variable(java.lang.String variableName, Domain domain, DomainElement element)
variableName
- Stringdomain
- Domainelement
- DomainElementMethod Detail |
public java.lang.String getName()
public Domain getDomain()
getDomain(String)
-Methode) unter
Umgehung der rekursiven Struktur, wenn sichergestellt ist, dass das
vorhandene Objekt eine Instanz der Klasse yacs.parser.Variable
ist.
public boolean setValue(DomainElement element)
true
, wenn dies erfolgreich war, false
wenn
nicht (Wert des Elements in der Domäne nicht vorhanden). Diese Methode
ermöglicht den direkten Aufruf (anstatt der set()
-Methode)
unter Umgehung der rekursiven Struktur, wenn sichergestellt ist, dass das
vorhandene Objekt eine Instanz der Klasse yacs.parser.Variable
ist.
element
- DomainElement
public DomainElement getValue()
get()
-Methode) unter Umgehung der
rekursiven Struktur, wenn sichergestellt ist, dass das vorhandene Objekt
eine Instanz der Klasse yacs.parser.Variable
ist.
public boolean deleteValue(DomainElement element)
null
). Liefert true
, wenn das Entfernen
erfolgreich war (Element war in der Domäne enthalten), false
wenn nicht.
element
- DomainElement
public boolean narrow(int operatorType, DomainElement element)
true
n wenn der Wertebereich der Variable eingeschränkt
wurde. Gibt false
zurück, wenn keine Änderung vorgenommen
wurde.
operatorType
- intelement
- DomainElement
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 |