From 630b57f24fb9ff07ff3e5dccc831b4ebb8f7e2d1 Mon Sep 17 00:00:00 2001 From: 20shaked20 Date: Sun, 4 Aug 2024 17:06:52 +0300 Subject: [PATCH] Fixed issue with plotting for minbudget multiple nodes --- .../firefighter_problem/comparisons.py | 25 +++++++++++++++--- .../spreading_minbudget.csv | 20 ++++++++++++++ .../spreading_minbudget.png | Bin 0 -> 32453 bytes .../spreading_minbudget_edge_prob.png | Bin 0 -> 43064 bytes .../spreading_minbudget_preprocessed.csv | 19 +++++++++++++ 5 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 experiments/firefighter_problem/spreading_minbudget.csv create mode 100644 experiments/firefighter_problem/spreading_minbudget.png create mode 100644 experiments/firefighter_problem/spreading_minbudget_edge_prob.png create mode 100644 experiments/firefighter_problem/spreading_minbudget_preprocessed.csv diff --git a/experiments/firefighter_problem/comparisons.py b/experiments/firefighter_problem/comparisons.py index 34fed01..eb5bd7b 100644 --- a/experiments/firefighter_problem/comparisons.py +++ b/experiments/firefighter_problem/comparisons.py @@ -328,7 +328,7 @@ def Compare_SpreadingMinBudget(): node_counts = [100, 200, 400] edge_probabilities = [0.1, 0.5, 0.8] - def multiple_runs(runs=10): + def multiple_runs(runs=1): for num_nodes in node_counts: for edge_prob in edge_probabilities: graph = generate_random_DiGraph(num_nodes=num_nodes, edge_probability=edge_prob, seed=None) @@ -385,14 +385,31 @@ def extract_budget_numeric(budget): save_to_file="./experiments/firefighter_problem/spreading_minbudget.png" ) - single_plot_results( + # ex3.clear_previous_results() # to clear previous experiments + + # single_plot_results( + # results_csv_file=preprocessed_csv_file, + # filter={"graph_nodes":400}, + # x_field="edge_probability", + # y_field="Budget_numeric", + # z_field="algorithm", + # mean=True, + # save_to_file="./experiments/firefighter_problem/spreading_minbudget_400_edge.png" + # ) + + multi_plot_results( results_csv_file=preprocessed_csv_file, - filter={"graph_nodes":400}, + filter={}, + subplot_rows=3, + subplot_cols=1, x_field="edge_probability", y_field="Budget_numeric", z_field="algorithm", + subplot_field="graph_nodes", + sharex=True, + sharey=True, mean=True, - save_to_file="./experiments/firefighter_problem/spreading_minbudget_400_edge.png" + save_to_file="./experiments/firefighter_problem/spreading_minbudget_edge_prob.png" ) print("\n DataFrame-NonSpread: \n", ex3.dataFrame) diff --git a/experiments/firefighter_problem/spreading_minbudget.csv b/experiments/firefighter_problem/spreading_minbudget.csv new file mode 100644 index 0000000..e596d4f --- /dev/null +++ b/experiments/firefighter_problem/spreading_minbudget.csv @@ -0,0 +1,20 @@ +algorithm,runtime,graph_nodes,edge_probability,Budget +spreading_minbudget,0.8782017999999425,100,0.1,"(3, [(16, 1), (28, 1), (8, 1), (26, 2), (30, 2), (1, 2)])" +heuristic_minbudget,0.14200389999996332,100,0.1,"(3, [(8, 1), (28, 1), (54, 1), (2, 2), (26, 2), (40, 2)])" +spreading_minbudget,0.9778630000000703,100,0.5,"(9, [(53, 1), (29, 1), (34, 1), (39, 1), (40, 1), (68, 1), (96, 1), (60, 1), (6, 1)])" +heuristic_minbudget,0.973450800000137,100,0.5,"(9, [(60, 1), (96, 1), (6, 1), (29, 1), (39, 1), (68, 1), (53, 1), (40, 1), (34, 1)])" +spreading_minbudget,1.0255027999996855,100,0.8,"(11, [(55, 1), (17, 1), (30, 1), (42, 1), (67, 1), (70, 1), (72, 1), (84, 1), (10, 1), (25, 1), (62, 1)])" +heuristic_minbudget,2.400494600000002,100,0.8,"(11, [(55, 1), (62, 1), (25, 1), (67, 1), (70, 1), (42, 1), (72, 1), (10, 1), (30, 1), (84, 1), (17, 1)])" +spreading_minbudget,2.8179470000000038,200,0.1,"(8, [(2, 1), (24, 1), (8, 1), (127, 1), (173, 1), (138, 1), (88, 1), (90, 1)])" +heuristic_minbudget,0.7053286999998818,200,0.1,"(7, [(127, 1), (88, 1), (90, 1), (2, 1), (199, 1), (68, 1), (116, 1), (177, 2), (101, 2), (37, 2), (180, 2), (46, 2), (18, 2), (167, 2)])" +spreading_minbudget,12.766175799999928,200,0.5,"(48, [(164, 1), (25, 1), (153, 1), (13, 1), (48, 1), (49, 1), (55, 1), (58, 1), (65, 1), (68, 1), (74, 1), (104, 1), (105, 1), (115, 1), (127, 1), (130, 1), (136, 1), (147, 1), (148, 1), (154, 1), (163, 1), (169, 1), (175, 1), (186, 1), (199, 1), (21, 1), (33, 1), (39, 1), (62, 1), (73, 1), (107, 1), (128, 1), (129, 1), (131, 1), (137, 1), (145, 1), (151, 1), (171, 1), (179, 1), (192, 1), (3, 1), (34, 1), (133, 1), (135, 1), (196, 1), (97, 1), (181, 1), (188, 1)])" +heuristic_minbudget,6.033393199999864,200,0.5,"(47, [(153, 1), (21, 1), (129, 1), (179, 1), (58, 1), (127, 1), (128, 1), (62, 1), (148, 1), (130, 1), (169, 1), (136, 1), (163, 1), (13, 1), (25, 1), (65, 1), (181, 1), (74, 1), (107, 1), (133, 1), (147, 1), (145, 1), (192, 1), (171, 1), (33, 1), (137, 1), (3, 1), (154, 1), (115, 1), (105, 1), (186, 1), (131, 1), (135, 1), (188, 1), (151, 1), (34, 1), (39, 1), (49, 1), (199, 1), (48, 1), (68, 1), (175, 1), (73, 1), (104, 1), (196, 1), (55, 1), (97, 1)])" +spreading_minbudget,0.9267372000003888,200,0.8,"(3, [(174, 1), (8, 1), (185, 1)])" +heuristic_minbudget,9.790458599999965,200,0.8,"(3, [(174, 1), (8, 1), (185, 1)])" +spreading_minbudget,24.848821499999758,400,0.1,"(24, [(386, 1), (17, 1), (112, 1), (179, 1), (90, 1), (47, 1), (186, 1), (314, 1), (180, 1), (197, 1), (96, 1), (116, 1), (3, 1), (227, 1), (6, 1), (133, 1), (219, 1), (296, 1), (353, 1), (177, 1), (370, 1), (206, 1), (152, 1), (130, 1)])" +heuristic_minbudget,2.065748699999858,400,0.1,"(16, [(227, 1), (296, 1), (130, 1), (219, 1), (370, 1), (177, 1), (152, 1), (353, 1), (116, 1), (206, 1), (133, 1), (3, 1), (6, 1), (121, 1), (162, 1), (390, 1), (309, 2), (161, 2), (203, 2), (290, 2), (28, 2), (166, 2), (31, 2), (327, 2), (346, 2), (98, 2), (178, 2), (188, 2), (18, 2), (26, 2), (64, 2), (71, 2)])" +spreading_minbudget,36.50080590000016,400,0.5,"(59, [(344, 1), (52, 1), (113, 1), (39, 1), (83, 1), (87, 1), (117, 1), (131, 1), (135, 1), (139, 1), (159, 1), (208, 1), (226, 1), (232, 1), (245, 1), (258, 1), (271, 1), (300, 1), (314, 1), (356, 1), (358, 1), (362, 1), (363, 1), (371, 1), (393, 1), (6, 1), (13, 1), (21, 1), (65, 1), (78, 1), (91, 1), (124, 1), (145, 1), (186, 1), (199, 1), (252, 1), (299, 1), (317, 1), (319, 1), (332, 1), (336, 1), (14, 1), (101, 1), (149, 1), (168, 1), (173, 1), (293, 1), (295, 1), (10, 1), (61, 1), (80, 1), (224, 1), (249, 1), (350, 1), (390, 1), (205, 1), (376, 1), (394, 1), (37, 1)])" +heuristic_minbudget,34.908457700000326,400,0.5,"(58, [(14, 1), (319, 1), (21, 1), (258, 1), (232, 1), (10, 1), (65, 1), (139, 1), (245, 1), (91, 1), (168, 1), (61, 1), (356, 1), (117, 1), (362, 1), (52, 1), (186, 1), (317, 1), (393, 1), (101, 1), (390, 1), (13, 1), (252, 1), (39, 1), (80, 1), (145, 1), (135, 1), (199, 1), (394, 1), (299, 1), (113, 1), (208, 1), (358, 1), (149, 1), (271, 1), (87, 1), (295, 1), (83, 1), (131, 1), (371, 1), (78, 1), (300, 1), (226, 1), (205, 1), (336, 1), (376, 1), (249, 1), (314, 1), (159, 1), (293, 1), (363, 1), (173, 1), (37, 1), (124, 1), (224, 1), (6, 1), (350, 1), (332, 1)])" +spreading_minbudget,49.45423810000011,400,0.8,"(100, [(99, 1), (13, 1), (19, 1), (27, 1), (31, 1), (34, 1), (40, 1), (51, 1), (52, 1), (57, 1), (60, 1), (77, 1), (82, 1), (85, 1), (90, 1), (94, 1), (102, 1), (105, 1), (106, 1), (107, 1), (108, 1), (109, 1), (113, 1), (120, 1), (121, 1), (128, 1), (131, 1), (132, 1), (142, 1), (150, 1), (153, 1), (157, 1), (159, 1), (169, 1), (171, 1), (174, 1), (177, 1), (184, 1), (188, 1), (194, 1), (201, 1), (202, 1), (203, 1), (208, 1), (223, 1), (230, 1), (236, 1), (239, 1), (247, 1), (258, 1), (271, 1), (272, 1), (274, 1), (275, 1), (279, 1), (282, 1), (293, 1), (296, 1), (298, 1), (300, 1), (307, 1), (311, 1), (313, 1), (314, 1), (318, 1), (321, 1), (322, 1), (324, 1), (325, 1), (337, 1), (343, 1), (346, 1), (347, 1), (350, 1), (351, 1), (359, 1), (363, 1), (371, 1), (375, 1), (386, 1), (387, 1), (392, 1), (396, 1), (398, 1), (2, 1), (4, 1), (48, 1), (56, 1), (80, 1), (101, 1), (125, 1), (141, 1), (262, 1), (268, 1), (327, 1), (340, 1), (380, 1), (246, 1), (304, 1), (195, 1)])" +heuristic_minbudget,115.43122799999992,400,0.8,"(100, [(101, 1), (107, 1), (371, 1), (85, 1), (174, 1), (300, 1), (318, 1), (150, 1), (392, 1), (350, 1), (142, 1), (201, 1), (208, 1), (325, 1), (13, 1), (153, 1), (131, 1), (48, 1), (258, 1), (380, 1), (132, 1), (106, 1), (298, 1), (40, 1), (275, 1), (105, 1), (157, 1), (202, 1), (113, 1), (80, 1), (346, 1), (268, 1), (52, 1), (19, 1), (169, 1), (120, 1), (82, 1), (102, 1), (159, 1), (274, 1), (262, 1), (304, 1), (351, 1), (396, 1), (296, 1), (246, 1), (272, 1), (141, 1), (51, 1), (128, 1), (60, 1), (99, 1), (188, 1), (230, 1), (271, 1), (236, 1), (77, 1), (109, 1), (94, 1), (314, 1), (322, 1), (108, 1), (387, 1), (327, 1), (313, 1), (2, 1), (34, 1), (279, 1), (340, 1), (343, 1), (398, 1), (239, 1), (293, 1), (57, 1), (363, 1), (194, 1), (386, 1), (171, 1), (195, 1), (203, 1), (375, 1), (247, 1), (177, 1), (311, 1), (337, 1), (324, 1), (321, 1), (125, 1), (184, 1), (347, 1), (31, 1), (359, 1), (121, 1), (307, 1), (282, 1), (4, 1), (56, 1), (90, 1), (223, 1), (27, 1)])" +,303.03000929999985,,, diff --git a/experiments/firefighter_problem/spreading_minbudget.png b/experiments/firefighter_problem/spreading_minbudget.png new file mode 100644 index 0000000000000000000000000000000000000000..01a0384eb7207c6201a437234194da03c6a4b62a GIT binary patch literal 32453 zcmdSBby!vH*DksM>5>L1MI;mfLAq2>Is{aZMndWC5~M^$Kn0{l=@jWMX%La_?(W`W z^4s6H&p!KH=a2K>@w$B9OBQR+HJ|4hW8CAu@3Deal%xsquHd0iC_-5oDOD5--3Nt2 zo4~<>pYU~$%)tMI93E;os9BphI2+g*qZADsY%HuDEM6I2buzZIe`RgO%PGXk&2jam zgM*E|Fc+8QfByofwVf%~-Agh>a1mS^8BKc>ir4`8i-3v~*qMVz3kY%&ot1n-ZzckzokE~zW9kTr!e7HcUIPgU-Z)f@2)mJ^WJ8p2{sUH<)^Hn7F$+tcjl zdz_7&;%5ghC^@xXuJcGW$RevF871y1-1wH_McbF#bmATZW3xuWuv#q&@Mc5jrVsQl z>H`ShF^GNj@j<01C&W+Y(l9b6Oy*u=no5IZY*>RIDy@x_x^A_wzUt4>DZ{Rb7jvIl zUF`_FF6}ZE%(}6;nPlFdgVNxj{QZGm-XD*mIqW+2{rmSTHtO)TE8X~dsfUX!lQj!W zX4)c&xwyC2=+iJI5sx1JIxD=VX8V7Q)aHVsyJx|glclGrL)?Q!0dGCJB>{Pn5_ zi

L*m1u)S!NYk?l~B4alb9(=ajgYi;%#kQ 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 LT57NMp7Q-a@CRc6 literal 0 HcmV?d00001 diff --git a/experiments/firefighter_problem/spreading_minbudget_edge_prob.png b/experiments/firefighter_problem/spreading_minbudget_edge_prob.png new file mode 100644 index 0000000000000000000000000000000000000000..b13c0ad5e0eb1f6ff249ec38693bf6a6f8796d18 GIT binary patch literal 43064 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