2 - e8u.de

Werbung
Tutorium 23
Grundbegriffe der Informatik (7. Sitzung)
Tutor: Felix Stahlberg
SOFTWARE DESIGN AND QUALITY GROUP
Source: pixelio.de
KIT – The cooperation of Forschungszentrum Karlsruhe GmbH and Universität Karlsruhe (TH)
Agenda - 7. Sitzung
Anmerkungen zu den Übungsblättern
Gerichtete Graphen
Ungerichtete Graphen
Repräsentation im Rechner
Erreichbarkeit in Graphen
2
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Abschreiben (Ich hab euch gewarnt…)
Halbwegs schlechte Idee: Abschreiben
Wenn „offensichtlich“: < die Hälfte der Punkte
Sehr schlechte Idee: gedankenlos Abschreiben
Wenn „offensichtlich“: 0 Punkte
3
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Agenda - 7. Sitzung
Anmerkungen zu den Übungsblättern
Gerichtete Graphen
Ungerichtete Graphen
Repräsentation im Rechner
Erreichbarkeit in Graphen
4
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (1)
Eingangsgrad: 1
Ausgangsgrad: 0
Grad: 1
Knoten
Eingangsgrad: 2
Ausgangsgrad: 2
Grad: 4
0
3
1
2
Schlinge
Kante
Gerichteter Graph ist ein 2-Tupel G = (V, 𝐸) mit 𝑉 ist Knotenmenge und
𝐸 ⊆ 𝑉 × 𝑉 ist Kantenmenge.
Hier: G = (𝔾4 , * 0,1 , 0,2 , 0,3 , 2,0 , 3,2 , 3,3 +
5
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (2)
0
3
1
2
Wiederholungsfreier Pfad (3, 2, 0, 1)
6
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (3)
0
3
1
2
Pfad (0, 3, 3, 3)
7
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (4)
0
3
1
2
Wiederholungsfreier 3-Zyklus (2, 0, 3, 2)
8
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (5)
Unzusammenhängend
0
Streng Zusammenhängend
0
3
2
1
9
11.12.2010
2
1
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
3
Gerichtete Graphen (Teilgraphen)
3
0
1
4
2
5
3
Isomorph
1
10
11.12.2010
0
2
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
4
5
Gerichtete Graphen (Planarität)
Nicht Planar
Planar
3
3
0
1
4
2
5
4
1
11
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
5
0
2
Gerichtete Graphen (Planarität)
Nicht Planar
0
Planar
0
3
3
1
12
11.12.2010
2
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
1
2
Gerichtete Graphen (Baum)
Wurzel
∃𝑟 ∈ 𝑉: ∀𝑣 ∈ 𝑉:
∃ 𝑔𝑒𝑛𝑎𝑢 𝑒𝑖𝑛 𝑃𝑓𝑎𝑑 𝑣𝑜𝑛 𝑟 𝑛𝑎𝑐𝑕 𝑣
Innere
Knoten
Blätter
13
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (Aufgaben)
14
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (Aufgaben)
15
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (Aufgaben)
16
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Gerichtete Graphen (Aufgaben)
17
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Agenda - 7. Sitzung
Anmerkungen zu den Übungsblättern
Gerichtete Graphen
Ungerichtete Graphen
Repräsentation im Rechner
Erreichbarkeit in Graphen
18
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Ungerichtete Graphen (Definition)
Informell: Ungerichtete Graphen sind gerichtete Graphen
ohne Pfeilspitzen.
Formal: Ein ungerichteter Graph ist ein 2-Tupel G =
(V, 𝐸) mit
𝑉 ist Knotenmenge
𝐸 ⊆ **𝑥, 𝑦+|𝑥 ∈ 𝑉 𝑦 ∈ 𝑉+ ist Kantenmenge
Begriffe wie Schlingen, Zyklen, Zusammenhang,
Isomorphie etc. analog zum gerichteten Fall definiert.
0
3
1
2
19
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Hier:
G = (𝔾4 , 0,1 , 0,2 , 0,3 , 2,3 , 3 )
Ungerichtete Graphen (Bäume)
Isomorph
Isomorph
Der ungerichtete Graph G = (V, 𝐸) ist ein Baum gdw.
G ist zyklenfrei?
Reicht nicht...
G ist zyklenfrei und zusammenhängend?
Scheint korrekt zu sein
In der Klausur Definitionen aus Vorlesung benutzen!
20
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Ungerichtete Graphen (Aufgaben(1a))
Zeichnen Sie möglichst viele gerichtete Bäume mit genau
vier Knoten
Je zwei Graphen dürfen nicht isomorph zueinander sein.
21
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Ungerichtete Graphen (Aufgaben(1b))
Zeichnen Sie möglichst viele ungerichtete Bäume mit
genau fünf Knoten
Je zwei Graphen dürfen nicht isomorph zueinander sein.
22
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Ungerichtete Graphen (Aufgaben(2))
Zeichnen Sie möglichst viele ungerichtete,
zusammenhängende, schlingenfreie Graphen
Je zwei Graphen dürfen nicht isomorph zueinander sein.
23
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Ungerichtete Graphen (Aufgaben(3))
Sei 𝐺 = (𝑉, 𝐸) ein ungerichteter Graph mit 𝑛 Knoten.
Wieviel Kanten kann 𝐺 maximal haben, wenn 𝐺 schlingenfrei ist?
1
𝑛(𝑛
2
− 1)
Wieviel Kanten kann 𝐺 maximal haben, wenn 𝐺 Schlingen haben
darf?
1
𝑛
2
24
11.12.2010
1
𝑛 − 1 + 𝑛 = 2 𝑛(𝑛 + 1)
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Agenda - 7. Sitzung
Anmerkungen zu den Übungsblättern
Gerichtete Graphen
Ungerichtete Graphen
Repräsentation im Rechner
Erreichbarkeit in Graphen
25
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Repräsentation im Rechner (1)
Viele verschiedene Ansätze mit unterschiedlichen Vor- und
Nachteilen bezüglich
Platzeffizienz
Effizienz von Operationen
Knoten/Kanten hinzufügen/entfernen
Vereinigung/Schnitt
Traversierung
uvm…
Flexibilität bezüglich Kanten/Knotengewichte
Algebraische Handhabbarkeit
Hier: Nur Adjazenzlisten und Adjazenzmatrizen
Beide Datenstrukturen in der Praxis eher selten eingesetzt
Hier: Stelle ungerichtete Kanten als bidirektionale
gerichtete Kanten dar
26
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Repräsentation im Rechner (2)
0
1
2
3
Adjazenzliste
v[0] = {1,3}
v[1] = { }
v[2] = {1, 2, 3}
v[3] = {2}
Adjazenzmatrix
0
1
2
3
• Schneller Zugriff auf Knoten
(„Gib mir alle Nachbarn von X“)
• Platzsparend für kleine Graphen
27
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
0
1
2
3
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
• Schneller Zugriff auf Kanten
(„Ist X mit Y adjazent?“)
• Platzsparend für dichte große Graphen
Repräsentation im Rechner (Fragen)
Wie erkennt man anhand der Adjazenzmatrix, ob der
Graph schleifenfrei ist?
Keine 1en auf der Hauptdiagonalen
Wie sieht die Adjazenzmatrix von ungerichteten Graphen
aus?
Symmetrisch
28
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Agenda - 7. Sitzung
Anmerkungen zu den Übungsblättern
Gerichtete Graphen
Ungerichtete Graphen
Repräsentation im Rechner
Erreichbarkeit in Graphen
29
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Erreichbarkeit in Graphen (Definition)
Sei 𝐺 = (𝑉, 𝐸) ein Graph.
Knoten 𝑦 ∈ 𝑉 heißt von 𝑥 ∈ 𝑉 aus erreichbar gdw. es einen Pfad in
𝐺 von 𝑥 nach 𝑦 gibt.
Knoten 𝑦 ∈ 𝑉 heißt von 𝑥 ∈ 𝑉 aus 2-erreichbar gdw. es einen Pfad
in 𝐺 der Länge 2 von 𝑥 nach 𝑦 gibt.
Durch Matrizen beschreibbar (Wegematrix, 2Erreichbarkeitsmatrix…)
Mittels Matrixmultiplikation berechenbar aus der Adjazenzmatrix
30
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Erreichbarkeit in Graphen (1)
0
1
2
3
Adjazenzmatrix
0
1
2
3
0
1
2
3
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
„Ist X mit Y adjazent?“
31
11.12.2010
2-Erreichbarkeitsmatrix
0
1
2
3
0
1
2
3
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
„Ist X mit Y über einen
Knoten Z adjazent?“
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Wegematrix
0
1
2
3
0
1
2
3
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
„Ist Y von X aus
erreichbar?“
Erreichbarkeit in Graphen (Aufgabe)
0
1
2
3
Aufgabe: Berechne…
Adjazenzmatrix
„Ist X mit Y adjazent?“
32
11.12.2010
2-Erreichbarkeitsmatrix
„Ist X mit Y über einen
Knoten Z adjazent?“
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Wegematrix
„Ist Y von X aus
erreichbar?“
Fragen?
33
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
http://xkcd.com/403/
34
11.12.2010
Felix Stahlberg:
www.das-tutorium.de
Tutorium 23 für Grundbegriffe der Informatik
Herunterladen