next up previous contents index
Nächste Seite: 5.2.3.1 Constraint-Propagation Aufwärts: 5.2 Klassische Constraint Satisfaction Vorherige Seite: 5.2.2 Lösen eines CSP   Inhalt   Index

5.2.3 Konsistenzverfahren

Die Belegung zweier Variablen ist konsistent, wenn alle Bedingungen (Constraints) an diesen beiden Variablen erfüllt sind. Analog sind drei Variablen konsistent, wenn sie mit Werten aus ihren jeweiligen Wertebereichen belegt sind, so dass alle betroffenen Constraints erfüllt sind etc. Konsistenzbasierte Constraint-Solver nehmen eine Domänenreduktion vor, indem sie mittels entsprechender Algorithmen Konsistenztests durchführen und ungültige Werte aus den Domänen der Constraint-Variablen entfernen. Das CSP wird dadurch in ein äquivalentes, einfacheres CSP umgeformt, in dem sich in nachfolgenden Schritten leichter eine Lösung finden lässt. Je nach gefordertem Konsistenzgrad sind diese Konsistenztests entsprechend aufwendig.

Die Anwendung von Konsistenztechniken ist eine a priori Reduktion des Suchraums, mit dem Ziel Inkonsistenzen durch ungültige Variablenbelegungen weitestgehend auszuschließen. Wenn durch diesen Vorgang die Domäne einer Constraint-Variable keine Elemente mehr enthält, ist frühzeitig erkennbar, dass sich das CSP offensichtlich nicht lösen lässt (engl. domain wipe out). Den Constraints fällt dabei eine aktive Rolle zu. Sie sind aktive Komponenten im Constraint-Netz, die aufgrund ihrer Eigenschaften die Wertebereiche der ihnen zugeordneten Variablen beschränken. Dadurch, dass die Constraints über ihre Variablen im Constraint-Netz verbunden sind, können Einschränkungen der Wertebereiche durch das Netz propagiert werden.



Unterabschnitte
next up previous contents index
Nächste Seite: 5.2.3.1 Constraint-Propagation Aufwärts: 5.2 Klassische Constraint Satisfaction Vorherige Seite: 5.2.2 Lösen eines CSP   Inhalt   Index