Пример #1
0
def start(bot, update, user_data):
    G = d.Graph()
    user_data['graph'] = G
    username = update.message.chat.first_name
    bot.send_message(
        chat_id=update.message.chat_id,
        text=
        "Hi, %s.\nMy mission is to help you to move throughout Barcelona by bicing. Remember, if you're lost just ask for -> /help.😄😄\n"
        % username)
Пример #2
0
def graph(bot, update, args, user_data):
    if len(args) == 1:
        if int(args[0]) < 0:
            bot.send_message(chat_id=update.message.chat_id,
                             text="Please, enter a positive distance")
        else:
            G = d.Graph(int(args[0]))
            user_data['graph'] = G
            bot.send_message(chat_id=update.message.chat_id,
                             text="Graph created with distance: %s" % args[0])
    elif len(
            args
    ) == 0:  # if no distance is provided, it creates a graph with distance 1000.
        G = d.Graph()
        user_data['graph'] = G
        bot.send_message(chat_id=update.message.chat_id,
                         text="Graph created with distance: 1000")
    else:
        bot.send_message(chat_id=update.message.chat_id,
                         text="You should only introduce one distance")
Пример #3
0
def graph(bot, update, user_data, args):
    if (args):
        try:
            dist = int(args[0])
        except ValueError:
            message = "Please enter an integer"
            bot.send_message(chat_id=update.message.chat_id, text=message)
            return
        # we check if the arguments are correctly given
        if len(args) > 1:
            bot.send_message(
                chat_id=update.message.chat_id,
                text="It seems you have introduced more than one value, " +
                "so I'll just consider the first one.")
        if int(args[0]) >= 0:
            # we have concluded that the quadratic algorithm works better for
            # a distance 250 or less
            if int(args[0]) >= 250:
                G = d.CreateGraph(dist)
            else:
                G = d.Graph(dist)
            bot.send_message(chat_id=update.message.chat_id,
                             text="Graph created with distance " + str(dist) +
                             "!")
        # in case no arguments are given, the default distance is 1000
        else:
            bot.send_message(chat_id=update.message.chat_id,
                             text="Really? Negative distance?")

    # in case no arguments are given, the default distance is 1000
    else:
        G = d.CreateGraph()
        bot.send_message(
            chat_id=update.message.chat_id,
            text="Since no distance was received, the graph by default, " +
            "which has been created, has distance 1000.")
    user_data['graph'] = G
Пример #4
0
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(), prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_5regular_tree1229.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/5regular_tree_2000.txt", weighted=0)
    d.debug = False
    test_num = 10

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #5
0
    #            ]
    # methods = [dc.DistanceCenter()]
    # methods = [bfsa_p.BFSA(prior_detector1)]
    # methods = [
    #
    #     prior_detector1,
    #     gsba_bao7.GSBA_coverage_7(prior_detector1),
    #     gsba_bao10.GSBA_coverage_10(prior_detector1)
    # ]

    logger = log.Logger(logname='../data/main_ga_grqc_20191221.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    # d = data.Graph("../data/power-grid.txt")
    d = data.Graph("../data/CA-GrQc.txt", weighted=0)
    d.debug = False
    test_num = 5

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 10, 46, 5)

    end_time = clock()
    print "Running time:", end_time - start_time
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_ncstrlwg2_submatrix0104.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/wugulidata/ncstrlwg2_submatrix.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #7
0
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'
    start_time = clock()
    # print "Starting..."
    # data就是我们的图,我们可以做一些操作。      创建一个简单的图。试试看结果。
    ''' 
    1 创建例子的图
    2 给定传播点子图

    '''

    # infected = set()
    # infected.add(1)
    # infected.add(2)
    # infected.add(4)
    d = data.Graph("../data/epaAndcoveage_test.txt", weighted=0)
    # print(d.graph.number_of_edges())
    # print(d)
    d.debug = False
    test_num = 3
    # print(d.subgraph)
    # #print(infected)
    # d.subgraph= d.graph

    d.subgraph = nx.Graph()
    d.subgraph = nx.subgraph(d.graph,
                             ['0', '1', '6', '7', '8', '9', '10', '11'])
    # print('子图节点个数')
    # print(d.subgraph.nodes())
    # print(d.graph.nodes())
