next up previous contents index
Nächste Seite: 8.3.1 Übersicht über die Aufwärts: 8. Validierung von YACS Vorherige Seite: 8.2 Eigenschaften des Prototypen   Inhalt   Index

8.3 Validierung anhand synthetischer Probleme

Die Erstellung von synthetischen Problemen zum Testen von Constraint-Solvern ist ein übliches Vorgehen. Es sind eine Reihe von Problemgeneratoren verfügbar, wie z.B. der Uniform Random Binary CSP Generator8.1 von Christian Bessière, mit denen sich Constraint-Probleme mit unterschiedlichen Eigenschaften komfortabel generieren lassen (vgl. Abschnitt 4.3). Diesen Werkzeugen ist gemein, dass sich mit ihnen ausschließlich Constraint-Probleme in einer extensionalen Repräsentation generieren lassen. Dies ist problematisch, da das YACS-Framework ausdrücklich für intensionale Constraints entworfen wurde.

Einen Ausweg bietet eine Problembibliothek wie die CSPLib8.2. In ihr sind eine Reihe von Beispielproblemen aufgeführt, anhand derer sich die Effizienz von unterschiedlichen Constraint-Solvern vergleichen lässt. Im Fokus der Validierung des YACS-Frameworks steht allerdings weniger die Effizienz der implementierten Constraint-Solver. Vielmehr sollen grundlegendere Funktionalitäten des Prototypen von YACS getestet und demonstriert werden. Die synthetischen Probleme zur Validierung von YACS sind daher von relativ einfacher Natur und wurden den Lehrbüchern von Marriott und Stuckey (1999) sowie Russel und Norvig (2002) bzw. der Arbeit von Davis (1987) entnommen.

Im Rahmen der Entwicklung des YACS-Frameworks wurde das Programm YacsTester erstellt. Darin werden anhand einer Reihe von synthetischen Problemstellungen die Funktionalitäten des YACS-Frameworks und der entwickelten Lösungsverfahren demonstriert und getestet. Das Programm nimmt eine Initialisierung unterschiedlicher Constraint-Probleme vor und führt zwei Auswertevorgänge durch. Dazwischen werden Modifikationen an den bestehenden Constraint-Problemen vorgenommen. Die Ergebnisse der Auswertevorgänge werden jeweils ausgegeben.

Anhand des Programms YacsTester soll gezeigt werden, dass mit dem YACS-Framework unterschiedliche Problemstellungen strategiebasiert mit unterschiedlichen Lösungsverfahren behandelt werden können. Es soll weiterhin gezeigt werden, das sich durch YACS sowohl finite als auch infinite Wertebereiche verarbeiten lassen, wobei inkrementelle Veränderungen am Constraint-Netz möglich sein sollen.

Aus Gründen der Übersichtlichkeit ist das Programm YacsTester vollständig in Anhang F ff. dokumentiert. Die nachfolgenden Zeilenangaben beziehen sich auf das dort enthaltene Programm-Listing.



Fußnoten

...8.1
http://www.lirmm.fr/~bessiere/generator.html
...8.2
http://www.csplib.org


Unterabschnitte
next up previous contents index
Nächste Seite: 8.3.1 Übersicht über die Aufwärts: 8. Validierung von YACS Vorherige Seite: 8.2 Eigenschaften des Prototypen   Inhalt   Index