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

Regel wirklich um das optimale Muster aus der Menge der zu m semantisch äquivalenten<br />

Muster handelt.<br />

Sollen Regelzyklen in einer Menge von Regeln ausgeschlossen werden, ist für jede neue<br />

Regel, die dieser Menge hinzugefügt werden soll, zu prüfen, ob anschließend ein Zyklus<br />

besteht. Falls ja, darf die Regel nicht der Menge hinzugefügt werden. Da dieses Vorgehen<br />

zusätzlichen Aufwand für den <strong>Generierung</strong>sprozess bedeutet, wird im Rahmen dieser<br />

Arbeit eine solche Überprüfung nicht im vollen Umfang durchgeführt. Stattdessen wird<br />

ein alternatives Vorgehen gewählt, von dem zwar nicht erwiesen ist, dass es tatsächlich<br />

alle Zyklen verhindert. Allerdings konnte während der Implementierung und Evaluierung<br />

kein Fall beobachtet werden, der zu diesbezüglichen Problemen geführt hat.<br />

Lösungsansatz<br />

Bevor auf den eigentlich Vorgang zur Lösung, oder genauer zur Begrenzung des Problems<br />

eingegangen wird, folgt noch eine Vorüberlegung.<br />

Eine Folge von Regeln mit mindestens einer Optimierungsregel kann keinen Regelzyklus<br />

bilden, da für eine Optimierungsregel r : rl → rr mit den beiden Mustern rl und rr, sowie<br />

deren Kosten costM(rl) und costM(rr) gilt: costM(rl) > costM(rr). Die Kosten nehmen<br />

für das resultierende Muster ab. Eine umgekehrte Regel r ′ : r ′ l → r′ r mit costM(r ′ l<br />

costM(r ′ r) wird nach Definition 12 ausgeschlossen, weswegen es nicht möglich ist ein<br />

teureres Muster zu erzeugen. Eine Rekonstruktion des ursprünglichen Musters m ist<br />

nach Anwendung einer Optimierungsregel mit den zugelassenen Regeln nicht möglich.<br />

Für Folgen, die ausschließlich aus Transformationsregeln bestehen, sind zwei Fälle zu<br />

unterscheiden. Folgen mit mindestens einer Transformationsregel, die ein Muster auf ein<br />

strukturell unterschiedliches Muster abbildet und Folgen, bei denen alle Transformationsregeln<br />

nur aus strukturell identischen Mustern aufgebaut sind.<br />

Definition 19 (strukturell identische Muster). Zwei Muster m und m ′ sind strukturell<br />

identisch, wenn sich die Muster nur im Typ der Knoten v mit Ausgangsgrad<br />

arity(type(v)) = 0 unterscheiden.<br />

Anders formuliert sind zwei Muster strukturell identisch, wenn sich die Muster lediglich<br />

dadurch unterscheiden, dass in einem der Muster anstelle einer Variablen ein Konstante<br />

oder eine symbolische Konstante, oder anstelle einer symbolischen Konstante eine<br />

Konstante befindet.<br />

Für Transformationsregeln mit zwei strukturell unterschiedlichen Mustern besteht der<br />

folgende Zusammenhang. Angenommen es existieren zwei strukturell unterschiedliche<br />

Muster m und m ′ sowie eine Regel r : m → m ′ . Es gilt aufgrund der Aufzählungsreihenfolge<br />

das m ′ vor m erzeugt wurde. Daraus folgt, dass es keine Regel r ′ : m ′ → m geben<br />

) <<br />

63

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!