Пример #8
0
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        # gsba_bao7_.GSBA_coverage_7_(prior_detector1),
        # gsba_bap8.GSBA_coverage_8(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1),
        # gsba_bao10.GSBA_coverage_10(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_5000scale_free3.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/scale_network/5000/5000scale_free3.txt",
                   weighted=0)
    d.debug = False
    test_num = 10

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #9
0
    methods = [
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)

    ]

    logger = log.Logger(logname='../data/main_1000random_graph0005.log', loglevel=logging.INFO, logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/random_graph/1000/1000random_graph0005.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #10
0
    methods = [
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1),
        gsba_bao15.GSBA_coverage_15(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_graph_CA-GrQc0104.log', loglevel=logging.INFO, logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/wugulidata/graph_CA-GrQc.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #11
0
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(), prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_1000scale_free1.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/scale_network/1000/1000scale_free1.txt",
                   weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #12
0
    prior_detector3 = dc.DistanceCenter()
    prior_detector4 = jc.JordanCenter()
    prior_detector5 = ri.ReverseInfection()
    # methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(),ri.ReverseInfection(),prior_detector2,
    #            gsba.GSBA( prior_detector1),gsba.GSBA(prior_detector2), gsba.GSBA( prior_detector3),
    #            gsba.GSBA(prior_detector4), gsba.GSBA( prior_detector5)]
    # methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(), ri.ReverseInfection(), di.DynamicImportance(),
    #            gsba.GSBA(prior_detector1),gsba.GSBA(prior_detector3),gsba.GSBA(prior_detector4),]


    methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(),
               gsba.GSBA(prior_detector1),gsba.GSBA(prior_detector3),gsba.GSBA(prior_detector4)]

    logger = log.Logger(logname='../data/main_ca_astroph1203.log', loglevel=logging.INFO, logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/CA-AstroPh.gml", weighted=1)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 10, 200, 10)
    # test_category = experiment.RANDOM_TEST
    # experiment.start(d, test_category, 2000, 10, 46, 5)

    end_time = clock()
    print "Running time:", end_time-start_time
Пример #13
0
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1),
        gsba_bao15.GSBA_coverage_15(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_small_world3000.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/small_world/swall-world-graph3000.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #14
0
    methods = [
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(), prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_random_tree3000.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/random_tree/random_tree3000.txt", weighted=0)
    d.debug = False
    test_num = 10

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #15
0
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(), prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_6regular_tree1229.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/6regular_tree_5000.txt", weighted=0)
    d.debug = False
    test_num = 10

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #16
0
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(), prior_detector8,
        gsba.GSBA(prior_detector1),
        gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_500random_graph001.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."

    d = data.Graph("../data/random_graph/500/500random_graph001.txt",
                   weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
    print()
Пример #17
0
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        gsba.GSBA(prior_detector1),
        gsba.GSBA(prior_detector3),
        gsba.GSBA(prior_detector4)
    ]

    logger = log.Logger(logname='../data/main_IC.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'IC'

    start_time = clock()
    print "Starting..."
    # d = data.Graph("../data/scale-free.ba.v500.e996.gml", weighted=1)
    # d = data.Graph("../data/power-grid.gml", weighted=1)
    d = data.Graph("../data/Wiki-Vote.gml", weighted=1)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 10, 46, 5)

    test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 10, 46, 5)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #18
0
    #            gsba.GSBA(prior_detector4), gsba.GSBA(prior_detector5), gsba.GSBA(prior_detector2),
    #            bfsa_p.BFSA(prior_detector1),
    #            gsba.GSBA(prior_detector7),
    #            gsba_bao.GSBA_coverage(prior_detector1)
    #
    #            ]
    # methods = [dc.DistanceCenter()]
    # methods = [bfsa_p.BFSA(prior_detector1)]
    # methods = [dmp2.DynamicMessagePassing()]

    logger = log.Logger(logname='../data/main_email_20191221.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    # d = data.Graph("../data/power-grid.txt")
    d = data.Graph("../data/email-Eu-core.txt", weighted=0)
    d.debug = False
    test_num = 10

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 10, 46, 5)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #19
0
 def detect_loaded(self, network, test_category, infected_size, test_num=1):
     """
     do random (or full) test with loaded simulations about information propagation.
     Args:
         data: mydata.Graph
         test_category: {'full_test', 'random_test'}
         test_num:   int
         infected_size: int
     """
     """Read the network and generate source nodes according to the test_category category"""
     d = mydata.Graph("../data/%s" % network, weighted=1)
     nodes = d.graph.nodes()
     n = d.graph.number_of_nodes()
     sources = list()  # source nodes' index
     self.initialize_evaluation_measures(test_category)
     if test_category is self.RANDOM_TEST:
         v = 0
         while v < test_num:
             sources.append(random.randint(0, n - 1))
             v += 1
     else:
         sources = np.arange(0, n)
     n = len(sources)
     """run the test_category"""
     print test_category, len(
         nodes), d.graph.number_of_edges(), infected_size, test_num
     for m in self.methods:
         print '\t', m.method_name
         start_time = clock()
         percentage = 0.2
         i = 0
         for s in sources:
             i += 1
             if abs(i - n * percentage) < 1:
                 print '\t\t percentage: ', percentage
                 percentage += 0.2
             file = "../data/simulation/%s.i%s.s%s.subgraph" % (
                 network, infected_size, s)
             reader = open(file, "r")
             data = pickle.load(reader)
             """@type data: mydata.Graph"""
             reader.close()
             data.weights = d.weights
             m.set_data(data)
             result = m.detect()
             """evaluate the result"""
             if len(result) > 0:
                 if result[0][0] == nodes[s]:
                     self.precision[test_category][m.method_name].append(1)
                 else:
                     self.precision[test_category][m.method_name].append(0)
                 self.error[test_category][m.method_name].append(
                     nx.dijkstra_path_length(d.subgraph,
                                             result[0][0],
                                             nodes[s],
                                             weight='weight'))
                 self.topological_error[test_category][
                     m.method_name].append(
                         nx.dijkstra_path_length(d.subgraph,
                                                 result[0][0],
                                                 nodes[s],
                                                 weight=None))
                 r = 0
                 for u in result:
                     r += 1
                     if u[0] == nodes[s]:
                         self.ranking[test_category][m.method_name].append(
                             r * 1.0 / len(result))
                         break
         end_time = clock()
         self.running_time[test_category][
             m.method_name] = end_time - start_time
Пример #20
0
    #            ]
    # methods = [dc.DistanceCenter()]
    # methods = [bfsa_p.BFSA(prior_detector1)]
    # methods = [
    #
    #     prior_detector1,
    #     gsba_bao7.GSBA_coverage_7(prior_detector1),
    #     gsba_bao10.GSBA_coverage_10(prior_detector1)
    # ]

    logger = log.Logger(logname='../data/main_facebook_20191212.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    # d = data.Graph("../data/power-grid.txt")
    d = data.Graph("../data/facebook_combined.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 30, 500, 50)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 10, 46, 5)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #21
0
    prior_detector0 = prior.Uniform()
    prior_detector1 = rc.RumorCenter()
    prior_detector2 = dmp2.DynamicMessagePassing()
    prior_detector3 = dc.DistanceCenter()
    prior_detector4 = jc.JordanCenter()
    prior_detector5 = ri.ReverseInfection()
    methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(),
               gsba.GSBA(prior_detector1),gsba.GSBA(prior_detector3),gsba.GSBA(prior_detector4)]
    # methods = [dc.DistanceCenter()]
    #methods = [bfsa_p.BFSA(prior_detector1)]
    # methods = [dmp2.DynamicMessagePassing()]

    logger = log.Logger(logname='../data/main_power_grid1202.log', loglevel=logging.INFO, logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    # d = data.Graph("../data/power-grid.txt")
    d = data.Graph("../data/power-grid.gml", weighted=1)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 10, 200, 10)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 10, 46, 5)

    end_time = clock()
    print "Running time:", end_time-start_time
Пример #22
0
    prior_detector3 = dc.DistanceCenter()
    prior_detector4 = jc.JordanCenter()
    prior_detector5 = ri.ReverseInfection()
    methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(),ri.ReverseInfection(),prior_detector2,
               gsba.GSBA( prior_detector1),gsba.GSBA(prior_detector2), gsba.GSBA( prior_detector3),
               gsba.GSBA(prior_detector4), gsba.GSBA( prior_detector5)]
    methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(), ri.ReverseInfection(), di.DynamicImportance(), prior_detector2,
               gsba.GSBA(prior_detector0), gsba.GSBA(prior_detector1), gsba.GSBA( prior_detector3),
               gsba.GSBA(prior_detector4), gsba.GSBA( prior_detector5), gsba.GSBA(prior_detector2), bfsa_p.BFSA(prior_detector1)]
    methods = [bfsa.BFSA(prior_detector1)]
    # methods = [dmp2.DynamicMessagePassing()]
    experiment.methods = methods

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/test_category.txt", weighted=1)
    # d = data.Graph("../data/karate_club.gml")
    # d = data.Graph("../data/small-world.ws.v100.e500.gml", weighted=1)
    d = data.Graph("../data/scale-free.ba.v500.e996.gml", weighted=1)
    #d = data.Graph("../data/power-grid.txt")
    d.debug = False
    random_num = 100
    experiment.propagation_model = 'SI'

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test = "random_test"
    # 0.016 8
    d.ratio_infected = 0.016
    for i in np.arange(0,3):
        experiment.initialize_evaluation_measures()
        str = 'd.ratio_infected', d.ratio_infected, d.ratio_infected*d.graph.number_of_nodes()
