Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Proseminar Algorithmen auf Graphen Zufälliges Erzeugen von Graphen und Bayes-Netzen Björn Schapitz, CV04, 20.06.2006.

Ähnliche Präsentationen


Präsentation zum Thema: "Proseminar Algorithmen auf Graphen Zufälliges Erzeugen von Graphen und Bayes-Netzen Björn Schapitz, CV04, 20.06.2006."—  Präsentation transkript:

1 Proseminar Algorithmen auf Graphen Zufälliges Erzeugen von Graphen und Bayes-Netzen Björn Schapitz, CV04, 20.06.2006

2 2 Gliederung (1) Einleitung (2) Geschichtliches (3) Algorithmen / Beispiele (1) Anschauliches Vorgehen (2) Zufällige Adjazenzmatrix (3) Zufällige Kantenanordnung (4) Rekursive Erzeugung (5) One-Pass-Algorithm (4) Zufällige Bayes-Netze (5) Zusammenfassung

3 Einleitung 3 Gründe zur Beschäftigung mit zufälligen Graphen 1.Beweise führen (Nachweise der Existenz von Graphen mit bestimmten Eigenschaften) 2.Modellierung von großen, unüberschaubaren Strukturen (z.B. Netzwerke, Internet)

4 4 Arten zufälliger Graphen echt zufällige Graphen Oft bestimmte Eigenschaften benötigt: – Begrenzt maximale Cliquen – Verhältnis Kanten/Knoten (Dichte) – Zusammenhängend ?

5 5 Geschichtliches Paul Erdös – ungarischer Mathematiker – * 26.03.1913, 20.09.96 Entwickelte die Probabilistische Methode zum Beweis seines Satzes: Es gibt Graphen, die gleichzeitig beliebig hohe Taillenweite und beliebig hohe chromatische Zahl haben.

6 6 Anschauliches Vorgehen Leeren Graphen mit n Knoten erzeugen Wahrscheinlichkeitszahl p mit 0 p 1erzeugen Für jedes Tupel (n 1,n 2 ) mit (n 1 n 2 ) entscheiden, ob Kante gesetzt wird Beispiel:

7 7 Zufällige Adjazenzmatrix n Knoten: n x n Matrix erzeugen Mit Nullen füllen Wahrscheinlichkeitszahl p erzeugen: 0 p 1 Für jedes Element der oberen Dreiecksmatrix (ohne Hauptdiagonale): – Zufallszahl x erzeugen: 0 x 1 – Wenn x > p, Element auf 1 setzen

8 8 Beispiel 1 Zufallsgraph mit 5 Knoten 5 x 5 Matrix erzeugen n1n1 n2n2 n3n3 n4n4 n5n5 n1n1 00000 n2n2 00000 n3n3 00000 n4n4 00000 n5n5 00000

9 9 Beispiel 1 Wahrscheinlichkeit p erzeugen p = 0.5 Für jedes Element oberhalb der Hauptdiagonalen Zufallszahl x erzeugen falls x > p, Matrixelement anpassen n1n1 n2n2 n3n3 n4n4 n5n5 n1n1 01011 n2n2 00110 n3n3 00001 n4n4 00001 n5n5 00000

10 10 Beispiel 1 Graph anhand Adjazenzmatrix aufbauen n1n1 n2n2 n3n3 n4n4 n5n5 n1n1 01011 n2n2 00110 n3n3 00001 n4n4 00001 n5n5 00000

11 11 Eigenschaften so erzeugter Graphen Erzeugt echt zufällige Graphen Anzahl der Kanten über p beeinflussbar Nicht immer zusammenhängend Komplexität: O(n 2 )

