def test_initialize_communities(self): pgn_file = [] game_1 = { 'black_id': '1', 'black': 'player_one', 'black_elo': '101', 'black_title': 'GM', 'white_id': '2', 'white': 'player_two', 'white_elo': '202', 'white_title': 'GM' } game_2 = { 'black_id': '3', 'black': 'player_three', 'black_elo': '303', 'black_title': 'GM', 'white_id': '4', 'white': 'player_four', 'white_elo': '404', 'white_title': 'GM' } game_3 = { 'black_id': '1', 'black': 'player_one', 'black_elo': '101', 'black_title': 'GM', 'white_id': '4', 'white': 'player_four', 'white_elo': '404', 'white_title': 'GM' } pgn_file.extend([game_1, game_2, game_3]) graph = ChessGraph(pgn_file) self.assertEqual(len(pgn_file), graph.number_of_edges) self.assertEqual(4, graph.number_of_nodes) self.assertEqual(0, graph.number_of_communities) community_labels = [1, 2, 2, 3] expected_number_of_communities = len(np.unique(community_labels)) graph.communities = community_labels self.assertEqual(expected_number_of_communities, graph.number_of_communities) self.assertEqual(community_labels, graph.communities) bad_community_labels = [1, 2, 2, 3, 4] with self.assertRaises(GraphError) as _: graph.communities = bad_community_labels bad_community_labels = [1, 2, 3] with self.assertRaises(GraphError) as _: graph.communities = bad_community_labels
def test_initialize_communities(self): pgn_file = [] game_1 = {'black_id': '1', 'black': 'player_one', 'black_elo': '101', 'black_title': 'GM', 'white_id': '2', 'white': 'player_two', 'white_elo': '202', 'white_title': 'GM'} game_2 = {'black_id': '3', 'black': 'player_three', 'black_elo': '303', 'black_title': 'GM', 'white_id': '4', 'white': 'player_four', 'white_elo': '404', 'white_title': 'GM'} game_3 = {'black_id': '1', 'black': 'player_one', 'black_elo': '101', 'black_title': 'GM', 'white_id': '4', 'white': 'player_four', 'white_elo': '404', 'white_title': 'GM'} pgn_file.extend([game_1, game_2, game_3]) graph = ChessGraph(pgn_file) self.assertEqual(len(pgn_file), graph.number_of_edges) self.assertEqual(4, graph.number_of_nodes) self.assertEqual(0, graph.number_of_communities) community_labels = [1, 2, 2, 3] expected_number_of_communities = len(np.unique(community_labels)) graph.communities = community_labels self.assertEqual(expected_number_of_communities, graph.number_of_communities) self.assertEqual(community_labels, graph.communities) bad_community_labels = [1, 2, 2, 3, 4] with self.assertRaises(GraphError) as _: graph.communities = bad_community_labels bad_community_labels = [1, 2, 3] with self.assertRaises(GraphError) as _: graph.communities = bad_community_labels
def main(data_file_name, iterations, output_dir, min_elo, p_in, p_out, burnin): with PgnFile(data_file_name) as pgnfile: graph = ChessGraph(pgnfile, min_elo=min_elo) detector = CommunityDetector(p_in=p_in, p_out=p_out) labels = detector.run(graph, iterations=iterations) assert len(labels) == iterations + 1 chosen_index, communities = CommunityDetector.estimate_partitions(labels, burnin=burnin) graph.communities = communities graph.render_community_graph(show_single_nodes=False) return 0
def main(data_file_name, iterations, output_dir, min_elo, p_in, p_out, burnin): with PgnFile(data_file_name) as pgnfile: graph = ChessGraph(pgnfile, min_elo=min_elo) detector = CommunityDetector(p_in=p_in, p_out=p_out) labels = detector.run(graph, iterations=iterations) assert len(labels) == iterations + 1 chosen_index, communities = CommunityDetector.estimate_partitions( labels, burnin=burnin) graph.communities = communities graph.render_community_graph(show_single_nodes=False) return 0