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.

2 Grundlagen<br />

Die Abbildung type ordnet jedem Knoten v ∈ V einen Typ t ∈ T zu. T repräsentiert die<br />

Menge der zugelassenen Typen. Jede Operation, jede Konstante und die Variable bilden<br />

einen eigenen Typ t. Jedem dieser Typen wird durch die Abbildung arity : T → N0<br />

sein Ausgangsgrad zugeordnet. Jedem Typ t wird zudem durch die Abbildung eval : T ×<br />

Z arity(t) → Z ein Ergebnis bezüglich seiner Semantik und einem Eingabevektor tv ∈<br />

Z arity(t) zugeordnet.<br />

Die Abbildung pos ordnet jeder Kante e ∈ E ihre Position bezüglich des Ausgangsgrades<br />

arity(type(src(e))) des Quellknoten der Kante e zu. Für ein Muster mit Knotenmenge<br />

V und Kantenmenge E muss zudem gelten:<br />

∀e ∈ E : pos(e) < arity(type(src(e)))<br />

∀e, e ′ ∈ E : src(e) = src(e ′ ) ∧ pos(e) = pos(e ′ ) ⇒ e = e ′<br />

∀v ∈ V : |{e ∈ EG : src(e) = v}| = arity(type(v))<br />

Die Abbildung idx ordnet jedem Knoten v einen Index zu, so dass gilt:<br />

idx(v) < |{v ′ ∈ V : type(v ′ ) = type(v)}|<br />

∀v ′ ∈ V : idx(v ′ ) = idx(v) ∧ type(v ′ ) = type(v) ⇒ v = v ′<br />

Die Indizes aus der Abbildung idx werden immer pro Typ vergeben, d. h. eine Addition<br />

kann beispielsweise denselben Index wie eine Variable erhalten. Über den Index<br />

wird eine Ordnung der Knoten eines Typs innerhalb eines Muster erreicht. Vor allem<br />

für die Zuordnung von konkreten Zahlenwerten zu Variablen wird dies benötigt (vgl.<br />

Definition 9).<br />

Um zwei Muster hinsichtlich eines Kostenmodells vergleichen zu können, wird eine Kostenfunktion<br />

benötigt, die jedem Muster einen Kostenwert entsprechend des gewählten<br />

Kostenmodells zuordnet. Dazu werden die beiden folgenden Definitionen eingeführt:<br />

Definition 7 (Kosten eines Typs). Sei T die Menge der zugelassenen Typen. Die Abbildung<br />

costT : T → N0 ordnet jedem Typ t ∈ T seinen Kostenwert zu.<br />

Definition 8 (Kosten eines Musters). Sei m ein Muster, sowie costM : M → N0 eine<br />

Abbildung, die jedem Muster einen Kostenwert zuordnet. Für die Kosten costM(m) eines<br />

Musters m gilt:<br />

costM(m) = �<br />

costT (type(v))<br />

v∈V<br />

Anders ausgedrückt, die Kosten eines Muster m ergeben sich aus der Summe der Kosten<br />

jedes einzelnen Knotens v des Musters.<br />

13

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!