1 / 13

Isomorphietest

Isomorphietest. Jamshid Azizi jamshid.azizi@gmx.de. 07.06.2000. Flußdiagramm des Algorithmus. Start. Vergleich gewisser charakteristischer Größen : Anzahl der Knoten eines gewissen Grades Maximaler und minimaler Grad Anzahl der Teilgraphen eines gewissen Typs. nicht gleich.

gisela-hart
Download Presentation

Isomorphietest

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Isomorphietest Jamshid Azizi jamshid.azizi@gmx.de 07.06.2000

  2. Flußdiagramm des Algorithmus Start • Vergleich gewisser charakteristischer Größen : • Anzahl der Knoten eines gewissen Grades • Maximaler und minimaler Grad • Anzahl der Teilgraphen eines gewissen Typs nicht gleich gleich Die beiden Graphen könnten isomorph sein Nicht isomorph Isomorphietestalgorithmus Verwenden, um zu überprüfen. isomorph Nicht isomorph

  3. Die Schritte zum Implementieren des Algorithmus • Die Bäume erzeugen • Die Anzahl der Knoten bestimmen • Die Adjanzenmatrix als Eingabe bestimmen • Blätter der Bäumen bestimmen • Die Wurzeln bestimmen • Sortieren • Vergleichen (die Tupels)

  4. Bäume erzeugen 7 5 9 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 6 11 0 1 0 0 0 1 1 0 0 0 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 A = 0 0 0 0 0 0 0 0 1 0 0 0 1 10 12 0 0 0 0 0 0 0 1 0 0 1 0 4 3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 2 7 9 11 5 1 2 , 3 2 , 4 2 , 2 5 , 6 5 , 5 7 , 9 7 , 8 9 , 11 9 , 10 11 , 12 11 n n n n

  5. Bäume erzeugenBäume und Wurzel bestimmen Blätter 7 1 5 9 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 6 11 • für Blätter ist Grad d(x) =1 • x ist ein Kanten • Der Grad d(x) eines Knotens x im Graphen X = (V, E) ist die Anzahl der mit x inzidenten kanten. • Der Grad d(x) ist die Summe der Elementen in der Zeile von x in der Adjanzenmatrix ( Anzahl der Einser). 0 1 0 0 0 1 1 0 0 0 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 A = 0 0 0 0 0 0 0 0 1 0 0 0 1 10 12 0 0 0 0 0 0 0 1 0 0 1 0 4 3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 Wurzel 2 7 9 11 5 1 2 , 3 2 , 4 2 , 2 5 , 6 5 , 5 7 , 9 7 , 8 9 , 11 9 , 10 11 , 12 11 n n n n

  6. Isomorphietest-Algorithmus Ebene 3 Ebene 2 Ebene 1 Ebene 0

  7. Ordne allen Blättern von T1 und T2 die 0 zu. Ebene 3 Ebene 2 0 0 0 0 0 0 0 0 b11 b12 b13 b14 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={b01, b02, b03, b04} L2={b01, b02, b03, b04}

  8. Man ordnet den Knoten (keinen Blätter) von T1 auf der Ebene i einen Tupel von Zahlen durch das Absuchen der Liste L1von links nach rechts zu. Ebene 3 Ebene 2 (0,0) (0,0) (0,0) (0,0) 0 0 0 0 0 0 0 0 b11 b12 b13 v11 b14 v12 v11 v12 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={b01, b02, b03, b04} L2={b01, b02, b03, b04} v11 = (0,0) v12 = (0,0) v11 = (0,0) v12 = (0,0) S1 ={ (0,0), ( 0,0) } S2 ={ (0,0), ( 0,0) }

  9. Man sortiert S1 und S2, daraus folgt S´1und S´2, sie sind die Bezeichnungen für die folge von Tupel auf der Ebene i=1. Ebene 3 Ebene 2 1 (0,0) 1 (0,0) 1 (0,0) 1 (0,0) 0 0 0 0 0 0 0 0 b11 b12 b13 v11 b14 v12 v11 v12 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={b01, b02, b03, b04} L2={b01, b02, b03, b04} v11 = (0,0) v12 = (0,0) v11 = (0,0) v12 = (0,0) S1 ={ (0,0), ( 0,0) } S2 ={ (0,0), ( 0,0) } S1 Folge von Tupels  S´1 sortierte Folge von S1 S2 Folge von Tupels  S´2 sortierte Folge von S2

  10. Wenn S´1 und S´2 nicht identisch sind, dann folgt: die Bäume sind nicht isomorph. Sonst ordnet man die 1 zu den Knoten von T1 auf der Ebene i=1 zu, die durch den ersten verschiedenen Tupel auf S´1 abgebildet sind, ordnet man die 2 den Knoten zu, welche durch den zweiten verschiedenen Tupel dargestellt sind, usw.. Ebene 3 (0, 0, 0) (1, 0, 1) (1, 1, 0) (0, 0, 0) Ebene 2 v21 v22 v21 v22 1 (0,0) 1 (0,0) 1 (0,0) 1 (0,0) 0 0 0 0 0 0 0 0 b11 b12 b13 v11 b14 v12 v11 v12 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={ b11, b12, b13,(v11 ), b14, (v12 ) } L2={ (v11 ) , (v12 ), b11, b12, b13, b14 } v21 = (0,0,0) v22 = ( 1,0,1) sortiert sortiert v21 = (1, 1, 0) v22 = (0, 0, 0) S1 ={ (0,0,0), ( 0,1,1) } S2 ={ (0, 1, 1), (0, 0, 0) } S1 Folge von Tupels  S´1 sortierte Folge von S1 S2 Folge von Tupels  S´2 sortierte Folge von S2

  11. Wenn S´1 und S´2 nicht identisch sind, dann folgt: die Bäume sind nicht isomorph. Sonst ordnet man die 1 zu den Knoten von T1 auf der Ebene i=1 zu, die durch den ersten verschiedenen Tupel auf S´1 abgebildet sind, ordnet man die 2 den Knoten zu, welche durch den zweiten verschiedenen Tupel dargestellt sind, usw.. Ebene 3 1 (0, 0, 0) 2 (1, 0, 1) 2 (1, 1, 0) 1 (0, 0, 0) Ebene 2 v21 v22 v21 v22 1 (0,0) 1 (0,0) 1 (0,0) 1 (0,0) 0 0 0 0 0 0 0 0 b11 b12 b13 v11 b14 v12 v11 v12 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={ b11, b12, b13,(v11 ), b14, (v12 ) } L2={ (v11 ) , (v12 ), b11, b12, b13, b14 } v21 = (0,0,0) v22 = ( 1,0,1) sortiert sortiert v21 = (1, 1, 0) v22 = (0, 0, 0) S1 ={ (0,0,0), ( 0,1,1) } S2 ={ (0, 1, 1), (0, 0, 0) } S1 Folge von Tupels  S´1 sortierte Folge von S1 S2 Folge von Tupels  S´2 sortierte Folge von S2 S´1 ={ (0,0,0), ( 0,1,1) } S´2 ={ (0, 0, 0), (0, 1, 1) }

  12. Wenn die Wurzeln von T1 und T2 der gleichen Zahl zugeordnet werden, sind T1 und T2 isomorph (1, 2) (2, 1) Ebene 3 w1 w2 1 (0, 0, 0) 2 (1, 0, 1) 2 (1, 1, 0) 1 (0, 0, 0) Ebene 2 v21 v22 v21 v22 1 (0,0) 1 (0,0) 1 (0,0) 1 (0,0) 0 0 0 0 0 0 0 0 b11 b12 b13 v11 b14 v12 v11 v12 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={ (v21 ), (v22 ) } L2={ (v21 ) , (v22 ) } w1 = (1, 2) sortiert sortiert w2 = (2, 1) S1 ={ ( 1, 2) } S2 ={ (1, 2) } S1 Folge von Tupels  S´1 sortierte Folge von S1 S2 Folge von Tupels  S´2 sortierte Folge von S2

  13. Wenn eine Ungleichung auf jeder Ebene auftritt, können die Bäume nicht isomorph sein und der Algorithmus wird mit der Erklärung des Nicht-Isomorphismus beendet. 1 (1, 2) 1 (1, 2) sortiert Ebene 3 w1 w2 1 (0, 0, 0) 2 (1, 0, 1) 2 (1, 1, 0) 1 (0, 0, 0) Ebene 2 v21 v22 v21 v22 1 (0,0) 1 (0,0) 1 (0,0) 1 (0,0) 0 0 0 0 0 0 0 0 b11 b12 b13 v11 b14 v12 v11 v12 b11 b12 b13 b14 Ebene 1 0 0 0 0 0 0 0 0 b01 b02 b03 b04 b01 b02 b03 b04 Ebene 0 L1={ (v21 ), (v22 ) } L2={ (v21 ) , (v22 ) } w1 = (1, 2) sortiert sortiert w2 = (2, 1) S1 ={ ( 1, 2) } S2 ={ (1, 2) } S1 Folge von Tupels  S´1 sortierte Folge von S1 S2 Folge von Tupels  S´2 sortierte Folge von S2 S´1 ={ ( 1, 2) } S´2 ={ (1, 2) }

More Related