Algorithmen Datenstrukturen

Werbung
1. Schaltungsbeschreibung Netzwerktopologie
Regeln der Schaltwerktheorie:
Kirchhoffsche Spannungsregel
Kirchhoffsche Stromregel
+ Zweig- (bzw. Element-) Funktionen
Die Netzwerktopologie beschreibt die Verknüpfung von Zweigen.
Mathematisches Kalkül ist die Graphentheorie.
Graph
Zweigfunktionen
(linear / nichtlinear)
Netzwerk
Knoten: 1, 2, ... , n
Zweige: a, b, c, ... bzw. als Knotenpaar {i,j}
Graph G = {1, 2, ... , n; a, b, c, ...}
ist eine Menge von Knoten und Zweigen.
Kap. 1: Schaltungsbeschreibung
Seite 1
V1.2 © A. B. Gilg
Bei gerichteten (directed) Graphen Gd tragen die Zweige eine
Orientierung (Richtung, "Pfeil"), d.h. die Reihenfolge der Knotennummern in einem Knotenpaar (Zweig) ist: (Anfangsknoten,
Endknoten).
Der ungerichtete (undirected, nondirected) Graph wird mit Gn
bezeichnet.
Eine Menge von Zweigen (branches) {b1,...,bm} in Gn heißt Pfad
(path) zwischen zwei Knoten l und m, wenn
1. Alle aufeinanderfolgenden Paare von Zweigen bi und bi+1 einen
gemeinsamen Knoten besitzen ["keine Lücke"]
2. Kein Knoten von Gn Knoten von mehr als zwei Zweigen dieser
Menge ist ["keine Schleife"]
3. l (und m) ist Knoten von genau einem Zweig dieser Menge.
Der Graph Gn heißt zusammenhängend (connected), falls
zwischen je zwei Knoten ein Pfad existiert.
[Analoge Bezeichnung für Gd, bzw. Netzwerke]
Ein Subgraph (Teilgraph) L von Gn heißt Schleife (loop, circuit),
falls
1. L zusammenhängend ist, und
2. an jedem Knoten von L genau zwei Zweige anliegen.
Eine gerichtete Schleife ist eine Schleife, der (unabhängig von
Zweigrichtungen) eine eindeutige 'Durchlaufrichtung' zugeordnet
ist.
Kap. 1: Schaltungsbeschreibung
Seite 2
V1.2 © A. B. Gilg
Ein Subgraph T eines zusammenhängenden Graphen Gn heißt
Baum (tree), falls
1. T zusammenhängend ist,
2. T alle Knoten von Gn enthält und
3. T keine Schleifen enthält.
Alle Zweige des Graphen Gn, die nicht zum Baum T gehören
bilden den Co-Baum TC von Gn (bzgl. T).
Satz:
Sei Gn ein zusammenhängender Graph mit k Knoten:
1. Jeder Baum T in Gn hat k-1 Zweige.
2. Falls k-1 (verschiedene) Zweige von Gn keine Schleife
enthalten bilden sie die Zweige eines Baumes von Gn.
(Beweis: ....)
Eine Menge von Zweigen eines zusammenhängenden Graphen
Gn heißt Teiler (cutset), falls nach Entfernen dieser Menge
1. der Graph nicht mehr zusammenhängend ist und
2. das Hinzufügen je eines beliebigen dieser Zweige zu einem
zusammenhängenden Graphen führt.
Kap. 1: Schaltungsbeschreibung
Seite 3
V1.2 © A. B. Gilg
Es folgen Matrixdefinitionen zur kompakten Formulierung der
Kirchhoffschen Regeln:
1.1
Inzidenzmatrix A
Für einen gerichteten Graphen Gd mit k Knoten und z Zweigen ist
die Inzidenzmatrix Aa =(aij), eine k x z -Matrix, definiert durch:
aij= 1, falls der Zweig j am Knoten i anliegt,
mit Orientierung weg vom Knoten i
aij=-1, falls der Zweig j am Knoten i anliegt,
mit Orientierung hin zum Knoten i
aij= 0, falls der Zweig j nicht am Knoten i anliegt.
In den elektrischen Netzwerken treten nur Zweige mit unterschiedlichen Anfangs- und Endknoten auf. Damit ist in Aa eine
(beliebige) Zeile redundant. Nach Streichen einer (beliebigen)
Zeile bezeichnet man A als reduzierte Indzidenzmatrix der
vollständigen Inzidenzmatrix Aa [nicht eindeutige Definition!]
Kap. 1: Schaltungsbeschreibung
Seite 4
V1.2 © A. B. Gilg
i = i(t) bezeichne den Vektor der Zweigströme im Netzwerk N,
angeordnet entsprechend den z Zweigspalten der Matrix Aa.
Aa· i = 0
(1.1)
Kirchhoffsche Stromregel
Die skalare (zeilenweise) Interpretation entspricht der Anwendung
der Regel pro Knoten.
Somt ist (1.1) überbestimmt.
Satz:
Für einen zusammenhängenden Graphen Gd sind die Zeilen
(jeder) reduzierten Inzidenzmatrix A linear unabhängig.
Beweis: ....
Korollar:
Der Maximalsatz unabhängiger Kirchhoffscher Stromgleichungen
eines zusammenhängenden Netzwerks N hat die Form:
(1.2)
Kap. 1: Schaltungsbeschreibung
A·i = 0
Seite 5
V1.2 © A. B. Gilg
Satz:
A sei reduzierte Inzidenzmatrix des zusammenhängenden
Graphen Gd mit k Knoten:
ó
k -1 Spalten von A sind linear unabhängig
die diesen Spalten entsprechenden Zweige bilden einen
Baum in Gd .
Korollar:
A = [AT AC], mit AT ~ Baumzweige,
AC ~ Co-Baumzweige
=> det AT ≠ 0.
Kap. 1: Schaltungsbeschreibung
Seite 6
V1.2 © A. B. Gilg
1.2
Schleifenmatrix B
Für einen gerichteten Graphen Gd mit z Zweigen und s gerichteten
Schleifen ist die Schleifenmatrix Ba =(bij), eine s x z -Matrix,
definiert durch:
bij= 1, falls der Zweig j Teil von Schleife i ist
und mit deren Orientierung überein-stimmt
bij=-1, falls der Zweig j Teil von Schleife i ist
und mit deren Orientierung nicht über-einstimmt
bij= 0, falls der Zweig j nicht Teil von Schleife i ist.
Kap. 1: Schaltungsbeschreibung
Seite 7
V1.2 © A. B. Gilg
Kirchhoffsche Spannungsregel:
Die Summe aller Spannungen entlang jeder Schleife in einem
Netzwerk ist immer Null.
(1.3)
Ba·v = 0 ,
mit v = v(t) dem Vektor der Zweigspannungen entsprechend der
Spaltenanordnung von Ba.
Anmerkung: Die Zahl der Schleifen (Matrixzeilen) s kann sehr groß
sein!
Eine Teilmatrix Bb mit der Maximalzahl linear unabhängiger Zeilen
heißt Basisschleifenmatrix.
Man kann zeigen, dass für einen zusammenhängenden Graphen
Gd mit k Knoten und z Zweigen Bb z-k +1 Zeilen besitzt.
(1.4)
Bb·v = 0
Kap. 1: Schaltungsbeschreibung
Seite 8
V1.2 © A. B. Gilg
Konstruktion von Bb:
1.
Schritt:
Für einen zusammenhängenden planaren Graphen bilden z-k +1
"Fenster" die Schleifen für Bb
2.
Schritt:
Geg. sei ein Baum T.
Jeder Zweig des Co-Baumes TC formt mit dem (eindeutigen) Pfad
durch den Baum T eine sog. Fundamentalschleife (für diesen
Zweig). Die Orientierung der Fundamentalschleife kann willkürlich
fixiert werden.
Es gibt z-k +1 Co-Baumzweige und damit z-k +1 Fundamentalschleifen. Diese definieren die Fundamentalschleifenmatrix Bf.
Sie ist der nichttriviale Beitrag zur Bestimmung von Bb:
(1.5)
Bb = [Bf 1]
Kap. 1: Schaltungsbeschreibung
Seite 9
V1.2 © A. B. Gilg
Satz:
Gegeben Aa und Ba (mit analoger Zweiganordnung):
Für alle i,j gilt
[Zeile i von Ba] [Zeile j von Aa]T = 0
Korollar:
(1.6)
Ba AaT = 0
Ba AT = 0
B AT = 0
Aa BaT = 0
A BaT = 0
A BT = 0
Satz:
Für einen zusammenhängenden Graph Gd mit k Knoten und z
Zweigen beträgt die Maximalzahl linear unabhängiger Zeilen in Ba
z-k +1.
Jede Fundamentalschleifenmatrix ist eine Basisschleifenmatrix
- aber nicht umgekehrt!
D.h. die "Menge" Bb umfasst Bf; aber Bf ist einfacher zu
konstruieren.
Kap. 1: Schaltungsbeschreibung
Seite 10
V1.2 © A. B. Gilg
1.3
Teilermatrix D
(zur Formulierung der verallgemeinerten Kirchhoffschen Regel)
Für einen gerichteten Graph Gd mit z Zweigen und c gerichteten
Teilern ist die cxz Teilermatrix Da = [dij] definiert durch
dij = 1, falls der Zweig j im Teiler i enthalten
ist und beide Orientierungen übereinstimmen
dij = -1, falls der Zweig j im Teiler i enthalten
ist und beide Orientierungen nicht übereinstimmen
dij = 0, falls der Zweig j nicht im Teiler i
enthalten ist.
Die Basisteilermatrix Db besteht aus k-1 linear unabhängigen
Zeilen von D (eines zusammenhängenden Graphen Gd)
Damit ist
(1.7)
Db i = 0.
Kap. 1: Schaltungsbeschreibung
Seite 11
V1.2 © A. B. Gilg
Konstruktion einer Basisteilermatrix Db :
Gegeben sei ein Baum T.
Jeder Zweig von T bildet zusammen mit einigen (≥ 0) Zweigen des
Co-Baums Tc einen Teiler - genauer einen Fundamentalteiler.
Die Orientierung des Teilers ist willkürlich.
Ein zusammenhängender Graph hat k-1 Baumzweige
(bei k Knoten) und damit k -1 Fundamentalteiler.
Die Submatrix Df von Da bzgl. dieses Fundamentalteilers ist eine
Fundamentalteilermatrix (Df =:D)
(1.8)
D = [1 DL]
Maximalzahl linear unabhängiger Gleichungen:
Satz:
Geg.: Ba und Da (mit analoger Zweiganordnung)
Für alle i,j gilt:
[Zeile i von Ba] [Zeile j von Da]T = 0
Korollar:
(1.9)
Da BaT = 0
Da BT = 0
D BT = 0
Kap. 1: Schaltungsbeschreibung
Ba DaT = 0
B DT = 0
Seite 12
V1.2 © A. B. Gilg
Satz:
Für einen zusammenhängenden Graph Gd mit k Knoten beträgt
die Maximalzahl linear unabhängiger Zeilen in Da
k -1.
Jede Fundamentalteilermatrix D ist eine Basisteilermatrix
- aber nicht umgekehrt!
Vorteil von D: einfacher zu konstruieren!
Kap. 1: Schaltungsbeschreibung
Seite 13
V1.2 © A. B. Gilg
1.4
Beziehungen zwischen Zweigvariablen
Die Kirchhoffschen Regeln sind überbestimmt (linear abhängig).
Zur Bestimmung aller Zweigströme und -spannungen werden
Transformationsregeln hergeleitet:
Für ein zusammenhängendes Netzwerk N mit k Knoten und z
Zweigen seien bzgl. eines vorgegebenen Baumes T die Matrizen
folgendermaßen partitioniert:
A = [ AT AL ]
év ù
v=ê T ú, i=
ëv L û
B = [BT 1µ ]
[
D = 1ρ DL
]
éiT ù
êi ú
ë Lû
T: Baum, L: Verbindung [links]
ρ = k − 1, µ = z − k + 1
[
Bv = B T 1 µ
(1.10)
] éê vv
ë
T
L
ù
ú = BT vT + v L = 0
û
vL = − BT vT
Kap. 1: Schaltungsbeschreibung
Seite 14
V1.2 © A. B. Gilg
Weiter ist
[
D i = 1ρ D L
] éê ii
ë
T
L
ù
ú = iT + D L i L = 0
û
iT = − DL i L
(1.11)
Verwandtschaft von BT und DL :
Aus (1.9):
é BTT ù T
DB = 1ρ DL ê ú = BT + DL = 0
ëê 1µ ûú
T
(1.12)
[
]
DL = - BTT
(1.13)
é BTT ù
éiT ù é − DL i L ù é − DL ù
iL = ê ú iL = B T iL
i= ê ú=ê
=ê
ú
ú
ë i L û ë i L û ë 1µ û
ë 1µ û
Kap. 1: Schaltungsbeschreibung
Seite 15
V1.2 © A. B. Gilg
Ähnlich für
(1.14)
év ù é v ù é 1 ù
é1 ù
v = ê T ú = ê T ú = ê ρ ú vT = ê ρT ú vT = D T vT
ëv L û ë− BT vT û ë− BT û
ë DL û
(1.13) kann noch verallgemeinert werden.
Diese Formulierung hat aber keine große praktische Bedeutung:
Schleifentransformation
(1.15)
i = BbT im
wobei Bb eine beliebige Basisschleifenmatrix und im eine
entsprechende Menge/Vektor von µ unabhängigen Strömen
bezeichnet. Einige Ströme im Vektor im sind eventuell nicht als
Zweigströme lokalisierbar - aber sie können als fiktive Schleifenströme definiert werden.
Kap. 1: Schaltungsbeschreibung
Seite 16
V1.2 © A. B. Gilg
Ähnlich ist (1.14) verallgemeinerbar zu
v = DbT vp
(1.16)
mit vp als "Teilermengenspannungen".
Zweig-/Knotentransformation:
Knotenspannungen u = (v1k ,..., vk-1,k)
(1.17)
T
o.E. k "Masseknoten"
v = AT u
mit reduzierter Inzidenzmatrix A und
Vektor der Zweigspannungen v.
Kap. 1: Schaltungsbeschreibung
Seite 17
V1.2 © A. B. Gilg
1.4
Aufstellen der topologischen Matrizen
A, B und D
Bestimmen von A (bzw Aa)
Ø Nummerieren der Knoten
Ø Nummerieren der Zweige
k
i
j
aik = 1
(k,i,j) Integer-Tripel
ajk = -1
- Bzgl. Speicherung ist die Tripel-Darstellung vorzuziehen
(redundante Info: 0en der Matrix)
-Reihenfolge ??
Dies sind zwei programmiertechnische Aspekte der effizienten
Programmierung dieser Matrizen.
Algorithmen
< - > Datenstrukturen
Kap. 1: Schaltungsbeschreibung
Seite 18
V1.2 © A. B. Gilg
Zur Bestimmung von B und D benötigen wir zuerst einen Baum T:
Typischerweise gibt es Zusatzbedingungen zur Auswahl eines
spezifischen Baums, z.B. Reihenfolge gemäß Zweigtypen
(Spannungs-, Stromquellen, Widerstände, Kondensatoren, ...)
Ausgangsinfo: reduzierte Inzidenzmatrix A
1. Schritt
Sortieren der Spalten von A gemäß den
vorgegebenen Zusatzbedingungen
2. Schritt
Durch Vertauschen von Zeilen und Addition von
(Vielfachen) anderer Zeilen wird eine
„obere Dreiecksmatrix“ erzeugt.
(vgl. Gauß-Algorithmus!)
Anmerkungen:
- k-1 linear unabhängige Spalten von A bilden einen Baum
- per Konstruktion kann die vorgeg. Zweigreihenfolge (falls
überhaupt möglich) eingehalten werden.
Kap. 1: Schaltungsbeschreibung
Seite 19
V1.2 © A. B. Gilg
[
A=[AT AL ] B =[BT 1µ ] D = 1ρ DL
]
(1.6)
é BTT ù
AB = AT AL ê ú = AT BTT + AL = 0
ë 1µ û
[
T
und somit
]
BTT = − AT−1 AL
(1.18)
(1.19)
[
]
D = 1ρ DL = AT−1 [AT AL ]= AT−1A
[
B =[BT 1µ ] = − DLT 1µ
]
(1.18, 19) sind Berechnungsmöglichkeiten für D und B, aber
wegen der expliziten Berechnung von AT-1 sehr aufwendig.
Kap. 1: Schaltungsbeschreibung
Seite 20
V1.2 © A. B. Gilg
Alternativen:
Die Umformungen von Schritt 2. können durch sog.
Elementarmatrizen E beschrieben werden:
E ist eine Einheitsmatrix nach Anwendung der jeweiligen
Umformung (z.B. Zeilentausch)
Satz:
Jede Elementarmatrix besitzt eine Inverse,
die ebenfalls elementar ist.
Für jede nichtsinguläre Matrix C existiert eine Folge von
Elementarmatrizen E1, ...., Em, so dass
bzw.
EmEm-1.... E2E1 C = 1, und somit
EmEm-1.... E2E1 = C-1
C = E1-1E2-1... Em-1-1Em-1.
Also auch
AT-1 = EmEm-1.... E2E1
Und damit (1.18):
(1.20)
D= AT-1 A = EmEm-1.... E2E1 A
D wird aus A berechnet durch eine Folge von m
Elementaroperationen – dieselbe Folge, die benötigt wird um AT
zur Einheitsmatrix zu transformieren:
AT-1 AT = EmEm-1.... E2E1 AT = 1
Kap. 1: Schaltungsbeschreibung
Seite 21
V1.2 © A. B. Gilg
Alternative Berechnung von D gemäß (1.20) statt (1.18):
Wende die elementaren Operationen Ei, die nötig sind um AT auf 1
zu transformieren auf A an.
Es gibt eine Reihe weiterer Alternativen zur Bestimmung der
topologischen Matrizen bzw. zur Lokalisierung von Bäumen.
Da diese Aufgaben typischerweise nicht zeitkritisch sind, werden
diese Alternativen hier nicht vertieft.
Kap. 1: Schaltungsbeschreibung
Seite 22
V1.2 © A. B. Gilg
Herunterladen