next up previous contents index
Nächste Seite: 4.4.3 Überbestimmte Constraint-Probleme Aufwärts: 4.4 Ansätze zur Constraint-Verarbeitung Vorherige Seite: 4.4.1 Allgemeine Konzepte   Inhalt   Index

4.4.2 Constraint-Verfahren zur Konfigurierung

Seitdem die Nutzung von Constraints im Rahmen von Konfigurierungsaufgaben mehr und mehr an Bedeutung gewonnen hat, wurden spezielle Vorgehensweisen entwickelt, Konfigurierungsaufgaben als CSP abzubilden (vgl. Mittal und Frayman, 1989). Allgemein werden Constraints innerhalb einer Konfiguration dazu genutzt, die Art und Weise, wie unterschiedliche Komponenten miteinander kombiniert werden können, einzuschränken. Vor dem Hintergrund sich verändernder Teilkonfigurationen ist für den Bereich der Konfigurierung der dynamische Aspekt von besonderem Interesse. Da das klassische CSP ein statisches Problem ist, wurden weitergehende Ansätze entwickelt und in constraint-basierte Produkte implementiert (vgl. Abschnitt 2.3 und Anhang A). Ein solcher Ansatz ist das Dynamic Constraint Satisfaction Problem (DCSP) von Mittal und Falkenhainer (1990). Das DCSP wurde gegenüber dem herkömmlichen CSP in dem Sinne erweitert, dass unterschiedliche Lösungen für ein und dasselbe Problem weder dieselben Variablen noch dieselben (erfüllten) Constraints beinhalten müssen. Dies wird erreicht, indem Variablen und Constraints den Status ,,aktiviert`` bzw. ,,deaktiviert`` annehmen können. Die Bedingungen bzgl. des Aktivierungsstatus von Variablen, d.h. welche der initial nicht aktiven Variablen inkrementell zu welchem Zeitpunkt aktiviert werden, sind durch sog. activity constraints formuliert. Ein weiterer Constraint-Typ (compatibility constraints) verkörpert herkömmliche Constraints, die ausschließlich dann aktiviert werden, wenn alle darin vorkommenden Variablen aktiviert sind. In einem DCSP nach Mittal und Falkenhainer (1990) werden somit Bedingungen bzgl. der Existenz von Variablen und Constraints selbst wiederum durch (Meta-)Constraints formuliert.4.11

Diese Art dynamischer Constraint-Erfüllung ist nicht zu verwechseln mit dem DCSP, wie es von Dechter und Dechter (1988) beschrieben wird. Laut Dechter und Dechter (1988) ist ein Dynamic Constraint Satisfaction Problem P eine Sequenz $P_0{}\ldots{}P_\alpha$ von statischen CSPs, wobei jedes nachfolgende Problem aus der Veränderung zum Vorgänger resultiert. Veränderungen sind demnach das Hinzufügen von Constraints und Variablen (engl. restriction) bzw. das Entfernen von Constraints (engl. relaxation). Dechter und Dechter (1988) nutzen den derart definierten DCSP-Formalismus zum Vergleich von Lösungen, um die Auswirkungen von Änderungen an CSPs aufzuzeigen.4.12 Zur Unterscheidung beider Ansätze erfolgte in neueren Veröffentlichungen (vgl. Sabin und Freuder, 1999,1998) eine Umbenennung des DCSP von Mittal und Falkenhainer (1990) in Conditional Constraint Satisfaction Problem (CondCSP).

Eine weitere Variante des klassischen CSP, welches ebenfalls den Bereich der Konfigurierung adressiert, allerdings ohne Nutzung von Aktivitäts-Constraints, ist das Composite Constraint Satisfaction Problem (CompCSP). Das CompCSP erlaubt die Abbildung von Aggregatstrukturen und eine hierarchische Organisation der Komponententypen, indem das klassische CSP-Paradigma in der Hinsicht erweitert wird, dass Werte für eine (Meta-)Variable vollständige Teilprobleme repräsentieren können. Neben der hierdurch möglichen Strukturierung ist durch die Variation unterschiedlicher Teilprobleme ebenfalls ein dynamischer Effekt gegeben. Zudem lassen sich, da keine speziellen Constraints o.ä. verwendet werden, herkömmliche Lösungsalgorithmen für CSPs auf einfache Art und Weise zur Auflösung von CompCSPs übertragen (vgl. Sabin und Freuder, 1996a,b).

Eine Weiterentwicklung des DCSP bzw. CondCSP ist das Generative Constraint Satisfaction Problem (GCSP) von Stumptner und Haselböck (1993). Das GCSP bietet neben dem dynamischen Aspekt durch Aktivitäts-Constraints im Gegensatz zum CondCSP und CompCSP die Möglichkeit, Constraints auf einem Metalevel als Relationen zwischen Komponententypen anstatt zwischen bestimmten Komponenten zu spezifizieren, wodurch die gleiche Behandlung mehrfach vorkommender Komponenten ermöglicht bzw. vereinfacht wird. Diese sog. generischen Constraints enthalten Metavariablen als Platzhalter für Komponenten-Variablen (vgl. Stumptner et al., 1998, S. 314). Generische Constraints sind vergleichbar mit den konzeptuellen Constraints aus dem dreistufigen Constraint-Modell von ENGCON, welches ebenfalls ein dynamisch anwachsendes Constraint-Netz unterstützt. Anstatt Aktivitäts-Constraints verfügt ENGCON über einen flexiblen Pattern-Matching-Mechanismus zur gesteuerten Instantiierung von Constraint-Relationen (vgl. Abschnitt 3.6 und Abschnitt 3.7.2).



Fußnoten

...4.11
Allerdings ist es mit DCSPs nach Mittal und Falkenhainer (1990) nicht möglich, ein Problem in nichtmonotoner Art und Weise zu beschreiben, in der Form, dass Variablen aus dem Constraint-Netz entfernt werden. Stattdessen lösen Aktivitäts-Constraints wie herkömmliche Constraints eine Inkonsistenz aus, wenn eine Variable aktiviert ist, die laut Constraint deaktiviert sein müsste (vgl. Stumptner, 1997, S. 117). Die Auflösung derartiger Inkonsistenzen wiederum kann durch ein übergeordnetes Lösungsverfahren geschehen (z.B. Backtracking, vgl. Abschnitt 5.2.4.2) oder bereits bei der Modellierung des Problems durch Einfügen entsprechender Constraints verhindert werden (vgl. Sabin und Freuder, 1999, S. 92).
...4.12
Dies geschieht zur Unterstützung von belief bzw. reason maintenance innerhalb von Truth Maintenance Systems (TMS), in denen Constraint-Verfahren zur Verwaltung von Abhängigkeiten eingesetzt werden (vgl. Russel und Norvig, 2002, S. 157 u. S. 360 f.).

next up previous contents index
Nächste Seite: 4.4.3 Überbestimmte Constraint-Probleme Aufwärts: 4.4 Ansätze zur Constraint-Verarbeitung Vorherige Seite: 4.4.1 Allgemeine Konzepte   Inhalt   Index