4 4.3 Datenstrukturen zur Speicherung von Graphen 1 2 Abbildung 4.1: Ungerichteter Graph zur Kantenliste 4, 6, 1, 2, 2, 3, 4, 3, 3, 2, 2, 2, 1, 3. terminiert und „ja“ oder „nein“ antwortet. Das Halteproblem ist nun das folgende: Gegeben seien eine Turing-Maschine M und eine Eingabe w, hält M auf w? Dieses Halteproblem ist beweisbar unentscheidbar. Der Satz von Rice zeigt noch etwas viel Stärkeres. Alle „interessanten“ (das kann man präzise definieren) Eigenschaften von Turing-Maschinen sind unentscheidbar. David Hilbert hat im Jahr 1900 eine Liste von 23 wichtigen, seinerzeit ungelösten, mathematischen Problemen vorgelegt. Sein zehntes Problem lautete: Gibt es einen Algorithmus, der für eine beliebige diophantische Gleichung entscheidet, ob sie lösbar ist? Diophantische Gleichungen sind von der Form p(x1, . . . , xn) = 0, wobei p ein Polynom mit ganzzahligen Koeffizienten ist. J. Matijassewitsch hat 1970 in seiner Dissertation bewiesen, dass es keinen solchen Algorithmus gibt. Um Lösungen von allgemeinen diophantischen Gleichungen zu finden, muss man also spezielle Fälle betrachten, gute Einfälle und Glück haben. 4.3 Datenstrukturen zur Speicherung von Graphen Wir wollen hier einige Methoden skizzieren, mit deren Hilfe man Graphen und Digraphen speichern kann, und ihre Vor- und Nachteile besprechen. Kenntnisse dieser Datenstrukturen sind insbesondere dann wichtig, wenn man laufzeit- und speicherplatzeffiziente (oder gar -optimale) Co<strong>des</strong> von Algorithmen entwickeln will. 4.3.1 Kanten- und Bogenlisten Die einfachste Art, einen Graphen oder Digraphen zu speichern, ist die Kantenliste für Graphen bzw. die Bogenliste für Digraphen. Ist G = (V, E) ein Graph mit n = |V | Knoten und m = |E| Kanten, so sieht eine Kantenliste wie folgt aus: n, m, a1, e1, a2, e2, a3, e3, . . . , am, em, wobei ai, ei die beiden Endknoten der Kante i sind. Die Reihenfolge <strong>des</strong> Aufführens der Endknoten von i bzw. den Kanten selbst ist beliebig. Bei Schleifen wird der Endknoten zweimal aufgelistet. Eine mögliche Kantenliste für den Graphen aus Abbildung 4.1 ist die folgende: 4, 6, 1, 2, 2, 3, 4, 3, 3, 2, 2, 2, 1, 3. 3 69
4 Komplexitätstheorie und Speicherung von Graphen 1 2 3 Abbildung 4.2: Gerichteter Graph zur Kantenliste 3, 6, 1, 2, 2, 3, 3, 2, 2, 2, 1, 2, 3, 1. 21 1 10 11 5 2 3 4 14 Abbildung 4.3: Gewichteter Graph mit den Kantenlisten 4, 6, 1, 2, 10, 2, 1, 11, 2, 4, 7, 4, 3, 14, 3, 1, 21, 1, 4, 5 und 4, 6, 1, 2, 1, 2, 2, 4, 3, 4, 1, 4, 1, 3, 11, 10, 7, 14, 5, 21. Bei der Bogenliste eines Digraphen verfahren wir genauso; wir müssen jedoch darauf achten, dass ein Bogen immer zunächst durch seinen Anfangs- und dann durch seinen Endknoten repräsentiert wird. Eine Bogenliste <strong>des</strong> Digraphen aus Abbildung 4.2 ist 3, 6, 1, 2, 2, 3, 3, 2, 2, 2, 1, 2, 3, 1. Haben die Kanten oder Bögen Gewichte, so repräsentiert man eine Kante (einen Bogen) entweder durch Anfangsknoten, Endknoten, Gewicht oder macht eine Kanten- bzw. Bogenliste wie oben und hängt an diese noch eine Liste mit den m Gewichten der Kanten 1, 2, . . . , m an. Der gewichtete Graph aus Abbildung 4.3 ist in den beiden folgenden Kantenlisten mit Gewichten gespeichert: 4, 6, 1, 2, 10, 2, 1, 11, 2, 4, 7, 4, 3, 14, 3, 1, 21, 1, 4, 5 4, 6, 1, 2, 1, 2, 2, 4, 3, 4, 1, 4, 1, 3, 11, 10, 7, 14, 5, 21. Der Speicheraufwand einer Kanten- bzw. Bogenliste beträgt 2(m + 1) Speicherplätze, eine Liste mit Gewichten erfordert 3m + 2 Speicherplätze. 4.3.2 Adjazenzmatrizen Ist G = (V, E) ein ungerichteter Graph mit V = {1, 2, . . . , n}, so ist die symmetrische (n, n)-Matrix A = (aij) mit 70 7
- Seite 1 und 2:
Einführung in die Lineare und Komb
- Seite 4 und 5:
Inhaltsverzeichnis 1 Einführung 1
- Seite 6 und 7:
1 Einführung 1.1 Einführendes Bei
- Seite 8 und 9:
1.1 Einführendes Beispiel muss der
- Seite 10 und 11:
t 2 ≤ s s ≤ 3 −s + t ≤ 1
- Seite 12 und 13:
1.2 Optimierungsprobleme wobei u ei
- Seite 14 und 15:
1.2 Optimierungsprobleme Theorie al
- Seite 16 und 17:
2 Grundlagen und Notation 2.1 Graph
- Seite 18 und 19:
2.1 Graphen und Digraphen: Wichtige
- Seite 20 und 21:
2.1 Graphen und Digraphen: Wichtige
- Seite 22 und 23:
(a) (c) 2.1 Graphen und Digraphen:
- Seite 24 und 25: 2.1 Graphen und Digraphen: Wichtige
- Seite 26 und 27: 2.2 Lineare Algebra uns auf Q oder
- Seite 28 und 29: und meinen damit, dass A die folgen
- Seite 30 und 31: 2.2 Lineare Algebra wie in der line
- Seite 32 und 33: 2.3 Polyeder und lineare Programme
- Seite 34 und 35: (2.4) Bemerkung. Die Lösungsmenge
- Seite 36 und 37: 2.3 Polyeder und lineare Programme
- Seite 38 und 39: 2.3 Polyeder und lineare Programme
- Seite 40 und 41: V. Chvátal. Linear Programming. Fr
- Seite 42 und 43: 3 Diskrete Optimierungsprobleme Die
- Seite 44 und 45: 3.2 Klassische Fragestellungen der
- Seite 46 und 47: (a) (b) 3.2 Klassische Fragestellun
- Seite 48 und 49: 3.3 Graphentheoretische Optimierung
- Seite 50 und 51: 3.3 Graphentheoretische Optimierung
- Seite 52 und 53: 3.3 Graphentheoretische Optimierung
- Seite 54 und 55: 3.3 Graphentheoretische Optimierung
- Seite 56 und 57: • Schaltkreisentwurf • Standort
- Seite 58 und 59: 3.3 Graphentheoretische Optimierung
- Seite 60 und 61: 3.3 Graphentheoretische Optimierung
- Seite 62 und 63: Literaturverzeichnis T. L. Gertzen
- Seite 64 und 65: 4 Komplexitätstheorie und Speicher
- Seite 66 und 67: 4.1 Probleme, Komplexitätsmaße, L
- Seite 68 und 69: 4.2 Die Klassen P und N P, N P-Voll
- Seite 70 und 71: 4.2 Die Klassen P und N P, N P-Voll
- Seite 72 und 73: 4.2 Die Klassen P und N P, N P-Voll
- Seite 76 und 77: 4.3 Datenstrukturen zur Speicherung
- Seite 78 und 79: 4.3 Datenstrukturen zur Speicherung
- Seite 80: R. E. Tarjan. Data structures and n
- Seite 83 und 84: 5 Bäume und Wege Der Beweis ist et
- Seite 85 und 86: 5 Bäume und Wege (2) =⇒ (3) Ist
- Seite 87 und 88: 5 Bäume und Wege Haben wir einen A
- Seite 89 und 90: 5 Bäume und Wege Falls T \ {ei} zu
- Seite 91 und 92: 5 Bäume und Wege /****************
- Seite 93 und 94: 5 Bäume und Wege THEN w[dope[i]+j]
- Seite 95 und 96: 5 Bäume und Wege Wie Beispiel (5.1
- Seite 97 und 98: 5 Bäume und Wege (a) F. Schiller.
- Seite 99 und 100: 5 Bäume und Wege DISTk(u) die Län
- Seite 101 und 102: 5 Bäume und Wege VOR(3) = 2. Wir s
- Seite 103 und 104: 5 Bäume und Wege 4. DO u = 1 TO v
- Seite 105 und 106: 5 Bäume und Wege Sei nun P ein kü
- Seite 107 und 108: 5 Bäume und Wege (b) D enthält ge
- Seite 109 und 110: 5 Bäume und Wege C2 C1 s 4 C3 C4 2
- Seite 111 und 112: 5 Bäume und Wege ders vorgehen: z.
- Seite 113 und 114: 5 Bäume und Wege ist ein System vo
- Seite 115 und 116: 5 Bäume und Wege heißt (allgemein
- Seite 117 und 118: 5 Bäume und Wege Um lästige Trivi
- Seite 119 und 120: Literaturverzeichnis A. Goldberg. P
- Seite 121 und 122: 6 Maximale Flüsse in Netzwerken Al
- Seite 123 und 124: 6 Maximale Flüsse in Netzwerken de
- Seite 125 und 126:
6 Maximale Flüsse in Netzwerken s
- Seite 127 und 128:
6 Maximale Flüsse in Netzwerken W
- Seite 129 und 130:
6 Maximale Flüsse in Netzwerken Da
- Seite 131 und 132:
6 Maximale Flüsse in Netzwerken s
- Seite 133 und 134:
Literaturverzeichnis L. R. Ford, Jr
- Seite 135 und 136:
7 Flüsse mit minimalen Kosten Ein
- Seite 137 und 138:
7 Flüsse mit minimalen Kosten Dami
- Seite 139 und 140:
7 Flüsse mit minimalen Kosten Dami
- Seite 141 und 142:
7 Flüsse mit minimalen Kosten 2. K
- Seite 143 und 144:
7 Flüsse mit minimalen Kosten schr
- Seite 145 und 146:
7 Flüsse mit minimalen Kosten Erf
- Seite 147 und 148:
7 Flüsse mit minimalen Kosten Die
- Seite 149 und 150:
7 Flüsse mit minimalen Kosten (7.2
- Seite 151 und 152:
7 Flüsse mit minimalen Kosten W f
- Seite 153 und 154:
7 Flüsse mit minimalen Kosten r s
- Seite 156 und 157:
8 Grundlagen der Polyedertheorie In
- Seite 158 und 159:
(c) Ist F = {x ∈ P | c T x = γ}
- Seite 160 und 161:
(a) =⇒ (d): Nach Definition ist {
- Seite 162 und 163:
(8.12) Folgerung. Sei P = P = (A, b
- Seite 164 und 165:
9 Die Grundversion des Simplex-Algo
- Seite 166 und 167:
9.1 Basen, Basislösungen, Entartun
- Seite 168 und 169:
9.1 Basen, Basislösungen, Entartun
- Seite 170 und 171:
9.2 Basisaustausch (Pivoting), Simp
- Seite 172 und 173:
gilt daher ⎛ ⎜ F · E = ⎜ ⎝
- Seite 174 und 175:
9.2 Basisaustausch (Pivoting), Simp
- Seite 176 und 177:
9.3 Das Simplexverfahren (c) Ist x
- Seite 178 und 179:
Setze (II.6) Updating B ′ := (p1,
- Seite 180 und 181:
9.3 Das Simplexverfahren (Die Trans
- Seite 182 und 183:
9.3 Das Simplexverfahren x2 = 0 nic
- Seite 184 und 185:
9.3 Das Simplexverfahren Wir führe
- Seite 186 und 187:
9.3 Das Simplexverfahren Das letzte
- Seite 188 und 189:
9.4 Spalten- und Zeilenauswahlregel
- Seite 190 und 191:
9.5 Die Phase I (2) Kleinster-Varia
- Seite 192 und 193:
9.5 Die Phase I x ≥ 0. Wir müsse
- Seite 194:
x1 x2 x3 s1 s2 s3 9.5 Die Phase I 6
- Seite 197 und 198:
10 Fourier-Motzkin-Elimination und
- Seite 199 und 200:
10 Fourier-Motzkin-Elimination und
- Seite 201 und 202:
10 Fourier-Motzkin-Elimination und
- Seite 203 und 204:
10 Fourier-Motzkin-Elimination und
- Seite 205 und 206:
10 Fourier-Motzkin-Elimination und
- Seite 207 und 208:
11 Das Farkas-Lemma und Dualitätst
- Seite 209 und 210:
11 Das Farkas-Lemma und Dualitätst
- Seite 211 und 212:
11 Das Farkas-Lemma und Dualitätst
- Seite 213 und 214:
11 Das Farkas-Lemma und Dualitätst
- Seite 215 und 216:
11 Das Farkas-Lemma und Dualitätst
- Seite 217 und 218:
11 Das Farkas-Lemma und Dualitätst
- Seite 219 und 220:
11 Das Farkas-Lemma und Dualitätst
- Seite 221 und 222:
11 Das Farkas-Lemma und Dualitätst
- Seite 223 und 224:
12 Ganzzahligkeit von Polyedern: Ei
- Seite 225 und 226:
12 Ganzzahligkeit von Polyedern: Ei
- Seite 227 und 228:
12 Ganzzahligkeit von Polyedern: Ei
- Seite 229:
12 Ganzzahligkeit von Polyedern: Ei