|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectyacs.parser.Expression
yacs.parser.BinaryOperator
Klasse zur Repräsentation eines binären Operators 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 | |
BinaryOperator(int type,
java.lang.String name,
Expression expr1,
Expression expr2)
Konstruktor -- Instantiiert den Operator mit seinem Typ, seinem "Namen" und den beiden zugehörigen Constraint-Ausdrücken. |
|
| 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. |
java.lang.String |
refine()
Liefert den Namen der Variable, deren Wertebereich 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. |
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 BinaryOperator(int type,
java.lang.String name,
Expression expr1,
Expression expr2)
type - intname - Stringexpr1 - Expressionexpr2 - Expression| Method Detail |
public java.lang.String refine()
null zurück, wenn keine Änderung vorgenommen wurde.
ACHTUNG: Verarbeitet zurzeit ausschließlich Constraints bzw.
Expressions, die eine "solution function" darstellen.
public boolean setDomain(java.lang.String variableName,
Domain domain)
Expressiontrue) oder nicht (false).
setDomain in class ExpressionvariableName - Stringdomain - Domain
public Domain getDomain(java.lang.String variableName)
Expression
getDomain in class ExpressionvariableName - String
public java.util.List getVariables()
Expression
getVariables in class Expressionpublic java.util.List getUnsetVariables()
Expression
getUnsetVariables in class Expressionpublic boolean unsetVariablesLeft()
Expressiontrue) oder nicht
(false).
unsetVariablesLeft in class Expression
public boolean set(java.lang.String variableName,
DomainElement element)
Expressiontrue zurückgegeben, ansonsten
false.
set in class ExpressionvariableName - Stringelement - DomainElement
public DomainElement get(java.lang.String variableName)
Expression
get in class ExpressionvariableName - String
public boolean satisfiable()
Expression
satisfiable in class Expressionpublic DomainElement evaluate()
Expression
evaluate in class Expressionpublic java.util.List getPrimitiveExpressions()
ExpressionExpression).
getPrimitiveExpressions in class Expressionpublic Variable getVariableReference(java.lang.String variableName)
Expression
getVariableReference in class ExpressionvariableName - String
public boolean containsVariable(java.lang.String variableName)
Expressiontrue, wenn der Expression die Variable mit dem
übergebenen Namen enthält. Ansonsten wird false zurückgegeben.
containsVariable in class ExpressionvariableName - String
public boolean hasFalseDomain()
Expressiontrue, 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 Expressionpublic boolean hasValuationDomain()
Expressiontrue, 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 Expressionpublic boolean setValuationDomain()
Expressiontrue, wenn das Ergebnis positiv ist, d.h. die Werte einer
"valuation domain" konnten alle gesetzt werden. Ansonsten wird
false zurückgegeben.
setValuationDomain in class Expressionpublic void singletons()
Expression
singletons in class Expressionpublic int count(java.lang.String variableName)
Expression
count in class ExpressionvariableName - String
public void init()
Expression
init in class Expressionpublic 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 | |||||||||