コード例 #1
0
def get_randomdeletion_graph(network, filename, count):
  while len(network) > count:
    toRemove = numpy.random.choice(network.nodes())
    if toRemove not in nx.articulation_points(network):
      network.remove_node(toRemove)
     
  fh.write_edge_list("%s-RD.txt" % filename, network)      
コード例 #2
0
def get_randomwalk_graphs(network, filename, count):  
  root = numpy.random.randint(1, len(network)+1)
  graph = nx.Graph()
  graph.add_node(root)
  actualNode = root
  
  while len(graph) < count:
    if numpy.random.random() < RESTART_PROB:
      actualNode = root
    else:
      neighbors = network.neighbors(actualNode)
      nextNode = neighbors[numpy.random.randint(len(neighbors))]
      graph.add_edge(actualNode, nextNode)
      actualNode = nextNode
  fh.write_edge_list("%s-RW.txt" % filename, graph)  
  
  for node in graph.nodes():
    for neighbor in network.neighbors(node):
      if (graph.has_node(neighbor)):
        graph.add_edge(node, neighbor)
        
  fh.write_edge_list("%s-IRW.txt" % filename, graph) 
コード例 #3
0
ファイル: get_largest_component.py プロジェクト: Leative/STOA
#!/usr/bin/env python
# encoding: utf-8
import os
import sys
import argparse
import numpy
import networkx as nx
import filehandler as fh

if __name__ == '__main__':
  parser = argparse.ArgumentParser()
  parser.add_argument('--network', required=True)
  parser.add_argument('--filename', required=True)
 
  args = parser.parse_args()
  
  network = fh.load_from_edge_list(args.network)
  if (nx.is_connected(network)):
    print 'already a connected graph'
  else:
    largest = nx.connected_component_subgraphs(network)[0]
    fh.write_edge_list(args.filename, largest)
      
  sys.exit(0)
  
  
 
コード例 #4
0
#!/usr/bin/env python
# encoding: utf-8
import os
import sys
import argparse
import numpy
import networkx as nx
import filehandler as fh

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--network', required=True)
    parser.add_argument('--filename', required=True)

    args = parser.parse_args()

    network = fh.load_from_edge_list(args.network)
    if (nx.is_connected(network)):
        print 'already a connected graph'
    else:
        largest = nx.connected_component_subgraphs(network)[0]
        fh.write_edge_list(args.filename, largest)

    sys.exit(0)