Bauinformatik Vertiefte Grundlagen g Graphentheorie 5. Semester 8. Vorlesung G h th Graphentheoretische ti h Grundlagen G dl Prof. Dr.-Ing. R J. R. J S Scherer h Nürnberger Str. 31a 2 OG 2. OG, Raum R 204 Graphen im Bauwesen • • • • • • Baumanagement (Netzplantechnik, kritischer Pfad) Baustellensimulation (Petrinetze) Prozessmodellierung (EPK) Infrastrukturplanung (kürzeste Pfade) Tragwerk (Kraftfluss) Tragwerksversagen (Versagenspfade, Vers.-Mechanismus) Graphen in der Informatik • • • • • • BPEL-Prozesse Datenstrukturen Ontologiemodelle (OWL / RDF Graphen) Entscheidungsbäume (Künstliche Intelligenz, KI) Aufbau von Netzwerken Aufbau eines geometrischen Körpers 2 Definition eines Graphen Ein Graph ist eine Datenstruktur. Datenstrukturen sind als Graphen darstellbar. E ist eine zweistellige Relation auf V: E ⊆ V x V a c V={a,b,c,d,e} Knoten (Vertex,, Nodes) G={ V,E } d b E={(a,b) E {(a,b) , (b,a) , (b,d) , (d,b) , (c,d) , (d,c) , (d,e) , (e,d)} Kanten (Edges) e 3 Arten von Graphen • Endliche Graphen: G={ V , E }, • Zusammenhängende Graphen: ∀ vi,vj = Mindestens ein Pfad existiert zwischen allen beliebigen Knotenpaaren 1. Zyklische Graphen exklusiv kl i zyklisch kli h e.g. Gründstücksplan 2. Zusammenhängend ohne Zyklus: Baum e.g. Flusssystem, V= Vertex, E=Edge • V ll tä di Vollständiger G h Jeweils Graph: J il eine i Kante K t besteht b t ht zwischen i h beliebigen b li bi K t Knotenpaaren • Ebene Graphen: alle Kreuzungspunkte der Kanten sind Knoten • Nicht-ebene Graphen: nicht alle Kreuzungspunkte der Kanten sind Knoten Achtung: ∀Knoten= Punkte, Punkte aber ∀ Punkte ≠ Scheitelpunkte; das bedeutet eine Kante kann ein Polygon sein 4 Gerichteter Graph Einfacher, gerichteter Graph. Kanten hier: „gerichtete Kanten“, Kanten , Bögen oder Dikanten. 5 Ungerichteter Graph 6 Ungerichteter Graph Ungerichteter Graph mit Mehrfachkanten, auch „Multigraph“. 7 Zusammenhängender Graph • Stark zusammenhängend • Schwach zusammenhängend stark 8 Unzusammenhängender Graph A B C M = {A,B,C} = U(A,B,C) da gilt: ∀ ∩ (A,B) etc = ∅ 9 Graphentheoretische Grundbegriffe Knoten Kante B B B Hyperkante A D F A A C E E D G Punkt F C Graph Hypergraph C Multigraph 10 Graphentheoretische Grundbegriffe Gerichtete Graphen B B D A A C E G F B D A C E G F Maschen Pfad A-C-E-G 11 Bäume Baum: zusammenhängender und maschenfreier Graph Wurzel B A A F C B C E E G F G D H I J K D Blätter U Ungerichteter i ht t B Baum G Gewurzelter lt Baum B 12 Bipartite Graphen Ein einfacher Graph G = (V,E) (V Menge der Knoten, E Menge der Kanten) heißt in der Graphentheorie bipartit (auch paar), falls sich seine Knoten in zwei disjunkte Teilmengen g A und B aufteilen lassen, sodass zwischen den Knoten innerhalb beider Teilmengen keine Kanten verlaufen. Die Menge {A, B} bezeichnet man dann als Bipartition des Graphen G. G Der Graph G heißt vollständig bipartit, falls eine Bipartition {A,B} existiert, für die für jedes Paar (a,b) eine Kante {a,b} existiert existiert. A B Beispiel: B i i l Neuronales Netzwerk 13 Bewertete Graphen • Der Algorithmus zur Suche nach dem kürzestem Weg zwischen zwei vorgegeben Orten entwickelt einen Baum 14 Teilgraph, Partialgraph • Ein Teilgraph….. 15 Grad eines Knotens 16 Topology Topologie ist die Beschreibung der Anordnung Die Topologie beschreibt: 1. Die g geordneten Beziehungen g 2. Die Nachbar-Beziehungen 3. Die Aggregation Topologie ist bspw. die geometrische Beschreibung ohne Maßinformationen 17 Beispiel: Topologische Darstellung eines Graphen Gegebene Situation Grundstücksplan ((Graph) p ) 1 A1 3 A8 7 A2 2 R11 A3 A4 A5 R12 A7 4 R21 A10 A9 8 R22 A11 Begrenzungsdarstellung (Topology) Geo-Objekt G O Grundstücksplan 0 5 R11 A6 R12 R21 Immobilien R22 6 A12 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 Kanten 9 1 2 3 4 5 6 7 8 9 Eckpunkte 18 Beispiel: Topologische Darstellung eines Würfels S1, S2 – Base and top area S3...S6 – Side area E1...E12 – Edges V1...V8 - Vertices Geo-Objekt Würfel Flächen Kanten Punkte Koordinaten 19 Graphen – Nutzen Mit einem Graphen ist es möglich die prinzipielle Struktur eines Systems Darzustellen auf Vollständigkeit zu prüfen auf Konsistenz zu prüfen Variationen gezielt zu bilden und zu verwalten Beispiel: Tragsystemfindung Geg: Gebäudegeometrie durch Architekten G optimales Ges: ti l Tragsystem T t Lösg: 1) Alle Bauelemente sind tragende Elemente und (vereinfacht) als Stäbe abbildbar, Stäbe = Kanten 2) die di Verbindungsstellen V bi d t ll der d Stäbe Stäb = Knoten K t 3) Optimales Tragsystem ist ein Variationsproblem in dem alle Stäbe als Nullstäbe (nichttragend), mit unterschiedlichen Festigkeiten, mit unterschiedlichen Verbindungen, Verbindungen d.h. d h als gewichtete Kanten in allen mögl. Kombinationen untersucht werden. Dieser Lösungsweg wäre heute auf Basis der Graphentheorie und der Computerpower lösbar. Es g ((1-2)) Jahren wurde aber noch nicht versucht, da erst seti wenigen möglich. Tragsystemvariation ist noch ein wenig untersuchtes Problem. 20 Adjazenz Adj Adjazenz = Beziehung B i h zwischen i h Elementen El gleichen l i h Types, T wobei b i die di Beziehung B i h durch einen anderen Elementtyp definiert ist. { {vertices i : edge} d } z.B. B {edges : vertex} z.B. 1 a a 1 b d c 2 = a:(1,2) (1 2) = 1:(a,b,c,d) 21 Inzidenz I id Inzidenz = Beziehung B i h zwischen i h Elementen El von verschiedenen hi d T Typen {edges – vertices} z.B. = {(a,1),(a,2)} 2 1 a {vertices - edges} z.B. = {(1,a),(1,b), (1,c),(1,d)} a 1 b d c 22 Repräsentation durch Matrizen Inzidenz-Matrix B: Kanten-Knoten B (j,i) = 1 wenn Kante j von Knoten i kommt i B (j,i) (j i) = -1 1 wenn Kante K j in i Knoten K I endet d sonst: B (j,i) = 0 J J i Æ Adjazenz-Matrix A: Knoten-Kanten A = BTB A (j,j) … Anzahl der Kanten welche sich in Knoten j treffen A (j,i) = -1 wenn verbunden j,i an Kante sonst: A (j, (j,i)) = 0 Bemerkung: die Matrizen können sehr groß werden 23 Beispiel: Darstellung durch Matrizen Beispiel: Grundstück 1 b a edge 5 g 125 f 4 c 2 126 d a b c d e f g e 6 3 t t startnode 1 1 2 2 3 4 5 endd node 4 5 5 3 6 6 6 Bemerkung: Knoten sind nummeriert nach der minimalen Distanz nodes ⎡1 edges ⎢ ⎢1 ⎢0 ⎢ B = ⎢0 ⎢0 ⎢ ⎢0 ⎢ ⎣0 nodes 0 0 −1 0 0 0 1 0 1 0 −1 0 1 0 0 0 1 0 0 0 0 0⎤ ⎥ 0⎥ −1 0 ⎥ ⎥ 0 0⎥ 0 −1⎥ ⎥ − 0 1⎥ 1 −1⎥⎦ 0 −1 nodes ⎡2 0 0 − 1 −1 0 ⎤ ⎢ ⎥ −1 0 −1 0 0 2 ⎢ ⎥ ⎢ 0 −1 2 0 0 − 1⎥ A =⎢ ⎥ − − 0 2 0 1⎥ ⎢ 1 0 ⎢ −1 −1 0 0 3 − 1⎥ ⎢ ⎥ ⎢⎣ 0 0 −1 − 1 −1 3 ⎥⎦ 24 Repräsentation von Graphen Alternative Definition der Adjazenzmatrix (=Ordnungszahl, z.B. 0,1,2,..) 25 Nachbarschaftsbeziehungen 26 Consistency Check Most dangerous for databases are errors. Errors are introduced by the users. Therefore it is important to check the database continuously about ist consistency. The topological relationships provide several consistency rules. 27 Konsistenzregeln in allgemeinen ebenen Graphennetzwerken 1.) Inzidenz eines Knotens zu allen seiner Kanten 2.) Inzidenz einer Kante zu ihren beiden Endknoten 3) Adjazenz eines Knotens zu allen Nachbarknoten die über eine Kante mit ihm verbunden sind 4) Adjazenz einer Kante zu allen Nachbarkanten die im selben Knoten enden 28 Konsistenzregeln in ebenen Graphennetzstrukturen 1) 2) 3) 4) 5) Inzidenz eines Knotens zu allen Matsche dessen Teil er ist Inzidenz einer Kante zu allen Netzen dessen Teil sie ist (max. 2) Inzidenz eines Netzes zu allen seinen Knoten Inzidenz eines Netzes zu allen seinen Kanten Adjazenz eines Netzes zu allen seinen Nachbarnetzen, welche mindestens eine gemeinsame Kante enthalten Und die 4 Konsistenzregeln in allgemeinen Netzwerken. Netzwerken 29 Eulersche Gesetze für Ebene Graphen Für ebene Graphen gilt nach Euler: Beispiele: Modell p l f p-l+f 1 0 1 2 p–l+f=2 2 1 1 2 p = Anzahl der Knoten l = Anzahl der Kanten f = Anzahl der Flächen 3 2 1 2 3 3 2 2 4 3 1 2 4 4 2 2 4 5 3 2 4 6 4 2 30 Konsistenzregeln für Ebene Graphen 1) Alle Kanten in ebenen Graphen sind entweder disjunkt oder sie schneiden sich in g gemeinsamen Knoten 2) Alle Netze (Maschen) in ebenen Graphen sind entweder disjunkt oder sie schneiden sich in gemeinsamen Kanten 3) Jede J d Flä Fläche h weist i t eine i gleiche l i h Anzahl A hl an Knoten K t undd Kanten K t auf. f Die Di Mindestanzahl ist 3. 31 Consistency Rules of Nonplanar Graphs Model 1) Generalised Euler‘s rule p l f p-l+f 4 5 1 0 4 6 2 0 4 6 2 0 5 9 2 -2 5 10 3 -2 p–l+f≤2 2) The number of edges is l ≤ p (p-1) / 2 32 Traversieren von Graphen 33