25.10.2012 Aufrufe

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4 Implementierung<br />

würde das Muster m6 nicht von der Mustererzeugung generiert werden, da auf die beiden<br />

zugrunde liegenden Muster m1 und m3 bereits eine Regel anwendbar ist und diese somit<br />

nicht optimal sind.<br />

Eine Ausnahme bilden Muster, für die eine Regel existiert, deren rechte Seite ein Teilmuster<br />

der linken Seite ist, oder die lediglich den Wurzel-Knoten durch einen günstigeren<br />

Knoten ersetzen. Anders ausgedrückt, darf ein Muster nur dann von der weiteren Mustererzeugung<br />

ausgeschlossen werden, wenn eine Regel existieren, so dass durch deren<br />

Anwendung kein teureres Muster aufgrund von Mehrfachverwendern entstehen kann.<br />

Ein Beispiel zeigt Abbildung 4.15. Das Muster der rechten Seite der Regel r entspricht<br />

einem Teilmuster der linken Seite der Regel. Die Addition und die Konstante 0 werden<br />

entfernt. Wird r auf das ebenfalls in der Abbildung gezeigte Muster m angewendet,<br />

bleibt, trotz der Transformationsvorschrift von r, die Konstante 0 aufgrund einer Mehrfachverwendung<br />

bestehen. Da diese keine Kosten verursacht und auch durch r keine<br />

neuen Teilausdrücke dem Muster m ′ hinzugefügt werden, können sich die Kosten trotz<br />

Mehrfachverwendern nur verringern.<br />

var0 0<br />

add<br />

⇒ var0<br />

var0 0<br />

add<br />

???<br />

r<br />

→<br />

var0 0<br />

Regel r m m ′<br />

Abbildung 4.15: Die Konstante 0 bleibt auch nach Anwendung von r auf m aufgrund<br />

der Mehrfachverwendung bestehen. Da Konstanten den Kostenwert 0<br />

besitzen werden allerdings keine neuen Kosten hinzugefügt.<br />

4.3.2 Vorabtest<br />

Der Vorabtest trifft für jedes neue Muster m eine Auswahl aus der Menge der bereits<br />

bekannten, optimalen Muster MOpt. Die Idee dieses Tests besteht darin, die Ergebnisse<br />

eines neuen Musters bezüglich einer kleinen Menge von Testvektoren (Eingabevektoren)<br />

mit den Ergebnissen bereits vorhandener Muster zu vergleichen. Wird hierbei bereits eine<br />

Differenz festgestellt, folgt direkt, dass das entsprechende Musterpaar nicht äquivalent<br />

sein kann. Eine weitere Untersuchung durch den aufwendigeren Erfüllbarkeitstest ist<br />

nicht mehr notwendig. Das Ziel dieses Vorabtest ist es also, so viele Muster wie möglich<br />

auszuschließen, um den Erfüllbarkeitstest zu entlasten.<br />

???<br />

39

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!