Пример #1
0
def test(graph_params):
    graph = graphs.generators.group_based.generate(graph_params)
    group_graph = algorithms.SybilGroupRank(graph, algorithm_options).rank()
    output1 = generate_output(graph)

    reset_ranks(graph)
    group_graph = algorithms.SybilRank(graph, algorithm_options).rank()
    output2 = generate_output(graph)

    reset_ranks(graph)
    group_graph = algorithms.GroupSybilRank(graph, algorithm_options).rank()
    output3 = generate_output(graph)

    return [output1, output2, output3]
Пример #2
0
    'min_group_nodes': 20,
    'max_group_nodes': 50,
    'max_known_ratio': 1,
    'avg_known_ratio': .5,
    'min_known_ratio': .2,
    'num_seed_nodes': 15,
    'num_attacker_to_num_honest': .1,
    'num_sybil_to_num_attacker': 1,
    'sybil_to_attackers_con': .1,
    'num_joint_node': 50,
    'num_inter_group_con': 50
})
algorithms.GroupSybilRank(
    graph, {
        'min_degree': 2,
        'accumulative': False,
        'weaken_under_min': False,
        'nonlinear_distribution': False,
        'group_edge_weight': 2,
    }).rank()
draw_graph(graph, os.path.join(OUTPUT_FOLDER, '1.html'))
output1 = generate_output(graph)

reset_ranks(graph)
graphs.modifiers.add_seed_groups(graph, 3, .2, .7)

algorithms.GroupSybilRank(
    graph, {
        'min_degree': 2,
        'accumulative': False,
        'weaken_under_min': False,
        'nonlinear_distribution': False,
Пример #3
0
}

main_graph_params['num_groups'] = 50
main_graph_params['min_group_nodes'] = 5
main_graph_params['max_group_nodes'] = 15

est_num_nodes = main_graph_params['num_groups'] * (
    main_graph_params['min_group_nodes'] +
    main_graph_params['min_group_nodes']) / 2
main_graph_params['num_seed_nodes'] = int(.1 * est_num_nodes)
main_graph_params['num_joint_node'] = est_num_nodes
main_graph_params['num_inter_group_con'] = est_num_nodes

graph_params = copy.copy(main_graph_params)
graph = graphs.generators.group_based.generate(graph_params)
algorithms.GroupSybilRank(graph, algorithm_params).rank()
output2 = generate_output(graph)
draw_graph(graph, os.path.join(OUTPUT_FOLDER, '1.html'))
reset_ranks(graph)

graph_params = copy.copy(main_graph_params)
graph_params['num_joint_node'] = graph_params['num_joint_node'] / 10
graph_params['num_inter_group_con'] = graph_params['num_inter_group_con'] / 10
graph = graphs.generators.group_based.generate(graph_params)
algorithms.GroupSybilRank(graph, algorithm_params).rank()
output4 = generate_output(graph)
draw_graph(graph, os.path.join(OUTPUT_FOLDER, '2.html'))
reset_ranks(graph)

graph_params = copy.copy(main_graph_params)
graph_params['num_seed_nodes'] = graph_params['num_seed_nodes'] * 4