Пример #23
0
        gsba.GSBA(prior_detector0),
        gsba.GSBA(prior_detector1),
        gsba.GSBA(prior_detector3),
        gsba.GSBA(prior_detector4),
        gsba3.GSBA(prior_detector0),
        gsba3.GSBA(prior_detector1),
        gsba3.GSBA(prior_detector3),
        gsba3.GSBA(prior_detector4)
    ]

    logger = log.Logger(logname='../data/main_scale_free3.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/scale-free.ba.v500.e996.gml", weighted=1)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 10, 41, 1)

    test_category = experiment.FULL_TEST
    experiment.start(d, test_category, test_num, 10, 41, 1)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #24
0
        rc.RumorCenter(),
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_actors_dat_submatrix0104.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/wugulidata/actors_dat_submatrix.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #25
0
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1),
        gsba_bao15.GSBA_coverage_15(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_graph_CA-AstroPh0104.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/wugulidata/graph_CA-AstroPh.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 100, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #26
0
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1),
        gsba_bao15.GSBA_coverage_15(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_graph_CA-CondMat0104.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/wugulidata/graph_CA-CondMat.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #27
0
    #            gsba_bao11.GSBA_coverage_11(prior_detector1),
    #            gsba_bao12.GSBA_coverage_12(prior_detector1)
    #            ]

    # methods = [rc.RumorCenter(), dc.DistanceCenter(), jc.JordanCenter(),
    #            gsba.GSBA(prior_detector1), gsba.GSBA(prior_detector3),gsba.GSBA(prior_detector4),
    #            ulbaa.ULBAA(prior_detector1), ulbaa.ULBAA(prior_detector3), ulbaa.ULBAA(prior_detector4),
    #            gslba.GSLBA(prior_detector1), gslba.GSLBA(prior_detector3), gslba.GSLBA(prior_detector4),
    #            gsba2.GSBA(prior_detector1), gsba2.GSBA( prior_detector3),gsba2.GSBA(prior_detector4),]

    logger = log.Logger(logname='../data/main_wiki_vote1222.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/test.txt", weighted=1)
    d = data.Graph("../data/Wiki-Vote.gml", weighted=1)
    d.debug = False
    test_num = 10

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 300, 500, 50)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 10, 31, 5)

    end_time = clock()
    print "Running time:", end_time - start_time
