Abstrakte Klasse für eine rekursive Struktur zur Repräsentation eines algebraischen Constraint-Problems.
Deklaration:
Methoden:
Belegt den Wertebereich der angegebenen Variable und gibt zurück, ob dies erfolgreich war (true) oder nicht (false).
Liefert die Domäne der übergebenen Variable.
Liefert eine Liste der Variablennamen des Constraint-Problems.
Liefert eine Liste mit den Namen der noch unbelegten Variablen.
Gibt zurück ob unbelegte Variablen existieren (true) oder nicht (false).
Belegt die übergebene Variable mit einem Wert. War die Wertebelegung erfolgreich, wird true zurückgegeben, ansonsten false.
Liefert die Wertebelegung der übergebenen Variable.
Prüft die Erfüllbarkeit des Constraint-Ausdrucks bzgl. der aktuellen Wertebelegung.
Wertet den Constraint-Ausdruck aus. Liefert als Ergebnis die Belegung einer Variable, den Wert einer Konstante oder das Ergebnis einer Berechnung.
Liefert die einzelnen ,,Primärausdrücke`` des Constraint-Problems innerhalb einer Liste (enthält Instanzen des Interface Expression).
Liefert die Referenz auf die Variable mit dem übergebenen Namen.
Liefert true, wenn der Expression die Variable mit dem übergebenen Namen enthält. Ansonsten wird false zurückgegeben.
Liefert true, wenn die Domäne einer Variable leer ist. In diesem Fall ist keine Konsistenz bzw. Lösung herstellbar. Ansonsten wird false zurückgegeben.
Liefert 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.
Wenn eine valuation domain vorliegt, werden die Variablen mit dem in der jeweiligen Domäne einzig vorhandenen Wert belegt. Liefert true, wenn das Ergebnis positiv ist, d.h. die Werte einer valuation domain konnten alle gesetzt werden. Ansonsten wird false zurückgegeben.
Entfernt bei allen Variablen, die mit einem Wert belegt sind, sämtliche anderen Elemente aus deren Domäne. Variablen, die nicht mit einem Wert belegt sind, bleiben unverändert.
Liefert den ,,Vernetzungsgrad`` einer Variablen innerhalb des Constraint-Problems, d.h. dem Grad ihres Vorkommens in den Constraints.
Initialisiert die Constraint-Variablen. Es werden alle vorhandenen Belegungen entfernt.
Konvertiert das Objekt in einen String.
Liefert eine Kopie dieses Objekts. Allerdings nur eine shallow copy, d.h. die Felder des Objektes werden nicht geklont.
Klont this und rekursiv alle darin referenzierten Objekte mit (die Selbheit indirekt mehrfach referenzierter Objekte bleibt erhalten).