Ich muss einen d-regulären Expandergraphen für ein kleines festes d (wie 3 oder 4) von n Eckpunkten konstruieren.
Was ist die einfachste Methode, um dies in der Praxis zu tun? Erstellen eines zufälligen d-regulären Graphen, der sich als Expander erwiesen hat?
Ich habe auch über Margulis-Konstruktionen und Ramanujan-Diagramme gelesen, die Expander und eine Konstruktion mit einem Zick-Zack-Produkt sind. Wikipedia gibt einen schönen, aber sehr kurzen Überblick: http://en.wikipedia.org/wiki/Expander_graph#cite_note-10 Aber welche Methode wähle ich in der Praxis?
Für mich scheinen diese Methoden alle sehr kompliziert zu implementieren und insbesondere zu verstehen und vielleicht ganz spezifisch zu sein. Gibt es nicht einfachere Methoden, die möglicherweise auf Permutationen basieren, um praktisch eine Folge von d-regulären Expandergraphen zu generieren?
Ist es vielleicht einfacher, d-reguläre zweigliedrige Expandergraphen zu konstruieren?
Ich habe auch eine andere Frage: Was ist mit Familien von schlechten D-Regular-Expandern? Ist ein solcher Begriff sinnvoll? Kann man eine Familie von d-regulären Graphen konstruieren (die natürlich miteinander verbunden sind), die im Sinne eines Expanders so schlecht wie möglich ist?
Danke im Voraus.
Antworten:
Wenn Sie sich nicht um Graphen mit Self-Loops kümmern, ist die "einfachste" Expander-Familie wahrscheinlich diese, die Expander mit drei regulären Werten anbietet.
Beginnen Sie mit einer Primzahl und konstruieren Sie Eckpunkte mit den Nummern 0 bis p - 1 . Verbinden Sie für jeden Eckpunkt u ≠ 0 u mit u - 1 und u + 1 , modulo p . Verbinden Sie auch u mit dem eindeutigen Eckpunkt v, so dass u v ≡ 1 istp 0 p−1 u≠0 u u−1 u+1 p u v .uv≡1modp
Als Beispiel ist der 7-Eckpunkt-Graph in der Familie ein 7-Zyklus mit Scheitelpunkten, die nacheinander um den Zyklus nummeriert sind. es gibt Selbstschleifen bei , 0 und 1 ; Schließlich kommen die Akkorde 3 und 5 sowie 2 und 4 zusammen .6 0 1 3 5 2 4
Weitere Informationen und Referenzen finden Sie unter /mathpro/124708/an-expander-graph . Es gibt viele detailliertere Hinweise , wenn Sie nach "Expander" bei CSTheory , Math.SE und MO suchen .
Wie Yuval Filmus hervorhebt, liefert die zufällige Konstruktion im Allgemeinen wahrscheinlich bessere Ergebnisse, ergibt aber möglicherweise keinen Expander (insbesondere für kleine Graphen).
quelle
Wenn ein zufälliger regulärer Graph ein Expander-Whp ist (folgen Sie der Referenz in der Dokumentation des MATLAB-Codes, der unten verlinkt ist), habe ich einmal Folgendes verwendet:
http://www.mathworks.com/matlabcentral/fileexchange/29786-random-regular-generator/content/randRegGraph/createRandRegGraph.m
quelle