12 12 Zufällige Kantenanordnung Leeren Graphen mit n Knoten erzeugen Anzahl der Kanten e zwischen 0 und e max wählen 1 bis e mal: – p und q von 1..n wählen, so dass p { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/652309/1/slides/slide_11.jpg", "name": "12 Zufällige Kantenanordnung Leeren Graphen mit n Knoten erzeugen Anzahl der Kanten e zwischen 0 und e max wählen 1 bis e mal: – p und q von 1..n wählen, so dass p

13 13 Beispiel 2 Leeren Graph mit 5 Knoten erzeugen e max = 10 (max. Anzahl Kanten ohne Loops = (n(n-1))/2 e zufällig aus 1 bis 10: e = 8

14 14 Beispiel 2 1 bis 8 mal p und q aus 1..n wählen (mit p { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/652309/1/slides/slide_13.jpg", "name": "14 Beispiel 2 1 bis 8 mal p und q aus 1..n wählen (mit p

15 15 Eigenschaften so erzeugter Graphen gezieltes Setzen von e = feste Kantenanzahl Durch geeignete Wahl von p und q kann die max. Anzahl der Eltern und Kinder beeinflusst werden Sind nicht immer zusammenhängend Laufzeit: abhängig von e Komplexität: bis zu O(n 2 )

16 16 Rekursive Erzeugung Basiert auf der Formel von R.W. Robinson, Anzahl möglicher Graphen mit n Knoten und k Wurzeln ist a n (k), mit Wiederholte rekursive Zerlegung in Wurzeln und Rest-Knoten Für alle möglichen Wurzel-Anzahlen s des Teilgraphen alle Kombinationen aufsummieren

17 17 Rekursive Erzeugung - Algorithmus - Umkehrung der Berechnungsformel zur Berechnung eines Graphen (benötigt Knotenmenge V und Wurzelanzahl k) 1. Zufällig k Wurzeln wählen: K V, |K| = k 2. Zufällig s aus 1..(n-k) wählen, dabei beachten: (s wird für die Erzeugung von S V\K benötigt)

18 18 Rekursive Erzeugung - Algorithmus 3. Wähle zufällig und unabhängig voneinander s nichtleere Teilmengen aus K Eltern für jedes Element aus S 4. Wähle zufällig und unabhängig voneinander (n-k-s) Teilmengen (dürfen leer sein) aus K Eltern für Elemente aus V\K\S 5. Benutze diesen Algorithmus rekursiv, um aus V \ K als Knotenmenge und s als Anzahl der Wurzeln einen azyklischen Graphen mit den Wurzel-Knoten S zu erzeugen Bei zufälliger Bestimmung von k muss P(k)=a n (k) /a n gelten.

19 19 Rekursive Erzeugung - Eigenschaften Vorteile: – Variation von k und s hoher/breiter Graph – Rekursive topologische Aufspaltung einfacheres Ermitteln von Attribut-Abhängigkeiten Nachteile: – Nicht immer zusammenhängend – a n (k) müssen für alle Kombinationen von k und n berechnet und zwischengespeichert werden (a 1 =1, a 2 =3, a 3 =25, …, a 7 =1.138.779.265!!!) – Komplexität: O(n 2 )

20 20 One-Pass-Algorithm Erzeugt in einem Schritt einen zusammenhängenden Graphen Anzahl Knoten n und Wurzeln r muss bekannt sein Maximaler Eingangsgrad m ist begrenzt

21 21 One-Pass-Algorithm Notwendige Bedingungen: – n 2 sinnvoller Graph muss mindestens 2 Knoten haben – 1 r < n mindestens eine Wurzel – 1 m < n zusammenhängender Graph

22 22 One-Pass-Algorithm Einschränkungen von n, r und m: – wenn r m, dann m(n-r) n-1 – sonst m(n-r) + m(m-1)-r(r-1) n-1 2 Eingabe: Knoten n, Wurzeln r und maximaler Eingangsgrad m Ausgabe: zusammenhängender azyklischer gerichteter Graph Komplexität: O(mn)

23 23 One-Pass-Algorithm Maximale Kantenanzahl berechnen: – e max = m(n-r) falls r m – e max = m(n-r)+½(m(m-1)-r(r-1)) sonst Kantenanzahl e zufällig aus Intervall [n, e max ] bestimmen Für alle Wurzelknoten (v 0 …v r-1 ) Eingangsgrad d - (v i )=0 setzen Für restliche Knoten d - (v i ) = [1,min(i,m)] setzen dabei beachten, dass i=r d - (v i )=e sein muss

24 24 One-Pass-Algorithm Für alle Knoten Anzahl zu verbindender Eltern p(v i )=d - (v i ) Für i=r bis n-1: – Kante von v j zu v i setzen (j [r-1,i-1]) Für i=0 bis r-2 – Kante von v i zu x setzen (x {v j | p(v j )1}) Für i=r bis n-1: – Solange p(v i ) 1 wiederhole: Kante von x zu v i setzen (x {v j | 0 j i-1, (v j,v i ) є E})

25 25 Beispiel 3 Graph mit 5 Knoten, 2 Wurzeln und maximalem Eingangsgrad 2 Bedingungen: – n 2 erfüllt – 1 r < n erfüllt – 1 m < n erfüllt Einschränkung: da r m, muss m(n-r) n-1 gelten 2(5-2) 5-1 6 4

26 26 Beispiel 3 1.e max = m(n-r) = 6 2.e=6 3.d - (n 0 )=0, d - (n 1 )=0 4.restliche Knoten: – n 2 =[1,min(2,2)]=2 – n 3 =[1,min(3,2)]=2 – n 4 =[1,min(4,2)]=2 5.p(n 2 )=2p(n 3 )=2p(n 4 )=2

27 27 Beispiel 3 6.i=2 bis 4 – n j n i, j [1,1] n 1 n 2 – n j n i, j [1,2] n 1 n 3 – n j n i, j [1,3] n 1 n 4 7.i=0 bis 0 – Kante von n i zu x, wobei x={n j | p(nj)1} n 0 n 2

28 28 Beispiel 3 8.i=2 bis 4 -p(n 2 ) 1 ? nein -p(n 3 ) 1 ? ja, x zu n 3, x {n j | 0 j 2, (n j,n 3 ) nicht Element von E n j =n 0, n 0 n 3 -p(n 4 ) 1 ? ja, x zu n 4, x {n j | 0 j 3, (n j,n 4 ) nicht Element von E n j =n 0, n 0 n 4

29 29 Bayes-Netze Bayessches Netz: – Gerichteter azyklischer Graph – Jeder Knoten besitzt Variable mit Angabe über ihre statistische Verteilung – Meistens zusammenhängend

30 30 Erweitern zum Bayesschen-Netz Jedem Knoten v i Variable V i zuordnen Anzahl der möglichen Zustände für V i bestimmen: N i =|V i | Für jeden Wurzelknoten: N i Zufallswerte erzeugen und zu =1 normieren Für alle anderen Knoten in topologischer Reihenfolge: für jede Belegung der Elternknoten N i Zufallswerte erzeugen und zu =1 normieren Bei Bedarf beliebig viele Einzelbelegungen des Netzes entsprechend den Verteilungen erzeugen Komplexität: abhängig von Elternknoten-Anzahl, O(mn)

31 31 Zusammenfassung Zufällige Graphen verwendet zur Beweisführung und zur Modellierung unübersichtlicher Strukturen Algorithmen: – Zufällige Adjazenzmatrix:kaum Variationen möglich – Zufällige Kantenzuordnung: Variationen bedingt über Parameter möglich – Rekursive Erzeugung: Struktur variierbar, aber komplex und langsam – One-Pass-Algorithm:zusammenhängend, wenige Kanten gut für Bayessche-Netze Bayessche Netze: – Erweiterungen obiger Algorithmen mit Zustandsvariablen für Knoten

32 32 Quellen Reinhard Diestel: Graphentheorie, 1996, Springer Svante Janson, Tomasz Luczak, Andrzej Rucinski: Random Graphs, 2000, John Wiley & Sons Inc. Lothar Wenzel: Wie klein ist doch die Welt, in: Toolbox, Ausgabe 6/2002, S. 6 ff. Ansgar Voigt: Mathe-Tricks in der Biologie, in: RUBIN, 2003 Peter Eichelsbacher: Die Steinsche Methode, 2003


Herunterladen ppt "Proseminar Algorithmen auf Graphen Zufälliges Erzeugen von Graphen und Bayes-Netzen Björn Schapitz, CV04, 20.06.2006."

Ähnliche Präsentationen


Google-Anzeigen