9

Was ist der beste Algorithmus zum Generieren eines zufälligen einfachen (keine parallelen Kanten oder Selbst-Schleifen) ungerichteten Graphen mit einer bestimmten Anzahl von Knoten, wobei jeder Knoten eine Anzahl von Kanten hat, die nicht weniger als min ist und nicht größer als max?Algorithmus zum Generieren von Random-Netzwerk

Wenn beispielsweise min = 2 und max = 5, würde ich einen Graph wie, wo etwa 25% der Knoten 2 Kanten haben, etwa 25% der Knoten haben 3 Kanten, etwa 25% der Knoten haben 4 Kanten und annähernd 25% der Knoten haben 5 Kanten.

+0

Kein Parameter für die Anzahl der Knoten? – user2357112

+0

Warum benötigen Ihre Knoten jeweils eine bestimmte Anzahl von Kanten? –

+1

hast du irgendwas probiert? – bhspencer

Antwort

1

Sie könnten random_degree_sequence_graph von NetworkX verwenden, die einen Algorithmus aufgrund Bayati, Kim und Saberi verwendet.

+1

Könnten Sie bitte erläutern, wie dieser Algorithmus funktioniert? – MarkusWillson

+1

@MarkusWillson Leider ist die NetworkX-Quelle [vergrabener Schatz] (http://catb.org/jargon/html/B/buried-treasure.html), die die meiste Feinheit des zitierten Papiers auslässt. Die Idee besteht darin, Kanten nach der gewichteten Verteilung der Gradgrade mit einem Korrekturterm zu zeichnen, wobei die resultierende Restgradsequenz realisierbar ist. Ich muss darüber nachdenken, wie ich diese Antwort überarbeiten kann, aber wenn die Qualitätsstandards des Fragestellers nicht sehr hoch sind, dann spielt es vielleicht keine Rolle. –

Verwandte Themen