#update the number of nodes
        self._num_nodes += 1
        return new_node_neighbors


def make_graph_dpa(n, m):
    graph = make_complete_graph(m)

    # 1. добавляем (n - m) рёбер
    # 2. для каждого нового ребра добавляем m рандомных связей
    for i in xrange(m, n):
        count = 0
        edges = set()
        while count < m - 1:
            edge = random.randint(0, n)
            if edge not in edges:
                edges.add(edge)
                count += 1
        graph[i] = edges

    return graph


graph = make_graph_dpa(27770, 13)
#graph = make_graph_dpa(1000, 5)
print 'graph: ', graph
distribution = normalized_in_degree_distribution(graph)
print 'distribution: ', distribution
build_plot(distribution)
    n = len(graph)
    m = 0

    for node in graph:
        m += len(graph[node])

    return n, m / float(n)


if os.path.isfile('graph_distribution.txt'):
    print 'graph_distribution.txt is exist'
    file = open('graph_distribution.txt', 'r')
    distribution = eval(open('graph_distribution.txt').read())
    #distribution = file.read()
    file.close()
else:
    print 'graph_distribution.txt is not exist'
    citation_graph = load_graph(CITATION_URL)
    distribution = normalized_in_degree_distribution(citation_graph)
    with open('graph_distribution.txt', 'w') as outfile:
        json.dump(distribution, outfile)
    outfile.close()


#distribution = normalized_in_degree_distribution(citation_graph)
print 'distribution: ', distribution
print
print 'n and m for citation graph: ', restore_graph_params(load_graph(CITATION_URL))
build_plot(distribution)
        #update the number of nodes
        self._num_nodes += 1
        return new_node_neighbors


def make_graph_dpa(n, m):
    graph = make_complete_graph(m)

    # 1. добавляем (n - m) рёбер
    # 2. для каждого нового ребра добавляем m рандомных связей
    for i in xrange(m, n):
        count = 0
        edges = set()
        while count < m-1:
            edge = random.randint(0, n)
            if edge not in edges:
                edges.add(edge)
                count += 1
        graph[i] = edges

    return graph



graph = make_graph_dpa(27770, 13)
#graph = make_graph_dpa(1000, 5)
print 'graph: ', graph
distribution = normalized_in_degree_distribution(graph)
print 'distribution: ', distribution
build_plot(distribution)
Example #4
0
    n = len(graph)
    m = 0

    for node in graph:
        m += len(graph[node])

    return n, m / float(n)


if os.path.isfile('graph_distribution.txt'):
    print 'graph_distribution.txt is exist'
    file = open('graph_distribution.txt', 'r')
    distribution = eval(open('graph_distribution.txt').read())
    #distribution = file.read()
    file.close()
else:
    print 'graph_distribution.txt is not exist'
    citation_graph = load_graph(CITATION_URL)
    distribution = normalized_in_degree_distribution(citation_graph)
    with open('graph_distribution.txt', 'w') as outfile:
        json.dump(distribution, outfile)
    outfile.close()

#distribution = normalized_in_degree_distribution(citation_graph)
print 'distribution: ', distribution
print
print 'n and m for citation graph: ', restore_graph_params(
    load_graph(CITATION_URL))
build_plot(distribution)