Aufgabe 14

Erzeugen Sie ein exponentielles Netzwerk. Zur Zeit t=0 besteht das Netzwerk aus lediglich zwei Knoten (Knoten 0 und Knoten 1), welche durch eine ungerichtete Kante miteinander verbunden sind. Diesem Netzwerk fügt man nun bei jeder Iteration einen weiteren Knoten hinzu und verbindet diesen in zufälliger Weise mit einem der Knoten des bestehenden Netzwerkes. Im Laufe der Zeit entwickelt sich ein exponentielles Netzwerk, wobei dieses Netzwerk nach $N_{it}$ Iterationen aus $N = N_{it} + 2$ Knoten und $m = N_{it} + 1$ Kanten besteht. Aufgabe 14.1.

Aufgabe 14.1.

a)

Stellen Sie das exponentielle Netzwerk mittels NetworkX für $N = 100$ (mit Kennzeichnung der Knotennummern) und $N = 1000$ (ohne Kennzeichnung der Knotennummern) im 'shell_layout', 'fruchterman_reingold_layout' und 'kamada_kawai_layout' dar.

b)

Erstellen Sie, für die beiden in Aufgabe 14.1. erzeugten Netzwerke, ein Diagramm (Scatter-Plot: plt.scatter(...)), welches den Knotengrad $k$ in Abhängigkeit von der Knotennummer darstellt. Welche Eigenschaft von exponentielle Netzwerken kann man mittels dieser Abbildung deutlich erkennen?

Aufgabe 14.2.

Erstellen Sie ein exponentielles Netzwerk mit $N = 300000$ Knoten. Zeigen Sie, dass die Verteilungsfunktion der Knotengrade für exponentielle Netzwerke dem folgenden analytischen Zusammenhang folgt: $P(k)=2^{-k} \quad.$ Stellen Sie dazu $\hbox{log}_2 \!\left( P(k) \right)$ in Abhängigkeit vom Knotengrad $k$ in einem Scatter-Plot dar und überprüfen Sie den analytischen Zusammenhang mittels einer linearen Regression (z.B. mittels der Funktion polyfit(...) des 'NumPy' Moduls).

Musterlösung

Weiter zur nächsten Aufgabe ...