English: The evolution of a network by the Barabasi–Albert model. In every step, one new node appears, and in this case there is two new edges from the new node to the old ones.
Magyar: Egy hálózat fejlődése a Barabási–Albert modell szerint. Minden lépésben egy új csúcs jelenik meg, és ebben a változatban minden új csúcsból két él mutat a régi csúcsokhoz.
The code is (using the python-networkx and python-matplotlib packages on Ubuntu GNU/Linux distribution):
#! /usr/bin/python
# coding: utf-8
import networkx
#import pylab
from pylab import pi, cos, sin, linspace, array
import matplotlib.pyplot as plt
import os
node_number = 20
initial_nodes = 2
animation = False
animation = True
G=networkx.barabasi_albert_graph(node_number, initial_nodes)
# pos=networkx.graphviz_layout(G, prog="dot")
type="shell4"
pos=networkx.shell_layout(G)
#pos=networkx.graphviz_layout(G,prog='twopi',args=)
print pos
dir=os.path.join("images", type)
if not os.path.isdir(dir):
os.mkdir(dir)
Ge = networkx.empty_graph(node_number)
#networkx.draw(GG,pos, node_color="w")
for i in range(initial_nodes,node_number):
nodes = range(i+1)
GG = G.subgraph(nodes)
plt.figure(figsize=(8,8))
networkx.draw(GG,pos, node_color="w", alpha=0.5, node_color="blue", node_size=20, with_labels=False, hold=False)
#networkx.draw(Ge,pos, node_color="w", alpha=0.5, node_color="blue", node_size=20, with_labels=False, hold=True)
#nx.draw(G,pos,node_size=20,alpha=0.5,node_color="blue", with_labels=False)
xmax=max(xx for xx,yy in pos.values())
xmin=min(xx for xx,yy in pos.values() + [(0,0)])
ymax=max(yy for xx,yy in pos.values())
ymin=min(yy for xx,yy in pos.values() + [(0,0)])
dx = xmax - xmin
ddx=0.1*dx
dy = ymax - ymin
ddy=0.1*dy
plt.xlim(xmin-ddx,xmax+ddx)
plt.ylim(ymin-ddy,ymax+ddy)
plt.savefig("%s/barabasi_%s%02d.png" % (dir, type, i))
if animation:
input = os.path.join(dir, "*.png")
output = os.path.join(dir, "barabasi_albert.gif")
os.system("convert -delay 100 -loop 0 %s %s" % (input, output))
(If someone knows how to eliminate the frame around the network, write to me, please.)
Лиценцирање
Ја, носилац ауторских права над овим делом, објављујем исто под следећим лиценцама:
Дата је дозвола да се копира, дистрибуира и/или мења овај документ под условима ГНУ-ове лиценце за слободну документацију, верзије 1.2 или било које новије верзије коју објави Задужбина за слободни софтвер; без непроменљивих одељака и без текста на насловној и задњој страни. Текст лиценце можете прочитати овде.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
да делите – да умножавате, расподељујете и преносите дело
да прерађујете – да прерадите дело
Под следећим условима:
ауторство – Морате да дате одговарајуће заслуге, обезбедите везу ка лиценци и назначите да ли су измене направљене. Можете то урадити на било који разуман манир, али не на начин који предлаже да лиценцатор одобрава вас или ваше коришћење.
делити под истим условима – Ако измените, преобразите или доградите овај материјал, морате поделити своје доприносе под истом или компатибилном лиценцом као оригинал.
{{Information |Description={{en|1=The evolution of a graph by the Barabasi Albert model. In every step, one new node appears, and in this case there is two new edges from the new node to the old ones. }} {{hu|1=Egy gráf fejlődése a Barabási-Albert mod