Anfang Präsentation 3. November, 2004 Tarjan’s Schleifenaufbrechalgorithmus In dieser Vorlesung wird ein Verfahren vorgestellt, welches in der Lage ist,

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Vorlesung Programmieren II
Simulation komplexer technischer Anlagen
Schnelle Matrizenoperationen von Christian Büttner
Das LCA – Problem in Suffixbäumen
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Suche in Texten (Stringsuche )
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Einführung Übersicht Einsatz der Zielwertsuche Einsatz des Solvers
Numerik partieller Differentialgleichungen
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Sortieren vorsortierter Daten
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
6. Grundlegende Gleichungen
Schwierigkeitsgrad III 6 X - 7 = X
Beispiele für Gleichungssysteme
Algorithmen und Komplexität
Was sind Histogramme? (1)
Minimum Spanning Tree: MST
Mathematische Grundlagen und Rechnen mit algebraischen Zahlen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Wie Google Webseiten bewertet
Na, hast Du Lust, Deine Augen ein wenig zu verwirren???
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
Splay Trees Von Projdakov Benjamin.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Gleichungen und Gleichungssysteme
Anfang Präsentation 2. Februar, 2005 Behandlung von Unstetigkeiten II Wir wollen uns heute nochmals mit der Modellierung von Unstetigkeiten befassen. Zunächst.
Anfang Präsentation 1. Dezember, 2004 Dymolas Bondgraphenbibliothek In dieser Vorlesung wollen wir uns mit einigen Aspekten der Konstruktion einer Bondgraphen-
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Na, hast Du Lust, Deine Augen ein wenig zu verwirren???
Modellierung Elektrischer Schaltkreise
Modellierung Elektrischer Schaltkreise II
Planar Mechanical Systems
Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.
Bondgraphen I Bis anhin haben wir uns mit der symbolischen Manipulation von differentialalgebraischen Gleichungssystemen befasst. Die Frage, wo die Gleichungen.
Anfang Präsentation 20. Oktober, 2004 Elektrische Schaltungen I Diese Vorlesung diskutiert die mathematische Modellierung einfacher elektrischer linearer.
Algebraische Schleifen und Strukturelle Singularitäten
Lösung nichtlinear Gleichungssysteme
Anfang Präsentation 10. November, 2004 Effiziente Lösung von Gleichungssystemen In dieser Vorlesung wird die effiziente gemischt symbolisch/numerische.
Anfang Präsentation 8. Dezember, 2004 Modellierung Bipolarer Transistoren In dieser Vorlesung befassen wir uns mit einer Anwendung gemischt elektrischer.
Das Entfernen struktureller Singularitäten mittels Pantelides Algorithmus Diese Vorlesung stellt ein Verfahren vor, welches dazu verwendet werden kann,
Anfang Präsentation 24. November, 2004 Bondgraphen II In dieser Vorlesung befassen wir uns mit den Auswirkungen algebraischer Schleifen und struktu- reller.
Was ist eine Funktion? Eine Zuordnung,
Behandlung Singulärer Subsysteme mittels Graphentheorie
Strategie der Modellbildung
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Na, haben Sie Lust, Ihre Augen ein wenig zu verwirren???
Das Traveling Salesman Problem (TSP)
Theorie, Anwendungen, Verallgemeinerungen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Optimierungs- Algorithmen
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den ‚Brute Force Search‘ Algorithmus schlagen?
Gliederung der Vorlesung
Binärbäume.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Suchen und Sortieren.
Kompetenzniveaus Lernlupe Mathematik
 Präsentation transkript:

Anfang Präsentation 3. November, 2004 Tarjan’s Schleifenaufbrechalgorithmus In dieser Vorlesung wird ein Verfahren vorgestellt, welches in der Lage ist, algebraische Schleifen systematisch und algorithmisch aufzulösen. Beim Tarjan Algorithmus handelt es sich um ein graphisches Verfahren, welches dazu dient, Gleichungssysteme gleichzeitig sowohl horizontal wie vertikal zu sortieren. Der Algorithmus kann ausserdem dazu verwendet werden, algebraisch gekoppelte Gleichungssysteme zu erkennen und zu isolieren.

Anfang Präsentation 3. November, 2004 Übersicht Strukturinzidenzmatrix Strukturdigraph Tarjan AlgorithmusTarjan Algorithmus Aufbrechen algebraischer GleichungssystemeAufbrechen algebraischer Gleichungssysteme