Пример #28
0
# coding=utf-8
"""
A part of Source Detection.
Author: Biao Chang, [email protected], from University of Science and Technology of China
created at 2017/1/9.
"""

import data

if __name__ == '__main__':

    ratio_infected = 0.3
    input_file = "../data/small-world.ws.v100.e500.gml"
    output_file = "../data/simulation/small-world.ws.v100.e500.gml"

    ratio_infected = 0.03
    input_file = "../data/power-grid.txt"
    output_file = "../data/simulation/power-grid.gml"

    ratio_infected = 0.03
    # input_file = "../data/Wiki-Vote.gml"
    output_file = "../data/simulation/Wiki-Vote.gml"

    d = data.Graph(input_file, weighted=1)
    d.generate_random_graph(200)

    d.generate_infected_subgraph(output_file, ratio_infected)

    # print d.get_diameter_for_subgraphs(35)
Пример #29
0
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'
    start_time = clock()
    print "Starting..."
    # data就是我们的图,我们可以做一些操作。      创建一个简单的图。试试看结果。
    ''' 
    1 创建例子的图
    2 给定传播点子图

    '''

    infected = set()
    infected.add(1)
    infected.add(2)
    infected.add(4)
    d = data.Graph("../data/test.txt", weighted=1)
    print(d.graph.number_of_edges())
    print(d)
    d.debug = False
    test_num = 1
    print(d.subgraph)
    # print(infected)
    # d.subgraph= d.graph

    d.subgraph = nx.Graph()
    d.subgraph = nx.subgraph(d.graph, ['1', '2', '4'])
    print('子图节点个数')
    print(d.subgraph.nodes())
    print(d.graph.nodes())

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
Пример #30
0
        dc.DistanceCenter(),
        jc.JordanCenter(),
        ri.ReverseInfection(),
        di.DynamicImportance(),
        prior_detector8,
        gsba.GSBA(prior_detector1),
        # gsba_bao7.GSBA_coverage_7(prior_detector1),
        gsba_bao9.GSBA_coverage_9(prior_detector1),
        gsba_bao15.GSBA_coverage_15(prior_detector1)
    ]

    logger = log.Logger(logname='../data/main_graph_CA-HepTh0104.log',
                        loglevel=logging.INFO,
                        logger="experiment").get_log()
    experiment = Experiment(methods, logger)
    experiment.propagation_model = 'SI'

    start_time = clock()
    print "Starting..."
    d = data.Graph("../data/wugulidata/graph_CA-HepTh.txt", weighted=0)
    d.debug = False
    test_num = 100

    print 'Graph size: ', d.graph.number_of_nodes(), d.graph.number_of_edges()
    test_category = experiment.RANDOM_TEST
    experiment.start(d, test_category, test_num, 20, 350, 40)
    # test_category = experiment.FULL_TEST
    # experiment.start(d, test_category, test_num, 200, 400,100)

    end_time = clock()
    print "Running time:", end_time - start_time