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 Implementierung<br />

semantisch äquivalentes, günstigeres Muster. Daher wird eine neue Regel r0 : (d) → (b)<br />

erzeugt und der Menge der gefundenen Regeln hinzugefügt. Für die beiden nächsten<br />

Muster (e) und (f) kann diese Regel direkt angewendet werden. (e) und (f) werden verworfen.<br />

Auf das Muster (g) kann weder eine Regel angewendet werden, noch existiert ein<br />

semantisch äquivalentes Muster. (g) ist daher optimal und wird der Menge der optimalen<br />

Muster hinzugefügt. Für das folgende Muster (h) existiert wieder ein semantisch äquivalentes<br />

Muster: (a). Hieraus ergibt sich eine weitere Regel r1 : (h) → (a). Das letzten<br />

Muster (i) dieser Kostenstufe ist wieder ein optimales Muster.<br />

4.5 Erweiterung im Zusammenhang mit Konstanten<br />

Konstanten stellen aufgrund ihrer Vielzahl und der damit verbundenen starken Zunahme<br />

erzeugbarer Muster eine besondere Herausforderung an den <strong>Generierung</strong>sprozess hinsichtlich<br />

der benötigten Rechenzeit dar. Der nachfolgende Abschnitt befasst sich mit<br />

dieser Thematik und zeigt einen Lösungsansatz auf, der den im vorherigen Teil beschriebenen<br />

<strong>Generierung</strong>svorgang so erweitert, dass dieser in der Lage ist sämtliche Konstanten<br />

bei der Mustererzeugung und damit bei der Suche nach Ersetzungsregeln zu berücksichtigen.<br />

4.5.1 Symbolische Konstanten und komplexe symbolische Konstanten<br />

Ein erster Schritt um viele Konstanten auf einmal handhaben zu können, besteht in<br />

der Abstraktion von Konstanten, durch symbolische Konstanten. Hierzu wird ein neuer<br />

Operanden-Typ sc der Menge der zugelassenen Typen hinzugefügt (vgl. Definition 6).<br />

Die Kosten costT (sc) dieses neuen Typs entsprechen den Kosten von Konstanten, also<br />

dem Wert 0. Für den Ausgangsgrad gilt wie bei Konstanten: arity(sc) = 0. Eine<br />

symbolische Konstante entspricht formal der folgenden Definition 15.<br />

Definition 15 (Symbolische Konstante). Ein Knoten v ∈ VG eines Musters m mit dem<br />

zugehörigen Graphen G heißt symbolische Konstante, wenn gilt: type(v) = sc. Der Typ sc<br />

besitzt den Kostenwert 0, entsprechend betragen die Kosten einer symbolischen Konstante<br />

ebenfalls 0. Eine symbolische Konstante entspricht einem Stellvertreter für jede mögliche<br />

Konstante. Bei der Anwendung einer Regel überdeckt daher eine symbolische Konstante<br />

eine herkömmliche Konstante.<br />

Um symbolische Konstanten in den <strong>Generierung</strong>svorgang zu integrieren, wird, genau wie<br />

für Konstanten, zu Beginn der Mustererzeugung ein Basismuster mit einem Knoten vom<br />

Typ einer symbolischen Konstante generiert.<br />

Symbolische Konstanten sind allgemeiner als Konstanten und verhalten sich ähnlich zu<br />

Variablen. Für die Anwendung von Regeln gilt, dass eine Regel auch dann anwendbar<br />

51

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!