Anfang Präsentation 3. November, 2004 Die Strukturinzidenzmatrix I Die Strukturinzidenzmatrix enthält eine Zeile für jede Gleichung des Algebrodifferentialgleichungssystems sowie eine Spalte für jede Unbekannte, die das Gleichungssystem erhält. Da ein vollständiges Gleichungssystem immer gleich viele Gleichungen wie Unbekannte aufweist, ist die Struktur- inzidenzmatrix quadratisch. Das Element der Strukturinzidenzmatrix betrachtet die Gleichung #i sowie die Unbekannte #j. Das Element hat einen Wert von 1, falls die angezeigte Variable in der betrachteten Gleichung auftritt, sonst enthält das entsprechende Matrixfeld den Wert 0.

Anfang Präsentation 3. November, 2004 Die Strukturinzidenzmatrix: Ein Beispiel 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2 di L dt du C dt S = U0U0 i0i0 uLuL v1v1 v2v2 iCiC u R1 i R1 i R2 u R2 

Anfang Präsentation 3. November, 2004 Der Strukturdigraph Der Strukturdigraph enthält die gleiche Information wie die Strukturinzidenzmatrix. Die Information ist nur anders dargestellt. Der Strukturdigraph listet links die Gleichungen, rechts die Unbekannten. Eine Verbindungslinie zwischen einer Gleichung und einer Unbekannten zeigt an, dass die Unbekannte in der Gleichung vorkommt.

Anfang Präsentation 3. November, 2004 Der Strukturdigraph: Ein Beispiel 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2  Gleichungen U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Unbekannte

Anfang Präsentation 3. November, 2004 Der Tarjan Algorithmus Der Tarjan Algorithmus basiert auf dem Strukturdigraphen. Es handelt sich um ein graphisches Verfahren, bei welchem der Digraph gefärbt wird.  Gleichungen mit nur einer schwarzen Linie, färbe man diese Linie rot und färbe man alle schwarzen Linien, die von der angezeigten Unbekannten ausgehen blau. Man nummeriere die Gleichungen neu aufsteigend und beginnend mit 1.  Unbekannten mit nur einer schwarzen Linie, färbe man diese Linie rot und färbe man alle schwarzen Linien, die von der angezeigten Gleichung ausgehen blau. Man nummeriere die Gleichung neu absteigend und beginnend mit n, der Anzahl Gleichungen.

Anfang Präsentation 3. November, 2004 Der Tarjan Algorithmus: Ein Beispiel I 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2  Gleichungen U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel II  1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R Gleichungen U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Unbekannte

Anfang Präsentation 3. November, 2004 Der Tarjan Algorithmus: Ein Beispiel III 1: U 0 = f(t) 2: i 0 = i L + i R1 3: u L = U 0 4: di L /dt = u L / L 1 5: v 1 = U 0 6: u R1 = v 1 – v 2 7: i R1 = u R1 / R 1 8: v 2 = u C 9: i C = i R1 – i R2 10: du C /dt = i C / C 1 11: u R2 = u C 12: i R2 = u R2 / R 2  Gleichungen U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Unbekannte

Anfang Präsentation 3. November, 2004 Der Tarjan Algorithmus: Ein Beispiel IV Gleichungen U0U0 i0 i0 uLuL di L /dt v1 v1 u R1 i R1 v2 v2 iC iC du C /dt u R2 i R2 Unbekannte  1: U 0 = f(t) 2: v 2 = u C 3: u R2 = u C 4: u L = U 0 5: v 1 = U 0 6: i R2 = u R2 / R 2 7: u R1 = v 1 – v 2 8: i R1 = u R1 / R 1 9: i C = i R1 – i R2 10: i 0 = i L + i R1 11: di L /dt = u L / L 1 12: du C /dt = i C / C 1

Anfang Präsentation 3. November, 2004  Die Strukturinzidenzmatrix des vollständig sortierten Gleichungssystems ist eine Matrix in der unteren Dreiecksform. Die Strukturinzidenzmatrix II 1: U 0 = f(t) 2: v 2 = u C 3: u R2 = u C 4: u L = U 0 5: v 1 = U 0 6: i R2 = u R2 / R 2 7: u R1 = v 1 – v 2 8: i R1 = u R1 / R 1 9: i C = i R1 – i R2 10: i 0 = i L + i R1 11: di L /dt = u L / L 1 12: du C /dt = i C / C 1  di L dt du C dt S = U0U0 i0i0 u R2 v2v2 v1v1 iCiC u R1 i R1 i R2 uLuL

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel I 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel II 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel III 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte  Der Algorithmus kommt ins Stocken, da es keine einzelnen schwarzen Linien zu Gleichungen oder Variablen mehr gibt.

Anfang Präsentation 3. November, 2004 Das Aufbrechen algebraischer Schleifen I Die folgende Heuristik kann angewandt werden, um geeignete Schnittvariablen zu suchen: Im Digraphen bestimmt man diejenigen Gleichungen mit der grössten Anzahl Unbekannter. Für jede dieser Gleichungen findet man die Unbekannten, die am häufigsten in noch unverwendeten Gleichungen vorkommen. Für jede dieser Variablen ermittelt man, wie viele zusätzliche Gleichungen kausalisiert werden können, wenn man diese als bekannt annimmt. Man wählt diejenige Variable als nächste Schnittvariable, die die grösste Anzahl zusätzlicher Gleichungen kausalisiert.

