25.10.2012 Aufrufe

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.2.3 Normalisierung<br />

4 Implementierung<br />

Die Menge der möglichen Muster nimmt aufgrund der vielen Kombinationsmöglichkeiten<br />

von Operationen und Operanden schnell zu. Es sind jedoch nicht alle Muster für<br />

den <strong>Generierung</strong>svorgang nötig. Durch Vereinheitlichung bzw. Normalisierung können<br />

bereits bei der Mustererzeugung überflüssige Muster ausgeschlossen werden.<br />

Normalisierung bezüglich mehrerer Variablen<br />

Viele Muster unterscheiden sich lediglich in der Anordnung ihrer Variablen, sind aber<br />

ansonsten bezüglich ihres Aufbaus identisch. Für n Variablen lassen sich n! fast identische<br />

Muster erzeugen, die sich nur durch eine andere Reihenfolge ihrer Variablen bei<br />

einer Postorder-Traversierung des Mustergraphen unterscheiden. Für eine Regel ist die<br />

konkrete Benennung der Variablen jedoch unerheblich. Entscheidend ist nur, dass die<br />

relative Position jeder einzelnen Variablen erhalten bleibt. Dies soll durch die beiden in<br />

Abbildung 4.6 dargestellten Regeln verdeutlicht werden. Obwohl sich die Benennung der<br />

Variablen (Knoten 1 und Knoten 2) in den Regeln r und r ′ unterscheidet, drücken beide<br />

Regeln dieselbe Transformationsvorschrift aus.<br />

Knoten 1<br />

var0<br />

add<br />

Knoten 1<br />

var1<br />

add<br />

2<br />

2<br />

Knoten 2<br />

sub<br />

var1<br />

sub<br />

Knoten 2<br />

sub<br />

var0<br />

sub<br />

1<br />

Regel r<br />

1<br />

Regel r ′<br />

⇒<br />

⇒<br />

var0<br />

var1<br />

var1<br />

sub 3<br />

add<br />

var0<br />

sub 3<br />

Abbildung 4.6: Viele Regeln unterscheiden sich lediglich in der Benennung ihrer Variablen,<br />

beschreiben aber dieselbe Transformationsvorschrift.<br />

add<br />

29

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!