Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


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

1 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.

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

3 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.

4 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 = 01 02 03 04 05 06 07 08 09 10 11 12 101010000000101010000000 010000000000010000000000 001100000000001100000000 000100000000000100000000 000011000000000011000000 000001100000000001100000 010000101000010000101000 000001010000000001010000 000000001100000000001100 000000000100000000000100 000000000011000000000011 000000001001000000001001 U0U0 i0i0 uLuL v1v1 v2v2 iCiC u R1 i R1 i R2 u R2 

5 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.

6 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  01 02 03 04 05 06 07 08 09 10 11 12 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

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

8 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  01 02 03 04 05 06 07 08 09 10 11 12 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 01 02 03 12 11 10

9 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 2 01 02 03 04 05 06 07 08 09 10 11 12 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 01 02 03 12 11 10 04 05 06 09

10 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  01 02 03 04 05 06 07 08 09 10 11 12 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 01 02 03 12 11 10 04 05 06 09 07 08

11 Anfang Präsentation 3. November, 2004 Der Tarjan Algorithmus: Ein Beispiel IV 01 02 03 04 05 06 07 08 09 10 11 12 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 01 02 03 12 11 10 04 05 06 09 07 08  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

12 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 = 01 02 03 04 05 06 07 08 09 10 11 12 100110000000100110000000 010000100000010000100000 001001000000001001000000 000100000010000100000010 000010100000000010100000 000001001000000001001000 000000110000000000110000 000000011100000000011100 000000001001000000001001 000000000100000000000100 000000000010000000000010 000000000001000000000001 U0U0 i0i0 u R2 v2v2 v1v1 iCiC u R1 i R1 i R2 uLuL

13 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  01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte

14 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  01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 10 09

15 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  01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 10 09 08  Der Algorithmus kommt ins Stocken, da es keine einzelnen schwarzen Linien zu Gleichungen oder Variablen mehr gibt.

16 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.

17 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.

18 Anfang Präsentation 3. November, 2004 Algebraische Schleifen: Ein Beispiel IV  10 09 08 01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 02 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

19 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  10 09 08 01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 02 03

20 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  10 09 08 01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 02 03 04

21 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  10 09 08 01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 02 03 04 05 06

22 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  10 09 08 01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 02 03 04 05 06 07

23 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  10 09 08 01 02 03 04 05 06 07 08 09 10 Gleichungen U0U0 i0 i0 uLuL di L /dt u1 u1 i1i1 u2u2 i2 i2 u3 u3 i3i3 Unbekannte 01 02 03 04 05 06 07

24 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 = 01 02 03 04 05 06 07 08 09 10 10010000001001000000 01100000100110000010 00110001000011000100 00011100000001110000 01001000000100100000 00000111000000011100 01000010000100001000 00000001010000000101 00000000100000000010 00000000010000000001 U0U0 i0i0 u2u2 u3u3 i3i3 u1u1 i1i1 i2i2 uLuL

25 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.

26 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.

27 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. 326-332.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. 146-160.


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

Ähnliche Präsentationen


Google-Anzeigen