Zitat Zitat von terter Beitrag anzeigen
Hi,

danke für die Antwort. Die Tabelle ist klar. Was meinst du mit ich schreibe mir eine Liste der "Contrains" auf und streiche die weg?ß Kannste mir mal ein Beispiel machen?

Danke
Constraints sind irgendwann komplett konsumiert. Manche Constraints können öfters angewandt werden, manche aber auch nur genau einmal. Wenn ein Constraint nicht mehr angewandt werden kann, empfiehlt es sich dieses heraus zu streichen, damit man das nicht immer wieder durchdenkt.


Ein Beispiel:


PHP-Code:
Kleidung             Beziehung-mit            tanzt-mit
-------------------------------------------------------------
Leonie    | {rotgelb, ..}    | {Max, ...}            | {Max, ...}
Anna     | {rotgelb, ..}    | {Max, ...}            | {Max, ...}
...        | ...                | ...                    | ...
Max        | {graublau, ..}  | { Leonie, ...}        | { Leonie, ...} 

3. Anna trägt nicht das rote Kleid.

Dieses Constraint füht dazu, dass wir "rot" bei Anna heraus streichen. Durch dieses Constraint wissen wir, dass die Variable "Kleidung" für Anna niemals rot ergeben kann. Somit bleiben nur KLeider der anderen Farbe übrig.


PHP-Code:
              Kleidung             Beziehung-mit            tanzt-mit
-------------------------------------------------------------
Leonie    | {rotgelb, ..}    | {Max, ...}            | {Max, ...}
Anna     | {--r-o-t--, gelb, ..}    | {Max, ...}            | {Max, ...}
...        | ...                | ...                    | ...
Max        | {graublau, ..}  | { Leonie, ...}        | { Leonie, ...} 

Das Constraint wird bei weiterer Anwendung niemals mehr eine Veränderung an der Tabelle erzielen. Wir können es aus unserer Constraint-Liste heraus streichen, da es nie wieder gebraucht wird.


Folgendes Constraint hingegen können wir durchaus öfters gebrauchen:

1. Keines der Paare tanzt zusammen!

So können wir z.B. in die Situation kommen, dass wir über diese Regel erst bei Anna anwenden können und erst viel später bei Max. Wir können das Constraint erst aus unserer Liste entfernen, wenn wir es auf alle Zeilen angewandt wissen.



EDIT:

Manche Punkte beschreiben mehrere Constraints:

9. Leonie trägt an diesem Abend ein kurzes gelbes Kleid. Sie ist nicht mit dem Mann verheiratet der den hellblauen Anzug trägt. Auch Lisa ist nicht mit dem Mann in dem hellblauen Anzug verheiratet.

=> Leonie trägt an diesem Abend ein kurzes gelbes Kleid.
=> Leonie ist nicht mit dem Mann verheiratet der den hellblauen Anzug trägt.
=> Auch Lisa ist nicht mit dem Mann in dem hellblauen Anzug verheiratet.


Genau so gibt es einige Constraints die durch die Tabelle zusätzlich bestehen, da Veränderungen einer Zeile gleich die Andere mit beeinflussen. (Unterschiedliche Beziehungen, ...., sobald etwas eindeutig ist, fällt die Variable natürlich aus den Anderen Listen der selben Spalte weg)