Anfang Präsentation 3. November, 2004 Das Aufbrechen algebraischer Schleifen II Im gegebenen Beispiel hat Gleichung #7 noch 3 Unbe- kannte. Alle anderen unverwendeten Gleichungen haben nur noch 2 Unbekannte. Gleichung #7 beinhaltet die Variablen i 1, i 2, and i 3. Jede dieser Variablen kommt in einer weiteren unbenutzten Gleichung vor. Bereits Variable i 1 erlaubt es, sämtliche Gleichungen zu kausalisieren. Somit wird i 1 als Schnittvariable verwendet.

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel IV  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte : U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Wahl

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel V 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Wahl  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel VI 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Wahl  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel VII 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Wahl  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel VIII 1: U 0 = f(t) 2: u 1 = R 1 · i 1 3: u 2 = R 2 · i 2 4: u 3 = R 3 · i 3 5: u L = L· di L /dt 6: i 0 = i 1 + i L 7: i 1 = i 2 + i 3 8: U 0 = u 1 + u 3 9: u 3 = u 2 10: u L = u 1 + u 2 Wahl  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel IX 1: U 0 = f(t) 2: i 1 = i 2 + i 3 3: u 1 = R 1 · i 1 4: u 3 = U 0 - u 1 5: i 3 = u 3 / R 3 6: u 2 = u 3 7: i 2 = u 2 / R 8: u L = u 1 + u 2 9: i 0 = i 1 + i L 10: di L /dt = u L / L Wahl  Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

Anfang Präsentation 3. November, 2004  Die Strukturinzidenzmatrix hat nun die Form einer unteren Blockdreiecksmatrix (“Block Lower Triangular form” oder BLT form). Die Strukturinzidenzmatrix III 1: U 0 = f(t) 2: i 1 = i 2 + i 3 3: u 1 = R 1 · i 1 4: u 3 = U 0 - u 1 5: i 3 = u 3 / R 3 6: u 2 = u 3 7: i 2 = u 2 / R 8: u L = u 1 + u 2 9: i 0 = i 1 + i L 10: di L /dt = u L / L Wahl  di L dt S = U0U0 i0i0 u2u2 u3u3 i3i3 u1u1 i1i1 i2i2 uLuL

Anfang Präsentation 3. November, 2004 Das Auflösen algebraischer Schleifen I Der Tarjan Algorithmus identifiziert und isoliert algebraische Schleifen. Er formt die Strukturinzidenzmatrix um, so dass sie eine untere Blockdreiecksform annimmt, wobei die diagonalen Blöcke so klein wie möglich gehalten werden. Die Schnittvariabeln werden nicht in einer echt optimalen Form ausgewählt. Dies erweist sich nicht als sinnvoll, da gezeigt wurde, dass das Problem der optimalen Wahl von Schnittvariabeln np- vollständig ist. Stattdessen werden Heuristiken angewandt, welche normalerweise zu einer sehr kleinen Anzahl von Schnittvariabeln führen, obwohl diese Zahl möglicherweise nicht minimal ist. Der Tarjan Algorithmus befasst sich nicht mit dem Problem, wie die resultierenden algebraischen Schleifen aufgelöst werden.

Anfang Präsentation 3. November, 2004 Das Auflösen algebraischer Schleifen II Die algebraischen Schleifen können entweder analytisch oder aber numerisch aufgelöst werden. Falls die algebraisch gekoppelten Gleichungen nichtlinear sind, mag eine Newton Iteration über die Schnittvariabeln optimal sein. Falls die algebraisch gekoppelten Gleichungen linear sind und falls der Satz ziemlich gross ist, mag eine Newton Iteration immer noch die Methode der Wahl sein. Falls die algebraisch gekoppelten Gleichungen linear sind und falls der Satz nicht sehr gross ist, können die Gleichungen entweder mittels Matrizenrechnung oder aber mittels expliziter symbolischer Formelmanipulation gelöst werden. Die Modelica Modellierungsumgebung verwendet eine Reihe geeigneter Heuristiken, um in jedem Fall automatisch die beste Methode auszuwählen.

Anfang Präsentation 3. November, 2004 Referenzen Elmqvist H. and M. Otter (1994), “Methods for tearing systems of equations in object-oriented modeling,” Proc. European Simulation Multi-conference, Barcelona, Spain, pp Methods for tearing systems of equations in object-oriented modeling Tarjan R.E. (1972), “Depth first search and linear graph algorithms,” SIAM J. Comp., 1, pp