Завершение отчёта

This commit is contained in:
GordStep 2026-05-23 18:42:57 +03:00
parent 834bc5e7b0
commit 5f7e7cec65
14 changed files with 6296 additions and 5338 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,221 +1,221 @@
Лабиринт,Алгоритм,Время,Посещено клеток,Длина пути
maze10x10,BFS,0.0495000003866152,25.0,16.0
maze10x10,BFS,0.0478999991173623,25.0,16.0
maze10x10,BFS,0.0591999996686354,25.0,16.0
maze10x10,BFS,0.0775000007706694,25.0,16.0
maze10x10,BFS,0.0506999986100709,25.0,16.0
maze10x10,BFS,0.0520000012329546,25.0,16.0
maze10x10,BFS,0.0575000012759119,25.0,16.0
maze10x10,BFS,0.0571000000491039,25.0,16.0
maze10x10,BFS,0.0562999994144775,25.0,16.0
maze10x10,BFS,0.0744000026315916,25.0,16.0
maze10x10,BFS,0.0757000016164965,25.0,16.0
maze10x10,BFS,0.0727000006008893,25.0,16.0
maze10x10,BFS,0.0742999982321634,25.0,16.0
maze10x10,BFS,0.0537000014446675,25.0,16.0
maze10x10,BFS,0.0547000017832033,25.0,16.0
maze10x10,BFS,0.0569000003451947,25.0,16.0
maze10x10,BFS,0.0665000006847549,25.0,16.0
maze10x10,BFS,0.0543999994988553,25.0,16.0
maze10x10(среднее),BFS,0.0562100000024656,25.0,16.0
maze50x50,BFS,1.5456000000995118,1157.0,202.0
maze50x50,BFS,1.7064000003301771,1157.0,202.0
maze50x50,BFS,1.7344999996566912,1157.0,202.0
maze50x50,BFS,1.779099999112077,1157.0,202.0
maze50x50,BFS,2.001400000153808,1157.0,202.0
maze50x50,BFS,1.6230999990511918,1157.0,202.0
maze50x50,BFS,1.774999998815474,1157.0,202.0
maze50x50,BFS,1.5696000009484123,1157.0,202.0
maze50x50,BFS,1.7520000001240987,1157.0,202.0
maze50x50,BFS,1.8864000012399629,1157.0,202.0
maze50x50(среднее),BFS,1.7373099999531405,1157.0,202.0
maze100x100,BFS,5.796400000690483,4268.0,446.0
maze100x100,BFS,6.662100000539795,4268.0,446.0
maze100x100,BFS,6.453299998611328,4268.0,446.0
maze100x100,BFS,6.511200001114048,4268.0,446.0
maze100x100,BFS,6.367600000885432,4268.0,446.0
maze100x100,BFS,6.310200000370969,4268.0,446.0
maze100x100,BFS,6.620699999984936,4268.0,446.0
maze100x100,BFS,6.633499999225023,4268.0,446.0
maze100x100,BFS,6.700799998725415,4268.0,446.0
maze100x100,BFS,6.23249999989639,4268.0,446.0
maze100x100(среднее),BFS,6.428830000004382,4268.0,446.0
maze_empty,BFS,8.33520000014687,5328.0,158.0
maze_empty,BFS,8.287900000141235,5328.0,158.0
maze_empty,BFS,8.09549999939918,5328.0,158.0
maze_empty,BFS,8.212900000216905,5328.0,158.0
maze_empty,BFS,8.72210000125051,5328.0,158.0
maze_empty,BFS,8.364599998458289,5328.0,158.0
maze_empty,BFS,8.529100001396728,5328.0,158.0
maze_empty,BFS,8.219500001359847,5328.0,158.0
maze_empty,BFS,8.140300000377465,5328.0,158.0
maze_empty,BFS,8.806099998764694,5328.0,158.0
maze_empty(среднее),BFS,8.371320000151172,5328.0,158.0
maze_no_path,BFS,1.5931999987515155,1257.0,0.0
maze_no_path,BFS,1.8149999996239785,1257.0,0.0
maze_no_path,BFS,1.6693999987182906,1257.0,0.0
maze_no_path,BFS,1.7556000002514338,1257.0,0.0
maze_no_path,BFS,1.794599998902413,1257.0,0.0
maze_no_path,BFS,1.89460000001418,1257.0,0.0
maze_no_path,BFS,1.77590000021155,1257.0,0.0
maze_no_path,BFS,1.8381999998382528,1257.0,0.0
maze_no_path,BFS,1.7437999995308928,1257.0,0.0
maze_no_path,BFS,1.7617000012251085,1257.0,0.0
maze_no_path(среднее),BFS,1.7641999997067614,1257.0,0.0
maze10x10,DFS,0.0412000008509494,24.0,16.0
maze10x10,DFS,0.0455000008514616,24.0,16.0
maze10x10,DFS,0.0442999989900272,24.0,16.0
maze10x10,DFS,0.0478999991173623,24.0,16.0
maze10x10,DFS,0.0460999999631894,24.0,16.0
maze10x10,DFS,0.0460000010207295,24.0,16.0
maze10x10,DFS,0.0457000005553709,24.0,16.0
maze10x10,DFS,0.0479999998788116,24.0,16.0
maze10x10,DFS,0.0641000005998648,24.0,16.0
maze10x10,DFS,0.050099999498343,24.0,16.0
maze10x10(среднее),DFS,0.047890000132611,24.0,16.0
maze50x50,DFS,1.4484000002994435,1142.0,202.0
maze50x50,DFS,1.611800000318908,1142.0,202.0
maze50x50,DFS,1.4616000007663388,1142.0,202.0
maze50x50,DFS,1.4788999997108476,1142.0,202.0
maze50x50,DFS,1.5972999990481185,1142.0,202.0
maze50x50,DFS,1.4781000008952103,1142.0,202.0
maze50x50,DFS,1.5790999987075338,1142.0,202.0
maze50x50,DFS,1.6748999987612478,1142.0,202.0
maze50x50,DFS,1.7393999987689313,1142.0,202.0
maze50x50,DFS,1.5724999993835809,1142.0,202.0
maze50x50(среднее),DFS,1.564199999666016,1142.0,202.0
maze100x100,DFS,4.2221000003337394,3191.0,446.0
maze100x100,DFS,4.49050000133866,3191.0,446.0
maze100x100,DFS,4.58969999999681,3191.0,446.0
maze100x100,DFS,4.903600000034203,3191.0,446.0
maze100x100,DFS,4.646299999876646,3191.0,446.0
maze100x100,DFS,4.5755999999528285,3191.0,446.0
maze100x100,DFS,4.505299999436829,3191.0,446.0
maze100x100,DFS,5.049999999755528,3191.0,446.0
maze100x100,DFS,4.714799999419483,3191.0,446.0
maze100x100,DFS,4.549799999949755,3191.0,446.0
maze100x100(среднее),DFS,4.624770000009448,3191.0,446.0
maze_empty,DFS,5.374099999244208,5328.0,2578.0
maze10x10,BFS,0.0548999996681232,25.0,16.0
maze10x10(среднее),BFS,0.063820000650594,25.0,16.0
maze50x50,BFS,1.4375999999174385,972.0,176.0
maze50x50,BFS,1.698000000033062,972.0,176.0
maze50x50,BFS,1.5351000001828652,972.0,176.0
maze50x50,BFS,1.5220999994198792,972.0,176.0
maze50x50,BFS,1.574800000526011,972.0,176.0
maze50x50,BFS,1.4951999983168207,972.0,176.0
maze50x50,BFS,1.511999998911051,972.0,176.0
maze50x50,BFS,1.5139999995881226,972.0,176.0
maze50x50,BFS,1.4908999983163085,972.0,176.0
maze50x50,BFS,1.487499997892883,972.0,176.0
maze50x50(среднее),BFS,1.526719999310444,972.0,176.0
maze100x100,BFS,3.02670000019134,2345.0,197.0
maze100x100,BFS,3.52529999872786,2345.0,197.0
maze100x100,BFS,3.663800001959317,2345.0,197.0
maze100x100,BFS,3.517799999826821,2345.0,197.0
maze100x100,BFS,3.506500001094537,2345.0,197.0
maze100x100,BFS,3.690400000778027,2345.0,197.0
maze100x100,BFS,3.396100000827573,2345.0,197.0
maze100x100,BFS,3.629499999078689,2345.0,197.0
maze100x100,BFS,3.8606999987678137,2345.0,197.0
maze100x100,BFS,3.4976999995706137,2345.0,197.0
maze100x100(среднее),BFS,3.531450000082259,2345.0,197.0
maze_empty,BFS,8.452400001260685,5328.0,158.0
maze_empty,BFS,8.42489999922691,5328.0,158.0
maze_empty,BFS,8.638600000267616,5328.0,158.0
maze_empty,BFS,8.208700000977842,5328.0,158.0
maze_empty,BFS,8.816000001388602,5328.0,158.0
maze_empty,BFS,8.447899999737274,5328.0,158.0
maze_empty,BFS,8.679799997480586,5328.0,158.0
maze_empty,BFS,8.399000002100365,5328.0,158.0
maze_empty,BFS,8.234299999458017,5328.0,158.0
maze_empty,BFS,8.313599999382859,5328.0,158.0
maze_empty(среднее),BFS,8.461520000128075,5328.0,158.0
maze_no_path,BFS,1.6376999992644414,1245.0,0.0
maze_no_path,BFS,1.7487000004621225,1245.0,0.0
maze_no_path,BFS,1.933600000484148,1245.0,0.0
maze_no_path,BFS,1.8192999996244907,1245.0,0.0
maze_no_path,BFS,1.8314999979338609,1245.0,0.0
maze_no_path,BFS,1.9929000009142328,1245.0,0.0
maze_no_path,BFS,1.7305000001215376,1245.0,0.0
maze_no_path,BFS,1.6904000003705733,1245.0,0.0
maze_no_path,BFS,1.6647000011289492,1245.0,0.0
maze_no_path,BFS,1.733000000967877,1245.0,0.0
maze_no_path(среднее),BFS,1.778230000127223,1245.0,0.0
maze10x10,DFS,0.0433999994129408,24.0,16.0
maze10x10,DFS,0.0624999993306119,24.0,16.0
maze10x10,DFS,0.0682999998389277,24.0,16.0
maze10x10,DFS,0.0490999991598073,24.0,16.0
maze10x10,DFS,0.0468999969598371,24.0,16.0
maze10x10,DFS,0.0467999998363666,24.0,16.0
maze10x10,DFS,0.0689000007696449,24.0,16.0
maze10x10,DFS,0.0502000002597924,24.0,16.0
maze10x10,DFS,0.0493999978061765,24.0,16.0
maze10x10,DFS,0.0475000015285331,24.0,16.0
maze10x10(среднее),DFS,0.0532999994902638,24.0,16.0
maze50x50,DFS,1.184500000817934,920.0,176.0
maze50x50,DFS,1.274300000659423,920.0,176.0
maze50x50,DFS,1.3567999994847924,920.0,176.0
maze50x50,DFS,1.27749999955995,920.0,176.0
maze50x50,DFS,1.4292000014393125,920.0,176.0
maze50x50,DFS,1.2790999971912242,920.0,176.0
maze50x50,DFS,1.329700000496814,920.0,176.0
maze50x50,DFS,1.257100000657374,920.0,176.0
maze50x50,DFS,1.4220000011846423,920.0,176.0
maze50x50,DFS,1.372599999740487,920.0,176.0
maze50x50(среднее),DFS,1.3182800001231954,920.0,176.0
maze100x100,DFS,3.26380000115023,2609.0,197.0
maze100x100,DFS,3.768599999602884,2609.0,197.0
maze100x100,DFS,3.677199998492142,2609.0,197.0
maze100x100,DFS,3.6672999995062128,2609.0,197.0
maze100x100,DFS,3.9711999997962266,2609.0,197.0
maze100x100,DFS,3.7203000028966926,2609.0,197.0
maze100x100,DFS,3.739499999937834,2609.0,197.0
maze100x100,DFS,3.717999999935273,2609.0,197.0
maze100x100,DFS,3.63140000263229,2609.0,197.0
maze100x100,DFS,3.789499998674728,2609.0,197.0
maze100x100(среднее),DFS,3.6946800002624514,2609.0,197.0
maze_empty,DFS,5.714499999157852,5328.0,2578.0
maze_empty,DFS,5.989400000544265,5328.0,2578.0
maze_empty,DFS,5.901900000026217,5328.0,2578.0
maze_empty,DFS,5.935400000453228,5328.0,2578.0
maze_empty,DFS,5.898100000194972,5328.0,2578.0
maze_empty,DFS,5.635600000459817,5328.0,2578.0
maze_empty,DFS,5.8356000008643605,5328.0,2578.0
maze_empty,DFS,5.530200000066543,5328.0,2578.0
maze_empty,DFS,5.674100000760518,5328.0,2578.0
maze_empty,DFS,5.766199999925448,5328.0,2578.0
maze_empty,DFS,5.671099999744911,5328.0,2578.0
maze_empty,DFS,5.868000000191387,5328.0,2578.0
maze_empty,DFS,5.71239999953832,5328.0,2578.0
maze_empty(среднее),DFS,5.6965400000990485,5328.0,2578.0
maze_no_path,DFS,1.6255999998975312,1257.0,0.0
maze_no_path,DFS,1.825200000894256,1257.0,0.0
maze_no_path,DFS,1.6431000003649388,1257.0,0.0
maze_no_path,DFS,1.7162000003736466,1257.0,0.0
maze_no_path,DFS,1.7115999999077758,1257.0,0.0
maze_no_path,DFS,1.626600000236067,1257.0,0.0
maze_no_path,DFS,1.6030999995564343,1257.0,0.0
maze_no_path,DFS,1.6704000008758155,1257.0,0.0
maze_no_path,DFS,1.7084999999497086,1257.0,0.0
maze_no_path,DFS,1.623799998924369,1257.0,0.0
maze_no_path(среднее),DFS,1.6754100000980543,1257.0,0.0
maze10x10,A*,0.0632000010227784,24.0,16.0
maze10x10,A*,0.105999999505002,24.0,16.0
maze10x10,A*,0.067299999500392,24.0,16.0
maze10x10,A*,0.0734000004740664,24.0,16.0
maze10x10,A*,0.0670999997964827,24.0,16.0
maze10x10,A*,0.0669999990350334,24.0,16.0
maze10x10,A*,0.0993000012385891,24.0,16.0
maze10x10,A*,0.0670000008540228,24.0,16.0
maze10x10,A*,0.0665000006847549,24.0,16.0
maze10x10,A*,0.0643000003037741,24.0,16.0
maze10x10(среднее),A*,0.0741100002414896,24.0,16.0
maze50x50,A*,1.749700000800658,805.0,202.0
maze50x50,A*,1.7728000002534827,805.0,202.0
maze50x50,A*,2.124700000422308,805.0,202.0
maze50x50,A*,1.7400999986421084,805.0,202.0
maze50x50,A*,1.804100000299513,805.0,202.0
maze50x50,A*,1.801600001272164,805.0,202.0
maze50x50,A*,1.7294999997830018,805.0,202.0
maze50x50,A*,1.7317000001639826,805.0,202.0
maze50x50,A*,1.7592999993212288,805.0,202.0
maze50x50,A*,2.0070999999006744,805.0,202.0
maze50x50(среднее),A*,1.822060000085912,805.0,202.0
maze100x100,A*,9.212999999363092,4229.0,446.0
maze100x100,A*,10.12310000078287,4229.0,446.0
maze100x100,A*,9.94159999936528,4229.0,446.0
maze100x100,A*,9.69989999975951,4229.0,446.0
maze100x100,A*,9.80639999943378,4229.0,446.0
maze100x100,A*,9.68999999895459,4229.0,446.0
maze100x100,A*,9.756399998877896,4229.0,446.0
maze100x100,A*,9.585300000253484,4229.0,446.0
maze100x100,A*,9.50159999956668,4229.0,446.0
maze100x100,A*,9.528800001135096,4229.0,446.0
maze100x100(среднее),A*,9.684609999749227,4229.0,446.0
maze_empty,A*,13.455099999191589,5328.0,158.0
maze_empty,A*,13.445300000967109,5328.0,158.0
maze_empty,A*,13.335099998585063,5328.0,158.0
maze_empty,A*,13.209300001108204,5328.0,158.0
maze_empty,A*,13.368100000661798,5328.0,158.0
maze_empty,A*,13.365499999054007,5328.0,158.0
maze_empty,A*,13.278999998874497,5328.0,158.0
maze_empty,A*,13.484799999787356,5328.0,158.0
maze_empty,A*,13.89000000017404,5328.0,158.0
maze_empty,A*,13.454100000672042,5328.0,158.0
maze_empty(среднее),A*,13.428629999907573,5328.0,158.0
maze_no_path,A*,2.581000000645872,1257.0,0.0
maze_no_path,A*,2.5461000004725065,1257.0,0.0
maze_no_path,A*,2.6478999989194563,1257.0,0.0
maze_no_path,A*,2.647600000273087,1257.0,0.0
maze_no_path,A*,2.94440000106988,1257.0,0.0
maze_no_path,A*,2.5658999984443653,1257.0,0.0
maze_no_path,A*,2.5960000002669403,1257.0,0.0
maze_no_path,A*,2.57679999958782,1257.0,0.0
maze_no_path,A*,2.5776000002224464,1257.0,0.0
maze_no_path,A*,2.526700000089477,1257.0,0.0
maze_no_path(среднее),A*,2.620999999999185,1257.0,0.0
maze10x10,Dijkstra,0.0560000007681082,25.0,16.0
maze10x10,Dijkstra,0.071300000854535,25.0,16.0
maze10x10,Dijkstra,0.0603999997110804,25.0,16.0
maze10x10,Dijkstra,0.0610000006417976,25.0,16.0
maze10x10,Dijkstra,0.0609000016993377,25.0,16.0
maze_empty,DFS,6.119699999544537,5328.0,2578.0
maze_empty,DFS,5.7996000032289885,5328.0,2578.0
maze_empty,DFS,6.074900000385242,5328.0,2578.0
maze_empty,DFS,5.99549999969895,5328.0,2578.0
maze_empty,DFS,5.661700000928249,5328.0,2578.0
maze_empty(среднее),DFS,5.90907000041625,5328.0,2578.0
maze_no_path,DFS,2.58909999683965,1245.0,0.0
maze_no_path,DFS,1.87980000191601,1245.0,0.0
maze_no_path,DFS,1.6818000003695488,1245.0,0.0
maze_no_path,DFS,1.8071000013151208,1245.0,0.0
maze_no_path,DFS,1.6453999996883797,1245.0,0.0
maze_no_path,DFS,1.7989999978453852,1245.0,0.0
maze_no_path,DFS,1.778600002580788,1245.0,0.0
maze_no_path,DFS,1.668100001552375,1245.0,0.0
maze_no_path,DFS,1.6705999987607356,1245.0,0.0
maze_no_path,DFS,1.7055999996955509,1245.0,0.0
maze_no_path(среднее),DFS,1.8225100000563543,1245.0,0.0
maze10x10,A*,0.0639999998384155,24.0,16.0
maze10x10,A*,0.0728000013623386,24.0,16.0
maze10x10,A*,0.0684000006003771,24.0,16.0
maze10x10,A*,0.0645000000076834,24.0,16.0
maze10x10,A*,0.0641000005998648,24.0,16.0
maze10x10,A*,0.0661000012769363,24.0,16.0
maze10x10,A*,0.0680000011925585,24.0,16.0
maze10x10,A*,0.0658999997540377,24.0,16.0
maze10x10,A*,0.0686999992467463,24.0,16.0
maze10x10,A*,0.0715000023774337,24.0,16.0
maze10x10(среднее),A*,0.0674000006256392,24.0,16.0
maze50x50,A*,1.6070000019681174,763.0,176.0
maze50x50,A*,1.840099997934885,763.0,176.0
maze50x50,A*,1.7380999997840263,763.0,176.0
maze50x50,A*,1.808999997592764,763.0,176.0
maze50x50,A*,1.6594000007899012,763.0,176.0
maze50x50,A*,1.821499998186482,763.0,176.0
maze50x50,A*,1.6746000001148786,763.0,176.0
maze50x50,A*,2.4415000007138588,763.0,176.0
maze50x50,A*,2.8442000002542045,763.0,176.0
maze50x50,A*,1.8294000001333188,763.0,176.0
maze50x50(среднее),A*,1.926479999747244,763.0,176.0
maze100x100,A*,2.5787000013224315,1194.0,197.0
maze100x100,A*,2.7651999989757314,1194.0,197.0
maze100x100,A*,2.860200002032798,1194.0,197.0
maze100x100,A*,2.8369999999995343,1194.0,197.0
maze100x100,A*,2.906600002461346,1194.0,197.0
maze100x100,A*,2.7929999996558763,1194.0,197.0
maze100x100,A*,3.06319999799598,1194.0,197.0
maze100x100,A*,2.834499999153195,1194.0,197.0
maze100x100,A*,2.7511999978742097,1194.0,197.0
maze100x100,A*,2.793700001348043,1194.0,197.0
maze100x100(среднее),A*,2.8183300000819145,1194.0,197.0
maze_empty,A*,13.580099999671802,5328.0,158.0
maze_empty,A*,13.65030000306433,5328.0,158.0
maze_empty,A*,13.666799997736234,5328.0,158.0
maze_empty,A*,14.009900001838105,5328.0,158.0
maze_empty,A*,13.549700001021847,5328.0,158.0
maze_empty,A*,13.690499999938766,5328.0,158.0
maze_empty,A*,13.920800000050804,5328.0,158.0
maze_empty,A*,13.680399999429936,5328.0,158.0
maze_empty,A*,13.70409999799449,5328.0,158.0
maze_empty,A*,13.471199999912642,5328.0,158.0
maze_empty(среднее),A*,13.692380000065896,5328.0,158.0
maze_no_path,A*,2.5481999982730485,1245.0,0.0
maze_no_path,A*,2.8395000008458737,1245.0,0.0
maze_no_path,A*,2.7317999993101694,1245.0,0.0
maze_no_path,A*,2.7791000029537827,1245.0,0.0
maze_no_path,A*,2.718199997616466,1245.0,0.0
maze_no_path,A*,2.6510000025155023,1245.0,0.0
maze_no_path,A*,2.674000003025867,1245.0,0.0
maze_no_path,A*,2.6954999993904494,1245.0,0.0
maze_no_path,A*,2.705599999899277,1245.0,0.0
maze_no_path,A*,2.7092999989690725,1245.0,0.0
maze_no_path(среднее),A*,2.705220000279951,1245.0,0.0
maze10x10,Dijkstra,0.0546999981452245,25.0,16.0
maze10x10,Dijkstra,0.0766999983170535,25.0,16.0
maze10x10,Dijkstra,0.0564999972993973,25.0,16.0
maze10x10,Dijkstra,0.055399999837391,25.0,16.0
maze10x10,Dijkstra,0.060700000176439,25.0,16.0
maze10x10,Dijkstra,0.0588999992032768,25.0,16.0
maze10x10,Dijkstra,0.0581999993300996,25.0,16.0
maze10x10,Dijkstra,0.059500000133994,25.0,16.0
maze10x10(среднее),Dijkstra,0.0602300002356059,25.0,16.0
maze50x50,Dijkstra,1.8875000005209583,1157.0,202.0
maze50x50,Dijkstra,2.0714999991469085,1157.0,202.0
maze50x50,Dijkstra,1.951700000063284,1157.0,202.0
maze50x50,Dijkstra,2.060300001176074,1157.0,202.0
maze50x50,Dijkstra,2.5841000006039394,1157.0,202.0
maze50x50,Dijkstra,2.182800000809948,1157.0,202.0
maze50x50,Dijkstra,2.1087000004627043,1157.0,202.0
maze50x50,Dijkstra,2.0153999994363403,1157.0,202.0
maze50x50,Dijkstra,1.976300000023912,1157.0,202.0
maze50x50,Dijkstra,2.11949999902572,1157.0,202.0
maze50x50(среднее),Dijkstra,2.095780000126979,1157.0,202.0
maze100x100,Dijkstra,7.400200000120094,4268.0,446.0
maze100x100,Dijkstra,7.990400001290254,4268.0,446.0
maze100x100,Dijkstra,7.924499999717227,4268.0,446.0
maze100x100,Dijkstra,7.962399999087211,4268.0,446.0
maze100x100,Dijkstra,7.765899999867543,4268.0,446.0
maze100x100,Dijkstra,7.805500001268228,4268.0,446.0
maze100x100,Dijkstra,7.900000000518048,4268.0,446.0
maze100x100,Dijkstra,7.743000000118627,4268.0,446.0
maze100x100,Dijkstra,7.966799999849172,4268.0,446.0
maze100x100,Dijkstra,7.859999999709544,4268.0,446.0
maze100x100(среднее),Dijkstra,7.831870000154595,4268.0,446.0
maze_empty,Dijkstra,10.78330000018468,5328.0,158.0
maze_empty,Dijkstra,11.25990000036836,5328.0,158.0
maze_empty,Dijkstra,11.023600000044098,5328.0,158.0
maze_empty,Dijkstra,11.386300000594929,5328.0,158.0
maze_empty,Dijkstra,11.258800001087366,5328.0,158.0
maze_empty,Dijkstra,11.319600000206265,5328.0,158.0
maze_empty,Dijkstra,11.270599999988915,5328.0,158.0
maze_empty,Dijkstra,11.312500000713044,5328.0,158.0
maze_empty,Dijkstra,11.442800001532303,5328.0,158.0
maze_empty,Dijkstra,11.16340000044147,5328.0,158.0
maze_empty(среднее),Dijkstra,11.222080000516144,5328.0,158.0
maze_no_path,Dijkstra,1.992299999983516,1257.0,0.0
maze_no_path,Dijkstra,2.110899999024696,1257.0,0.0
maze_no_path,Dijkstra,2.097999999023159,1257.0,0.0
maze_no_path,Dijkstra,2.248200000394718,1257.0,0.0
maze_no_path,Dijkstra,2.134899999873596,1257.0,0.0
maze_no_path,Dijkstra,2.0191000003251247,1257.0,0.0
maze_no_path,Dijkstra,2.064300000711228,1257.0,0.0
maze_no_path,Dijkstra,2.227099999799975,1257.0,0.0
maze_no_path,Dijkstra,2.074199999697157,1257.0,0.0
maze_no_path,Dijkstra,2.0612999996956205,1257.0,0.0
maze_no_path(среднее),Dijkstra,2.103029999852879,1257.0,0.0
maze10x10,Dijkstra,0.0901999992493074,25.0,16.0
maze10x10,Dijkstra,0.0636000004305969,25.0,16.0
maze10x10,Dijkstra,0.0642000013613142,25.0,16.0
maze10x10,Dijkstra,0.0633000017842277,25.0,16.0
maze10x10,Dijkstra,0.1010999985737726,25.0,16.0
maze10x10,Dijkstra,0.0564000001759268,25.0,16.0
maze10x10(среднее),Dijkstra,0.0682099995174212,25.0,16.0
maze50x50,Dijkstra,1.7924999992828816,972.0,176.0
maze50x50,Dijkstra,1.7590999996173196,972.0,176.0
maze50x50,Dijkstra,1.8786000000545755,972.0,176.0
maze50x50,Dijkstra,1.80720000207657,972.0,176.0
maze50x50,Dijkstra,1.840500000980683,972.0,176.0
maze50x50,Dijkstra,1.7653000031714328,972.0,176.0
maze50x50,Dijkstra,1.9654999996419065,972.0,176.0
maze50x50,Dijkstra,1.79049999860581,972.0,176.0
maze50x50,Dijkstra,1.797400000214111,972.0,176.0
maze50x50,Dijkstra,1.7621000006329268,972.0,176.0
maze50x50(среднее),Dijkstra,1.8158700004278217,972.0,176.0
maze100x100,Dijkstra,3.954100000555627,2345.0,197.0
maze100x100,Dijkstra,4.249900001013884,2345.0,197.0
maze100x100,Dijkstra,4.330399999162182,2345.0,197.0
maze100x100,Dijkstra,4.545499999949243,2345.0,197.0
maze100x100,Dijkstra,4.328899998654379,2345.0,197.0
maze100x100,Dijkstra,4.53189999825554,2345.0,197.0
maze100x100,Dijkstra,4.320200001529884,2345.0,197.0
maze100x100,Dijkstra,4.45179999951506,2345.0,197.0
maze100x100,Dijkstra,4.341399999248097,2345.0,197.0
maze100x100,Dijkstra,4.510700000537327,2345.0,197.0
maze100x100(среднее),Dijkstra,4.356479999842122,2345.0,197.0
maze_empty,Dijkstra,11.241200001677498,5328.0,158.0
maze_empty,Dijkstra,11.333599999488795,5328.0,158.0
maze_empty,Dijkstra,11.416299999837063,5328.0,158.0
maze_empty,Dijkstra,11.310300000332065,5328.0,158.0
maze_empty,Dijkstra,11.522700002387865,5328.0,158.0
maze_empty,Dijkstra,11.251799998717615,5328.0,158.0
maze_empty,Dijkstra,11.823299999377925,5328.0,158.0
maze_empty,Dijkstra,11.53350000095088,5328.0,158.0
maze_empty,Dijkstra,11.488299998745788,5328.0,158.0
maze_empty,Dijkstra,11.370600001100684,5328.0,158.0
maze_empty(среднее),Dijkstra,11.429160000261618,5328.0,158.0
maze_no_path,Dijkstra,2.119600001606159,1245.0,0.0
maze_no_path,Dijkstra,2.07120000050054,1245.0,0.0
maze_no_path,Dijkstra,2.1706000006815884,1245.0,0.0
maze_no_path,Dijkstra,2.152000000933185,1245.0,0.0
maze_no_path,Dijkstra,2.309299998159986,1245.0,0.0
maze_no_path,Dijkstra,2.229900001111673,1245.0,0.0
maze_no_path,Dijkstra,2.0933000014338177,1245.0,0.0
maze_no_path,Dijkstra,2.175500001612818,1245.0,0.0
maze_no_path,Dijkstra,2.386500000284286,1245.0,0.0
maze_no_path,Dijkstra,2.2796000012021977,1245.0,0.0
maze_no_path(среднее),Dijkstra,2.198750000752625,1245.0,0.0

1 Лабиринт Алгоритм Время Посещено клеток Длина пути
2 maze10x10 BFS 0.0495000003866152 0.0744000026315916 25.0 16.0
3 maze10x10 BFS 0.0478999991173623 0.0757000016164965 25.0 16.0
4 maze10x10 BFS 0.0591999996686354 0.0727000006008893 25.0 16.0
5 maze10x10 BFS 0.0775000007706694 0.0742999982321634 25.0 16.0
6 maze10x10 BFS 0.0506999986100709 0.0537000014446675 25.0 16.0
7 maze10x10 BFS 0.0520000012329546 0.0547000017832033 25.0 16.0
8 maze10x10 BFS 0.0575000012759119 0.0569000003451947 25.0 16.0
9 maze10x10 BFS 0.0571000000491039 0.0665000006847549 25.0 16.0
maze10x10 BFS 0.0562999994144775 25.0 16.0
10 maze10x10 BFS 0.0543999994988553 25.0 16.0
11 maze10x10(среднее) maze10x10 BFS 0.0562100000024656 0.0548999996681232 25.0 16.0
12 maze50x50 maze10x10(среднее) BFS 1.5456000000995118 0.063820000650594 1157.0 25.0 202.0 16.0
13 maze50x50 BFS 1.7064000003301771 1.4375999999174385 1157.0 972.0 202.0 176.0
14 maze50x50 BFS 1.7344999996566912 1.698000000033062 1157.0 972.0 202.0 176.0
15 maze50x50 BFS 1.779099999112077 1.5351000001828652 1157.0 972.0 202.0 176.0
16 maze50x50 BFS 2.001400000153808 1.5220999994198792 1157.0 972.0 202.0 176.0
17 maze50x50 BFS 1.6230999990511918 1.574800000526011 1157.0 972.0 202.0 176.0
18 maze50x50 BFS 1.774999998815474 1.4951999983168207 1157.0 972.0 202.0 176.0
19 maze50x50 BFS 1.5696000009484123 1.511999998911051 1157.0 972.0 202.0 176.0
20 maze50x50 BFS 1.7520000001240987 1.5139999995881226 1157.0 972.0 202.0 176.0
21 maze50x50 BFS 1.8864000012399629 1.4908999983163085 1157.0 972.0 202.0 176.0
22 maze50x50(среднее) maze50x50 BFS 1.7373099999531405 1.487499997892883 1157.0 972.0 202.0 176.0
23 maze100x100 maze50x50(среднее) BFS 5.796400000690483 1.526719999310444 4268.0 972.0 446.0 176.0
24 maze100x100 BFS 6.662100000539795 3.02670000019134 4268.0 2345.0 446.0 197.0
25 maze100x100 BFS 6.453299998611328 3.52529999872786 4268.0 2345.0 446.0 197.0
26 maze100x100 BFS 6.511200001114048 3.663800001959317 4268.0 2345.0 446.0 197.0
27 maze100x100 BFS 6.367600000885432 3.517799999826821 4268.0 2345.0 446.0 197.0
28 maze100x100 BFS 6.310200000370969 3.506500001094537 4268.0 2345.0 446.0 197.0
29 maze100x100 BFS 6.620699999984936 3.690400000778027 4268.0 2345.0 446.0 197.0
30 maze100x100 BFS 6.633499999225023 3.396100000827573 4268.0 2345.0 446.0 197.0
31 maze100x100 BFS 6.700799998725415 3.629499999078689 4268.0 2345.0 446.0 197.0
32 maze100x100 BFS 6.23249999989639 3.8606999987678137 4268.0 2345.0 446.0 197.0
33 maze100x100(среднее) maze100x100 BFS 6.428830000004382 3.4976999995706137 4268.0 2345.0 446.0 197.0
34 maze_empty maze100x100(среднее) BFS 8.33520000014687 3.531450000082259 5328.0 2345.0 158.0 197.0
35 maze_empty BFS 8.287900000141235 8.452400001260685 5328.0 158.0
36 maze_empty BFS 8.09549999939918 8.42489999922691 5328.0 158.0
37 maze_empty BFS 8.212900000216905 8.638600000267616 5328.0 158.0
38 maze_empty BFS 8.72210000125051 8.208700000977842 5328.0 158.0
39 maze_empty BFS 8.364599998458289 8.816000001388602 5328.0 158.0
40 maze_empty BFS 8.529100001396728 8.447899999737274 5328.0 158.0
41 maze_empty BFS 8.219500001359847 8.679799997480586 5328.0 158.0
42 maze_empty BFS 8.140300000377465 8.399000002100365 5328.0 158.0
43 maze_empty BFS 8.806099998764694 8.234299999458017 5328.0 158.0
44 maze_empty(среднее) maze_empty BFS 8.371320000151172 8.313599999382859 5328.0 158.0
45 maze_no_path maze_empty(среднее) BFS 1.5931999987515155 8.461520000128075 1257.0 5328.0 0.0 158.0
46 maze_no_path BFS 1.8149999996239785 1.6376999992644414 1257.0 1245.0 0.0
47 maze_no_path BFS 1.6693999987182906 1.7487000004621225 1257.0 1245.0 0.0
48 maze_no_path BFS 1.7556000002514338 1.933600000484148 1257.0 1245.0 0.0
49 maze_no_path BFS 1.794599998902413 1.8192999996244907 1257.0 1245.0 0.0
50 maze_no_path BFS 1.89460000001418 1.8314999979338609 1257.0 1245.0 0.0
51 maze_no_path BFS 1.77590000021155 1.9929000009142328 1257.0 1245.0 0.0
52 maze_no_path BFS 1.8381999998382528 1.7305000001215376 1257.0 1245.0 0.0
53 maze_no_path BFS 1.7437999995308928 1.6904000003705733 1257.0 1245.0 0.0
54 maze_no_path BFS 1.7617000012251085 1.6647000011289492 1257.0 1245.0 0.0
55 maze_no_path(среднее) maze_no_path BFS 1.7641999997067614 1.733000000967877 1257.0 1245.0 0.0
56 maze10x10 maze_no_path(среднее) DFS BFS 0.0412000008509494 1.778230000127223 24.0 1245.0 16.0 0.0
57 maze10x10 DFS 0.0455000008514616 0.0433999994129408 24.0 16.0
58 maze10x10 DFS 0.0442999989900272 0.0624999993306119 24.0 16.0
59 maze10x10 DFS 0.0478999991173623 0.0682999998389277 24.0 16.0
60 maze10x10 DFS 0.0460999999631894 0.0490999991598073 24.0 16.0
61 maze10x10 DFS 0.0460000010207295 0.0468999969598371 24.0 16.0
62 maze10x10 DFS 0.0457000005553709 0.0467999998363666 24.0 16.0
63 maze10x10 DFS 0.0479999998788116 0.0689000007696449 24.0 16.0
64 maze10x10 DFS 0.0641000005998648 0.0502000002597924 24.0 16.0
65 maze10x10 DFS 0.050099999498343 0.0493999978061765 24.0 16.0
66 maze10x10(среднее) maze10x10 DFS 0.047890000132611 0.0475000015285331 24.0 16.0
67 maze50x50 maze10x10(среднее) DFS 1.4484000002994435 0.0532999994902638 1142.0 24.0 202.0 16.0
68 maze50x50 DFS 1.611800000318908 1.184500000817934 1142.0 920.0 202.0 176.0
69 maze50x50 DFS 1.4616000007663388 1.274300000659423 1142.0 920.0 202.0 176.0
70 maze50x50 DFS 1.4788999997108476 1.3567999994847924 1142.0 920.0 202.0 176.0
71 maze50x50 DFS 1.5972999990481185 1.27749999955995 1142.0 920.0 202.0 176.0
72 maze50x50 DFS 1.4781000008952103 1.4292000014393125 1142.0 920.0 202.0 176.0
73 maze50x50 DFS 1.5790999987075338 1.2790999971912242 1142.0 920.0 202.0 176.0
74 maze50x50 DFS 1.6748999987612478 1.329700000496814 1142.0 920.0 202.0 176.0
75 maze50x50 DFS 1.7393999987689313 1.257100000657374 1142.0 920.0 202.0 176.0
76 maze50x50 DFS 1.5724999993835809 1.4220000011846423 1142.0 920.0 202.0 176.0
77 maze50x50(среднее) maze50x50 DFS 1.564199999666016 1.372599999740487 1142.0 920.0 202.0 176.0
78 maze100x100 maze50x50(среднее) DFS 4.2221000003337394 1.3182800001231954 3191.0 920.0 446.0 176.0
79 maze100x100 DFS 4.49050000133866 3.26380000115023 3191.0 2609.0 446.0 197.0
80 maze100x100 DFS 4.58969999999681 3.768599999602884 3191.0 2609.0 446.0 197.0
81 maze100x100 DFS 4.903600000034203 3.677199998492142 3191.0 2609.0 446.0 197.0
82 maze100x100 DFS 4.646299999876646 3.6672999995062128 3191.0 2609.0 446.0 197.0
83 maze100x100 DFS 4.5755999999528285 3.9711999997962266 3191.0 2609.0 446.0 197.0
84 maze100x100 DFS 4.505299999436829 3.7203000028966926 3191.0 2609.0 446.0 197.0
85 maze100x100 DFS 5.049999999755528 3.739499999937834 3191.0 2609.0 446.0 197.0
86 maze100x100 DFS 4.714799999419483 3.717999999935273 3191.0 2609.0 446.0 197.0
87 maze100x100 DFS 4.549799999949755 3.63140000263229 3191.0 2609.0 446.0 197.0
88 maze100x100(среднее) maze100x100 DFS 4.624770000009448 3.789499998674728 3191.0 2609.0 446.0 197.0
89 maze_empty maze100x100(среднее) DFS 5.374099999244208 3.6946800002624514 5328.0 2609.0 2578.0 197.0
90 maze_empty DFS 5.714499999157852 5328.0 2578.0
91 maze_empty DFS 5.989400000544265 5328.0 2578.0
92 maze_empty DFS 5.901900000026217 5328.0 2578.0
93 maze_empty DFS 5.935400000453228 5328.0 2578.0
94 maze_empty DFS 5.898100000194972 5328.0 2578.0
95 maze_empty DFS 5.635600000459817 6.119699999544537 5328.0 2578.0
96 maze_empty DFS 5.8356000008643605 5.7996000032289885 5328.0 2578.0
97 maze_empty DFS 5.530200000066543 6.074900000385242 5328.0 2578.0
98 maze_empty DFS 5.674100000760518 5.99549999969895 5328.0 2578.0
99 maze_empty DFS 5.766199999925448 5.661700000928249 5328.0 2578.0
100 maze_empty maze_empty(среднее) DFS 5.671099999744911 5.90907000041625 5328.0 2578.0
101 maze_empty maze_no_path DFS 5.868000000191387 2.58909999683965 5328.0 1245.0 2578.0 0.0
102 maze_empty maze_no_path DFS 5.71239999953832 1.87980000191601 5328.0 1245.0 2578.0 0.0
103 maze_empty(среднее) maze_no_path DFS 5.6965400000990485 1.6818000003695488 5328.0 1245.0 2578.0 0.0
104 maze_no_path DFS 1.6255999998975312 1.8071000013151208 1257.0 1245.0 0.0
105 maze_no_path DFS 1.825200000894256 1.6453999996883797 1257.0 1245.0 0.0
106 maze_no_path DFS 1.6431000003649388 1.7989999978453852 1257.0 1245.0 0.0
107 maze_no_path DFS 1.7162000003736466 1.778600002580788 1257.0 1245.0 0.0
108 maze_no_path DFS 1.7115999999077758 1.668100001552375 1257.0 1245.0 0.0
109 maze_no_path DFS 1.626600000236067 1.6705999987607356 1257.0 1245.0 0.0
110 maze_no_path DFS 1.6030999995564343 1.7055999996955509 1257.0 1245.0 0.0
111 maze_no_path maze_no_path(среднее) DFS 1.6704000008758155 1.8225100000563543 1257.0 1245.0 0.0
112 maze_no_path maze10x10 DFS A* 1.7084999999497086 0.0639999998384155 1257.0 24.0 0.0 16.0
113 maze_no_path maze10x10 DFS A* 1.623799998924369 0.0728000013623386 1257.0 24.0 0.0 16.0
114 maze_no_path(среднее) maze10x10 DFS A* 1.6754100000980543 0.0684000006003771 1257.0 24.0 0.0 16.0
115 maze10x10 A* 0.0632000010227784 0.0645000000076834 24.0 16.0
116 maze10x10 A* 0.105999999505002 0.0641000005998648 24.0 16.0
117 maze10x10 A* 0.067299999500392 0.0661000012769363 24.0 16.0
118 maze10x10 A* 0.0734000004740664 0.0680000011925585 24.0 16.0
119 maze10x10 A* 0.0670999997964827 0.0658999997540377 24.0 16.0
120 maze10x10 A* 0.0669999990350334 0.0686999992467463 24.0 16.0
121 maze10x10 A* 0.0993000012385891 0.0715000023774337 24.0 16.0
122 maze10x10 maze10x10(среднее) A* 0.0670000008540228 0.0674000006256392 24.0 16.0
123 maze10x10 maze50x50 A* 0.0665000006847549 1.6070000019681174 24.0 763.0 16.0 176.0
124 maze10x10 maze50x50 A* 0.0643000003037741 1.840099997934885 24.0 763.0 16.0 176.0
125 maze10x10(среднее) maze50x50 A* 0.0741100002414896 1.7380999997840263 24.0 763.0 16.0 176.0
126 maze50x50 A* 1.749700000800658 1.808999997592764 805.0 763.0 202.0 176.0
127 maze50x50 A* 1.7728000002534827 1.6594000007899012 805.0 763.0 202.0 176.0
128 maze50x50 A* 2.124700000422308 1.821499998186482 805.0 763.0 202.0 176.0
129 maze50x50 A* 1.7400999986421084 1.6746000001148786 805.0 763.0 202.0 176.0
130 maze50x50 A* 1.804100000299513 2.4415000007138588 805.0 763.0 202.0 176.0
131 maze50x50 A* 1.801600001272164 2.8442000002542045 805.0 763.0 202.0 176.0
132 maze50x50 A* 1.7294999997830018 1.8294000001333188 805.0 763.0 202.0 176.0
133 maze50x50 maze50x50(среднее) A* 1.7317000001639826 1.926479999747244 805.0 763.0 202.0 176.0
134 maze50x50 maze100x100 A* 1.7592999993212288 2.5787000013224315 805.0 1194.0 202.0 197.0
135 maze50x50 maze100x100 A* 2.0070999999006744 2.7651999989757314 805.0 1194.0 202.0 197.0
136 maze50x50(среднее) maze100x100 A* 1.822060000085912 2.860200002032798 805.0 1194.0 202.0 197.0
137 maze100x100 A* 9.212999999363092 2.8369999999995343 4229.0 1194.0 446.0 197.0
138 maze100x100 A* 10.12310000078287 2.906600002461346 4229.0 1194.0 446.0 197.0
139 maze100x100 A* 9.94159999936528 2.7929999996558763 4229.0 1194.0 446.0 197.0
140 maze100x100 A* 9.69989999975951 3.06319999799598 4229.0 1194.0 446.0 197.0
141 maze100x100 A* 9.80639999943378 2.834499999153195 4229.0 1194.0 446.0 197.0
142 maze100x100 A* 9.68999999895459 2.7511999978742097 4229.0 1194.0 446.0 197.0
143 maze100x100 A* 9.756399998877896 2.793700001348043 4229.0 1194.0 446.0 197.0
144 maze100x100 maze100x100(среднее) A* 9.585300000253484 2.8183300000819145 4229.0 1194.0 446.0 197.0
145 maze100x100 maze_empty A* 9.50159999956668 13.580099999671802 4229.0 5328.0 446.0 158.0
146 maze100x100 maze_empty A* 9.528800001135096 13.65030000306433 4229.0 5328.0 446.0 158.0
147 maze100x100(среднее) maze_empty A* 9.684609999749227 13.666799997736234 4229.0 5328.0 446.0 158.0
148 maze_empty A* 13.455099999191589 14.009900001838105 5328.0 158.0
149 maze_empty A* 13.445300000967109 13.549700001021847 5328.0 158.0
150 maze_empty A* 13.335099998585063 13.690499999938766 5328.0 158.0
151 maze_empty A* 13.209300001108204 13.920800000050804 5328.0 158.0
152 maze_empty A* 13.368100000661798 13.680399999429936 5328.0 158.0
153 maze_empty A* 13.365499999054007 13.70409999799449 5328.0 158.0
154 maze_empty A* 13.278999998874497 13.471199999912642 5328.0 158.0
155 maze_empty maze_empty(среднее) A* 13.484799999787356 13.692380000065896 5328.0 158.0
156 maze_empty maze_no_path A* 13.89000000017404 2.5481999982730485 5328.0 1245.0 158.0 0.0
157 maze_empty maze_no_path A* 13.454100000672042 2.8395000008458737 5328.0 1245.0 158.0 0.0
158 maze_empty(среднее) maze_no_path A* 13.428629999907573 2.7317999993101694 5328.0 1245.0 158.0 0.0
159 maze_no_path A* 2.581000000645872 2.7791000029537827 1257.0 1245.0 0.0
160 maze_no_path A* 2.5461000004725065 2.718199997616466 1257.0 1245.0 0.0
161 maze_no_path A* 2.6478999989194563 2.6510000025155023 1257.0 1245.0 0.0
162 maze_no_path A* 2.647600000273087 2.674000003025867 1257.0 1245.0 0.0
163 maze_no_path A* 2.94440000106988 2.6954999993904494 1257.0 1245.0 0.0
164 maze_no_path A* 2.5658999984443653 2.705599999899277 1257.0 1245.0 0.0
165 maze_no_path A* 2.5960000002669403 2.7092999989690725 1257.0 1245.0 0.0
166 maze_no_path maze_no_path(среднее) A* 2.57679999958782 2.705220000279951 1257.0 1245.0 0.0
167 maze_no_path maze10x10 A* Dijkstra 2.5776000002224464 0.0546999981452245 1257.0 25.0 0.0 16.0
168 maze_no_path maze10x10 A* Dijkstra 2.526700000089477 0.0766999983170535 1257.0 25.0 0.0 16.0
169 maze_no_path(среднее) maze10x10 A* Dijkstra 2.620999999999185 0.0564999972993973 1257.0 25.0 0.0 16.0
maze10x10 Dijkstra 0.0560000007681082 25.0 16.0
maze10x10 Dijkstra 0.071300000854535 25.0 16.0
maze10x10 Dijkstra 0.0603999997110804 25.0 16.0
maze10x10 Dijkstra 0.0610000006417976 25.0 16.0
maze10x10 Dijkstra 0.0609000016993377 25.0 16.0
170 maze10x10 Dijkstra 0.055399999837391 25.0 16.0
171 maze10x10 Dijkstra 0.060700000176439 0.0901999992493074 25.0 16.0
172 maze10x10 Dijkstra 0.0588999992032768 0.0636000004305969 25.0 16.0
173 maze10x10 Dijkstra 0.0581999993300996 0.0642000013613142 25.0 16.0
174 maze10x10 Dijkstra 0.059500000133994 0.0633000017842277 25.0 16.0
175 maze10x10(среднее) maze10x10 Dijkstra 0.0602300002356059 0.1010999985737726 25.0 16.0
176 maze50x50 maze10x10 Dijkstra 1.8875000005209583 0.0564000001759268 1157.0 25.0 202.0 16.0
177 maze50x50 maze10x10(среднее) Dijkstra 2.0714999991469085 0.0682099995174212 1157.0 25.0 202.0 16.0
178 maze50x50 Dijkstra 1.951700000063284 1.7924999992828816 1157.0 972.0 202.0 176.0
179 maze50x50 Dijkstra 2.060300001176074 1.7590999996173196 1157.0 972.0 202.0 176.0
180 maze50x50 Dijkstra 2.5841000006039394 1.8786000000545755 1157.0 972.0 202.0 176.0
181 maze50x50 Dijkstra 2.182800000809948 1.80720000207657 1157.0 972.0 202.0 176.0
182 maze50x50 Dijkstra 2.1087000004627043 1.840500000980683 1157.0 972.0 202.0 176.0
183 maze50x50 Dijkstra 2.0153999994363403 1.7653000031714328 1157.0 972.0 202.0 176.0
184 maze50x50 Dijkstra 1.976300000023912 1.9654999996419065 1157.0 972.0 202.0 176.0
185 maze50x50 Dijkstra 2.11949999902572 1.79049999860581 1157.0 972.0 202.0 176.0
186 maze50x50(среднее) maze50x50 Dijkstra 2.095780000126979 1.797400000214111 1157.0 972.0 202.0 176.0
187 maze100x100 maze50x50 Dijkstra 7.400200000120094 1.7621000006329268 4268.0 972.0 446.0 176.0
188 maze100x100 maze50x50(среднее) Dijkstra 7.990400001290254 1.8158700004278217 4268.0 972.0 446.0 176.0
189 maze100x100 Dijkstra 7.924499999717227 3.954100000555627 4268.0 2345.0 446.0 197.0
190 maze100x100 Dijkstra 7.962399999087211 4.249900001013884 4268.0 2345.0 446.0 197.0
191 maze100x100 Dijkstra 7.765899999867543 4.330399999162182 4268.0 2345.0 446.0 197.0
192 maze100x100 Dijkstra 7.805500001268228 4.545499999949243 4268.0 2345.0 446.0 197.0
193 maze100x100 Dijkstra 7.900000000518048 4.328899998654379 4268.0 2345.0 446.0 197.0
194 maze100x100 Dijkstra 7.743000000118627 4.53189999825554 4268.0 2345.0 446.0 197.0
195 maze100x100 Dijkstra 7.966799999849172 4.320200001529884 4268.0 2345.0 446.0 197.0
196 maze100x100 Dijkstra 7.859999999709544 4.45179999951506 4268.0 2345.0 446.0 197.0
197 maze100x100(среднее) maze100x100 Dijkstra 7.831870000154595 4.341399999248097 4268.0 2345.0 446.0 197.0
198 maze_empty maze100x100 Dijkstra 10.78330000018468 4.510700000537327 5328.0 2345.0 158.0 197.0
199 maze_empty maze100x100(среднее) Dijkstra 11.25990000036836 4.356479999842122 5328.0 2345.0 158.0 197.0
200 maze_empty Dijkstra 11.023600000044098 11.241200001677498 5328.0 158.0
201 maze_empty Dijkstra 11.386300000594929 11.333599999488795 5328.0 158.0
202 maze_empty Dijkstra 11.258800001087366 11.416299999837063 5328.0 158.0
203 maze_empty Dijkstra 11.319600000206265 11.310300000332065 5328.0 158.0
204 maze_empty Dijkstra 11.270599999988915 11.522700002387865 5328.0 158.0
205 maze_empty Dijkstra 11.312500000713044 11.251799998717615 5328.0 158.0
206 maze_empty Dijkstra 11.442800001532303 11.823299999377925 5328.0 158.0
207 maze_empty Dijkstra 11.16340000044147 11.53350000095088 5328.0 158.0
208 maze_empty(среднее) maze_empty Dijkstra 11.222080000516144 11.488299998745788 5328.0 158.0
209 maze_no_path maze_empty Dijkstra 1.992299999983516 11.370600001100684 1257.0 5328.0 0.0 158.0
210 maze_no_path maze_empty(среднее) Dijkstra 2.110899999024696 11.429160000261618 1257.0 5328.0 0.0 158.0
211 maze_no_path Dijkstra 2.097999999023159 2.119600001606159 1257.0 1245.0 0.0
212 maze_no_path Dijkstra 2.248200000394718 2.07120000050054 1257.0 1245.0 0.0
213 maze_no_path Dijkstra 2.134899999873596 2.1706000006815884 1257.0 1245.0 0.0
214 maze_no_path Dijkstra 2.0191000003251247 2.152000000933185 1257.0 1245.0 0.0
215 maze_no_path Dijkstra 2.064300000711228 2.309299998159986 1257.0 1245.0 0.0
216 maze_no_path Dijkstra 2.227099999799975 2.229900001111673 1257.0 1245.0 0.0
217 maze_no_path Dijkstra 2.074199999697157 2.0933000014338177 1257.0 1245.0 0.0
218 maze_no_path Dijkstra 2.0612999996956205 2.175500001612818 1257.0 1245.0 0.0
219 maze_no_path(среднее) maze_no_path Dijkstra 2.103029999852879 2.386500000284286 1257.0 1245.0 0.0
220 maze_no_path Dijkstra 2.2796000012021977 1245.0 0.0
221 maze_no_path(среднее) Dijkstra 2.198750000752625 1245.0 0.0

File diff suppressed because one or more lines are too long

View File

@ -39,10 +39,19 @@ classDiagram
+findPath(maze, start, exit): tuple[list[tuple[int, int]], int]
}
class BFSStrategy
class DFSStrategy
class AStarStrategy
class DijkstraStrategy
class BFS {
+findPath(maze, start, exit): tuple[list[tuple[int, int]], int]
}
class DFS {
+findPath(maze, start, exit): tuple[list[tuple[int, int]], int]
}
class AStar {
+findPath(maze, start, exit): tuple[list[tuple[int, int]], int]
+heuristic(a, b): int
}
class Dijkstra {
+findPath(maze, start, exit): tuple[list[tuple[int, int]], int]
}
class SearchStats {
-timeMs: float
@ -79,10 +88,10 @@ classDiagram
MazeBuilder <|.. TextFileMazeBuilder
MazeBuilder --> Maze : creates
PathFindingStrategy <|.. BFSStrategy
PathFindingStrategy <|.. DFSStrategy
PathFindingStrategy <|.. AStarStrategy
PathFindingStrategy <|.. DijkstraStrategy
PathFindingStrategy <|.. BFS
PathFindingStrategy <|.. DFS
PathFindingStrategy <|.. AStar
PathFindingStrategy <|.. Dijkstra
MazeSolver --> PathFindingStrategy : uses
MazeSolver --> Maze : uses
Maze --> Cell : uses
@ -91,14 +100,14 @@ classDiagram
ConsoleView --> Event : get
MazeSolver --> Observer : notifies
```
## Ключевые классы
1. Листинги ключевых классов (можно выборочно) или ссылка на репозиторий.
- Классы `Cell` и `Maze` представлены в папке `source/classes/`
- Реализации интерфейса `Builder` и класса `TextFileMazeBuilder` находятся в `source/builder/`
- Реализации интерфейса `Observer` и класса `ConsoleView` находятся в `source/observer/`
- Интерфейс `strategy`, класс `MazeSolver` и реализации алгоритмов BFS, DFS, A*, Дейкстры находятся в папке `source/strategy/`
- Интерфейс `strategy`, класс `MazeSolver` и реализации алгоритмов BFS, DFS, A*, Дейкстра находятся в папке `source/strategy/`
## Результаты экспериментов
Все результаты находятся в `/data/cvs/banchmark.csv`, тесты запускаются через файл `benchmark.ipynb`. Лабиринты, на которых проходили тесты, находятся в директори `mazes/benchmarks/`
Проведём 10 замеров и отобразим результаты на графиках (пунктиром отмечены среднее значение)
![[10x10.pdf]]
![[50x50.pdf]]
![[100x100.pdf]]
@ -107,17 +116,68 @@ classDiagram
Заполним таблицу для количества посещённых клеток для каждого алгоритма:
| Лабиринт | BFS | DFS | A* | Дейкстра |
| Лабиринт | BFS | DFS | A* | Дейкстра |
| :------------: | :--: | :--: | :--: | :------: |
| $10\times10$ | 25 | 24 | 24 | 25 |
| $50\times50$ | 1157 | 1142 | 805 | 1157 |
| $100\times100$ | 4268 | 3191 | 4229 | 4268 |
| $50\times50$ | 972 | 920 | 763 | 972 |
| $100\times100$ | 2345 | 2609 | 1194 | 2345 |
| Пустой | 5328 | 5328 | 5328 | 5328 |
| Без выхода | 1257 | 1257 | 1257 | 1257 |
| Без выхода | 1245 | 1245 | 1245 | 1245
## Анализ результатов
4. Анализ эффективности алгоритмов и применимости паттернов.
- **DFS** быстрее на большинстве лабиринтов, но путь может быть неоптимальным
В качестве демонстрации, сравним работу DFS и BFS на небольшом пустом лабиринте:
```
BFS
Путь найден:
#####################################
#S #
#. #
#. #
#. #
#. #
#. #
#. #
#. #
#..................................E#
#####################################
time: 0.8261000002676155 ms
visited cells: 315
path length: 43
```
```
DFS
Путь найден:
#####################################
#S..................................#
# .#
#...................................#
#. #
#...................................#
# .#
#...................................#
#. #
#..................................E#
#####################################
time: 0.6825999989814591 ms
visited cells: 315
path length: 179
```
Как видно по примеру DFS нашёл путь быстрее (0.68 против 0.82 мс), но длина найденного маршрута 179 клеток, в то время как путь, найденный BFS состоит из 43 клеток.
#### A*:
- По таблице видно, что A* проходит меньше всего клеток. Это происходит, так как идея алгоритма в том что он отдаёт приоритет клеткам, которые ближе к цели.
- На практике медленнее DFS из-за операций с кучей (O(log n) на каждый шаг)
#### Dijkstra:
- По сложности аналогичен BFS для лабиринтов без весов, но медленнее BFS из-за приоритетной очереди.
- Имеет смысл на взвешенных графах
## Выводы
4. Выводы: как ООП и паттерны помогли сделать код гибким и расширяемым. Что было бы сложно изменить без них.
Использование ООП и паттернов дало:
- расширяемость - лёгкость добавления нового алгоритма поиска без изменения текущей структуры и существующих классов
- гибкость - можно менять алгоритмы поиска, конструкторы лабиринтов и способы отображения так же без изменения уже существующих
- Лёгкость тестирования - можно тестировать каждый элемент независимо
Без этого было бы сложно внедрять новые реализации классов, способы отображения или создания лабиринта или изменять существующие алгоритмы.
Но реализация интерфейсов и унификация классов увеличили объём кода и так же наложили ограничения на обрабатываемые данные.
По скорости лучшим по большинству тестов стал DFS. Второй по скорости BFS, так же он находит самый короткий путь, но при усложнении лабиринта(увеличении развилок и размера) начинает проигрывать A*.

View File

@ -1,103 +1,103 @@
#######################################################################################################
#S# # # # # # # # # # # # # # # # # # # # # # #
# # # # ### # # ##### # # # ### # # ### # ### # # ### # ### ### # # ##### # ### # ####### # ####### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### # ### ############### # ####### # ### ####### ##### # # # # ### ########### # # ### ### # ### # #
# # # # # # # # # # # # # # # # # # # # # #
### # ### # ####### ### # # ### ### # ### # ####### # # # # ########### ### ### ### ####### ####### # #
# # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### ### # # ### ######### ##### ########### # ##### # ##### ### # ####### # # # ##### ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### # # ##### # ### # # # ### # # ### # ### # # # ######### ### # # # # # ##### # # # ####### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # ####### ####### ##### ### # # # ### ### ### # ######### # ### ### ########### ##### # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ######### # # # # # # # # # ##### # ######### # ### ### ### ### ##### ####### ### ### ### # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # #
### # # ### ##### # # # # ### ##### ### # ##### ######### ### # ####### # ### # # ### ##### # ##### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # # # # # # ### ##### ##### ### ### # ### ### # # ### ### ##### ########### ### ####### ####### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
######### ####### ### # ######### # ### ### # # ##### ### ##### # # ### ####### ### # # # ### # # #####
# # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ######### ### ### # # # ### ### # ### # ### ### # # # ##### # # ### # # ### # # # ### # #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### ### # ####### # # # # ### ####### # # # ################# ### ####### # ############# ### # #
# # # # # # # # # # # # # # # # # # # # # #
# # # ##### ##### # # # # ### ####### ##### # # ##### ### ### ##### ################# # ### # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # # # ##### ##### # # # # # ### # # # # ### ##### ##### ### ### # # # # ####### # ##### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # ##### ##### ### ######### # ##### ### # # # ######### ##### ### # # ### ##### ### ##### ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ######### ### # # ### ### ### # # # ### # ##### ### # # ### # # ### ####### ### ### # # # ##### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### # ### # # # ### # # ##### # ######### ### # ####### ### ##### # ############# ### ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### # ### # ### # ##### # # # # ### # ### # ##### # ### # ####### ### ### # ### # # ### ### # # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### ### ### # # ##### ##### ####### ##### # ### # ######### # ##### ### # # ### ### # # # ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # ############# ### ##### # # # ########### ##### # ### ### # ### ####### ### ### # # ####### # ### #
# # # # # # # # # # # # # # # # # # # # # # #
######### # # ##### # ### ##### ######### ##### ##### ##### ##### # ### ##### ### ######### # # # #####
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### # ### # # # ####### ### ### # # # ##### ### ##### # ### ### # ### ##### # # # # # # # ####### # #
# # # # # # # # # # # # # # # # # # # # # # # # # #
### ### ### ### ##### ### ######### ### # # # # # # # ### ### # ######### ### ####### ############# ###
# # # # # # # # # # # # # # # # # # # # # # #
### # ### # # ####### ### ##### # ######### # # # ##### # # # # ### ##### ### # ######### # # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ####### # # ####### ########### # ##### # # ### # ### # # # # # # # # ### ### # ##### ##### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # # ######### # ### ### # # ######### ##### ### # ####### ### # # # # # ### ### # # ##### # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### # ############# # ### ### ##### ##### ####### # ### # # ######### ### # ### ### ### # # # # #
# # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### # ### # ### # # ### ### # # ### ####### ### # ### # ##### ##### ### ##### # ### # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # ### # ### # # ### # ##### ##### ### ### # # ### # ### ### # ### # # ### # ### # # ##### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ####### ########### ##### ### # ### ### ### ##### ######### ### # ######### # # ### # ### # #
# # # # # # # # # # # # # # # # # # # #
# ####### ####### # ##### ##### ### ##### # ######### ##### ##### ######### # ####### ##### # ####### #
# # # # # # # # # # # # # # # # # # # # # # # # #
### ### ##### ### ####### # # # # ### # ##### # # ##### ### ####### ##### ######### ### ### # ### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # #
# ######### # ### ##### # # # # ### # ##### ######### # ########### ####### # # # ### # # ### # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # ####### ### # ##### ##### ### # ### ##### # ### # ### # ### ##### ####### ####### ### # #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### # ##### # # ### ####### ####### # ### ######### # # ### # ########### ##### ### # ### # # # ### #
# # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # ##### # # ##### # ##### # # ####### ##### ### # ### # # ### ### # ##### # # ####### ### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
### # # ### ### # # ### # # ##### # # # ### ############# # ### ### ##### ##### ### # # ### ######### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### ##### ##### # # # ### ##### ### ####### ### ### # ##### ### ### # ##### # # ####### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # ######### # ### ### # ##### # ##### # # # # ##### ### ### ##### # ##### # ##### ### ### ###
# # # # # # # # # # # # # # # # # # # # # # # #
### # ##### # # # ### # # ##### ### ### ##### # # # # # ### # ### ##### # ### # ######### # ##### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
####### # ### # # ##### ### ##### # # # ### ##### # ######### ##### ####### ##### # ### ### ### # # # #
# # # # # # # # # # # # # # # # # # # E # # # # # # # #
# # # ### ### ### # ######### ### # # # ##### ####### ### # ##### ##### # ### ### ### ### ##### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
##### ### # # ### ### ### # # # # ####### # ### # ####### # # ##### # ####### # ### ### # ### # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### # # ####### ####### ### # ### ### ##### # # # # # ##### ### # ####### ##### # ### ##### # # ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### # # # ### # # # # # ##### # ### # # # ### ### ### # ####### # # ### ### ### ### ##### # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### ####### ######### ##### # # # ####### # ### ### # # ### # # ### # ##### # # ### ### # # # # # ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # ####### # ### ##### # ##### ####### # # # # ### ### # ### ### ### ####### ### # ##### ### ####### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ############# # # ####### # # ### ####### # # ### ####### # ### ####### # # ####### ############# #
# # # # # # # # # # # # # # # # # # # # # #
####### ### ### # # # # # ### ####### # ### # ### # ##### ####### ##### ##### ### # # # # # ##### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # ##### # ### ### # # # # # # ####### # # ####### # ######### ### # ####### # # ##### ### # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # #
### # ##### # # # ############# ######### ### ### # # # ### # # # # # # ####### ##### ##### # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # ##### ### ### ### # ##### # ####### ##### ### ##### ### ####### # # ####### ### ### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### ### ### ##### # ####### ### ### # ##### ##### # ########### ### ### ##### ### # ### # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # ######### ##### ### # ### # ### ##### ### ### # ### # # # ### # # ##### # ### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### # # ### # # ####### # # # ### # ### # # # ####### # # ##### ### ### ### # ##### ### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
##### # # # # ### ### # ##### # # ##### ### # ##### # ##### ##### ### # # ####### ##### # # # # # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ##### ### # ### # ### # # ### ##### ####### ### ##### ### ### # # # # # # # ######### # # ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### ### ### # ############# ### # # ### ############### # ##### # ##### ### # # ########### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
### # ##### # ####### ##### ##### ### ### # ### ### ### ####### ##### # # ##### ##### # # # # ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
### # # ### ##### # # # # ##### ##### ##### ##### # ##### # ### ##### ### ### ### ### ### ########### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ####### # ### # # ##### # # ### # ########### ##### # # ### # ### # # # # ##### # ### # ####### # ###
# # # # # # # S # # # # # # # # # # # # # # #
### # ####### # ##### ##### ### # ### ### ####### # # # # ### ### # ######### # ### ### ### # # ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ########### # ### # # # # # ### ########### # # # ####### ### # ##### ### ### ### # ### ####### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # # ####### ### ##### # # ######### # ##### ### # ##### ########### # # # # # ### # # ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### # ### # # # # # ### ##### ### ### ##### ##### ### # ### # ### ####### # # ### ####### # #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### ### ##### # # ##### ### # ### # # ### ### ##### ####### ####### # ##### ### # # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # ##### # # # # # # # ### # ### ##### ### ### ######### # # # ##### # # ### ##### ### # # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # #
##### # # # # ####### ### ##### # ##### ####### # # ### ######### ### # # # ########### ####### ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### # ### # # # ##### ### # ### # # ####### ### # ##### # ##### ##### ### # # ####### ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ############### # # ### # ##### ### ### ### # # # ### ### # # ### # # ### ##### ### ### ####### #
# # # # # # # # # # # # # # # # # # # # # # # #
##### # ####### # ##### ### ### ##### # ####### ######### # ### # ####### # ######### # # ######### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### # ### # ### ##### # ##### # ### # ### # # # # ##### # # # ############# ####### ### # ### ###
# # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### ### # ### ##### ### # ### # # # # ##### # ### # # # # # # ### # # # ### ######### ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ##### ### ##### ##### ####### ### ########### # # # ### # # ### ####### # # # # ######### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### ### ### ### ### # ##### # # ####### # # # # ####### ####### ##### ##### ####### # ##### ### ##### #
# # # # # # # # # # # # # # # # # # # # # # # #
# ####### # ##### # # ### ##### ### # ####### ### ### # ##### # ### # ### ##### # ### # # # # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### # # # ##### ##### # # ####### # # ### ####### ### # ##### ### # # # ####### # # ### ### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### # ### # # ############### # ##### ############# # ##### # ### # ### # # ### # # # # ######### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ######### # ### # ####### # ####### # # # ### # ### ### # ##### ### # ##### ############### ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### ### ### # ####### # ### # ### # ### # ### ##### ##### ##### ### ### # # # # # # ##### ##### ### # #
# # # # # # # # # # # # # # # # # # # # # # # #
# ### # ### ####### ### ####### # ### ##### # # ####### ##### ### ### # ##### # ####### # # # ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ##### # # ##### # # ### # ##### # ### # # ### ### # ### ########### ### # # ### ### ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### ### ##### ### # ####### ### ##### ### # ######### ##### ### ### ##### ####### ##### ### ###
# # # # # # # # # # # # # # # # # # # # # # # #
########### ##### ##### # ### ### ### # ####### # # ### ### ### # # # # # ### # ##### # # # ### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### # ### # # # # # ### # # # ##### # ### ### # # ### ##### ####### ### # # ### ######### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### ####### # ### ### ##### ##### # ### ### ### ### # ##### # ### # # # ##### # ### ### # ######### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # ### # ##### ####### # ##### ##### ##### # # # # # ### # # ######### # ### # ####### # ### #####
# # # # # # # # # # # # # # # # # # # # # # #
# ### ### ############# ### ### ##### ######### # ### ####### # ### # # ####### # ### ##### ### #######
# # # # # # # # # # # # # # # # # # # # #
# # ### # # # ### ##### # # ### ############### ### # # # ##### # # ##### ##### # ### ##### ##### # ###
# # # # # # # # # # # # # # # E # # # # # # # # #
# # ### ##### # ##### ### # # # ### # ### # ######### # # ##### ####### ####### ##### ####### # #######
# # # # # # # # # # # # # # # # # # # # # # # # #
### ####### ### # # # ##### ######### ### ##### ####### # # # # # # # # # # ### # ### # ### # ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ####### # # ### # ### ####### # ### # # ### ####### ####### ### ### # ########### # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ####### ######### ##### # # ### ### ### # ### # # # ##### ### # ##### ### # # # ### ###########
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
##### # # # # # # # # # ##### ##### ##### # ##### # ##### # # ### # # # # ######### ########### # ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### ####### ### ### # ### ######### ##### ##### ####### # # ##### # # # ### # ######### ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ####### # ### # ### ######### # ### # # ### # # # # ##### ### # # ##### ### ######### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### ### # ######### ### # ### ### # ### # ########### ### ### # ### # # ### ### ######### # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # ### # # # ##### ### # ### ### # ##### ### # ### ##### ##### ####### ##### # ### ### ### # # #
# # # # # # # # # # # # # # # # # # # # # # # #
### # ##### # # ##### ### # # ##### ##### # # ######### ### ### ##### ### ### # ### ##### # # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # ##### # # ####### # ### ### # ### # ### # # ### ### # # ##### # # ### ### # # # ### #
# # # # # # # # # # # # # # # # # # # # # #
#######################################################################################################

View File

@ -33,7 +33,7 @@
### # # ####### # ### ############# # # # ### ### # #
# # # # # # # # # # # # # #
### # ######### ####### # ### # # # ### ##### ##### #
# # # # # # # # # # #
# # # # # E # # # # # #
# ### ##### ### # ### ### # ####### # ##### # #######
# # # # # # # # # # # # # # # # # #
##### # # # ##### # ####### ### # ### ##### # # # ###
@ -49,5 +49,5 @@
# ##### ##### ### ########### ####### ##### ### #####
# # # # # # # # # # # # #
# # # ##### # # ### # ### # # # # ### ### # ##### ###
# # # # # # # # # E #
# # # # # # # # # #
#####################################################

View File

@ -32,8 +32,8 @@
# # # # # # # # # # #
### # # ####### # ### ############# # # # ### ### # #
# # # # # # # # # # # # # #
### # ######### ####### # ### # # # ### ##### ##### #
# # # # # # # # # # #
### # ######### ####### # ######### ### ##### ##### #
# # # # # E # # # # # #
# ### ##### ### # ### ### # ####### # ##### # #######
# # # # # # # # # # # # # # # # # #
##### # # # ##### # ####### ### # ### ##### # # # ###
@ -49,5 +49,5 @@
# ##### ##### ### ########### ####### ##### ### #####
# # # # # # # # # # # # #
# # # ##### # # ### # ### # # # # ### ### # #########
# # # # # # # # # E #
# # # # # # # # # #
#####################################################

View File

@ -0,0 +1,103 @@
#######################################################################################################
# # # # # # # # # # # #
### # ##### # # # ############# ######### ### ### # # # ### # # # # # # ####### ##### ##### # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # ##### ### ### ### # ##### # ####### ##### ### ##### ### ####### # # ####### ### ### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### ### ### ##### # ####### ### ### # ##### ##### # ########### ### ### ##### ### # ### # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # ######### ##### ### # ### # ### ##### ### ### # ### # # # ### # # ##### # ### ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### # # ### # # ####### # # # ### # ### # # # ####### # # ##### ### ### ### # ##### ### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
##### # # # # ### ### # ##### # # ##### ### # ##### # ##### ##### ### # # ####### ##### # # # # # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ##### ### # ### # ### # # ### ##### ####### ### ##### ### ### # # # # # # # ######### # # ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### ### ### # ############# ### # # ### ############### # ##### # ##### ### # # ########### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
### # ##### # ####### ##### ##### ### ### # ### ### ### ####### ##### # # ##### ##### # # # # ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
### # # ### ##### # # # # ##### ##### ##### ##### # ##### # ### ##### ### ### ### ### ### ########### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ####### # ### # # ##### # # ### # ########### ##### # # ### # ### # # # # ##### # ### # ####### # ###
# # # # # # # S # # # # # # # # # # # # # # #
### # ####### # ##### ##### ### # ### ### ####### # # # # ### ### # ######### # ### ### ### # # ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ########### # ### # # # # # ### ########### # # # ####### ### # ##### ### ### ### # ### ####### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ##### # # ####### ### ##### # # ######### # ##### ### # ##### ########### # # # # # ### # # ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### # ### # # # # # ### ##### ### ### ##### ##### ### # ### # ### ####### # # ### ####### # #####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### ### ### ##### # # ##### ### # ### # # ### ### ##### ####### ####### # ##### ### # # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # ##### # # # # # # # ### # ### ##### ### ### ######### # # # ##### # # ### ##### ### # # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # #
##### # # # # ####### ### ##### # ##### ####### # # ### ######### ### # # # ########### ####### ### ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### # ### # # # ##### ### # ### # # ####### ### # ##### # ##### ##### ### # # ####### ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ############### # # ### # ##### ### ### ### # # # ### ### # # ### # # ### ##### ### ### ####### #
# # # # # # # # # # # # # # # # # # # # # # # #
##### # ####### # ##### ### ### ##### # ####### ######### # ### # ####### # ######### # # ######### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### # ### # ### ##### # ##### # ### # ### # # # # ##### # # # ############# ####### ### # ### ###
# # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### ### # ### ##### ### # ### # # # # ##### # ### # # # # # # ### # # # ### ######### ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ##### ### ##### ##### ####### ### ########### # # # ### # # ### ####### # # # # ######### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### ### ### ### ### # ##### # # ####### # # # # ####### ####### ##### ##### ####### # ##### ### ##### #
# # # # # # # # # # # # # # # # # # # # # # # #
# ####### # ##### # # ### ##### ### # ####### ### ### # ##### # ### # ### ##### # ### # # # # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### # # # ##### ##### # # ####### # # ### ####### ### # ##### ### # # # ####### # # ### ### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### # ### # # ############### # ##### ############# # ##### # ### # ### # # ### # # # # ######### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ######### # ### # ####### # ####### # # # ### # ### ### # ##### ### # ##### ############### ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
### ### ### # ####### # ### # ### # ### # ### ##### ##### ##### ### ### # # # # # # ##### ##### ### # #
# # # # # # # # # # # # # # # # # # # # # # # #
# ### # ### ####### ### ####### # ### ##### # # ####### ##### ### ### # ##### # ####### # # # ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ##### # # ##### # # ### # ##### # ### # # ### ### # ### ########### ### # # ### ### ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### ### ##### ### # ####### ### ##### ### # ######### ##### ### ### ##### ####### ##### ### ###
# # # # # # # # # # # # # # # # # # # # # # # #
########### ##### ##### # ### ### ### # ####### # # ### ### ### # # # # # ### # ##### # # # ### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ##### # ### # # # # # ### # # # ##### # ### ### # # ### ##### ####### ### # # ### ######### # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### ####### # ### ### ##### ##### # ### ### ### ### # ##### # ### # # # ##### # ### ### # ######### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # ### # ##### ####### # ##### ##### ##### # # # # # ### # # ######### # ### # ####### # ### #####
# # # # # # # # # # # # # # # # # # # # # # #
# ### ### ############# ### ### ##### ######### # ### ####### # ### # # ####### # ### ##### ### #######
# # # # # # # # # # # # # # # # # # # # #
# # ### # # # ### ##### # # ### ############### ### # # # ##### # # ##### ##### # ### ##### ##### # ###
# # # # # # # # # # # # # # # E # # # # # # # # #
# # ### ##### # ##### ### # # # ### # ### # ######### # # ##### ####### ####### ##### ####### # #######
# # # # # # # # # # # # # # # # # # # # # # # # #
### ####### ### # # # ##### ######### ### ##### ####### # # # # # # # # # # ### # ### # ### # ### # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ####### # # ### # ### ####### # ### # # ### ####### ####### ### ### # ########### # ### #####
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ####### ######### ##### # # ### ### ### # ### # # # ##### ### # ##### ### # # # ### ###########
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
##### # # # # # # # # # ##### ##### ##### # ##### # ##### # # ### # # # # ######### ########### # ### #
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # ### ### ####### ### ### # ### ######### ##### ##### ####### # # ##### # # # ### # ######### ### # #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ####### # ### # ### ######### # ### # # ### # # # # ##### ### # # ##### ### ######### # # ###
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# ##### ### # ######### ### # ### ### # ### # ########### ### ### # ### # # ### ### ######### # ##### #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # ### # # # ##### ### # ### ### # ##### ### # ### ##### ##### ####### ##### # ### ### ### # # #
# # # # # # # # # # # # # # # # # # # # # # # #
### # ##### # # ##### ### # # ##### ##### # # ######### ### ### ##### ### ### # ### ##### # # ### ### #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
### # ### # ### # ##### # # ####### # ### ### # ### # ### # # ### ### # # ##### # # ### ### # # # ### #
# # # # # # # # # # # # # # # # # # # # # #
#######################################################################################################

View File

@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": null,
"execution_count": 16,
"id": "4dbe48b6",
"metadata": {},
"outputs": [],
@ -17,7 +17,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 17,
"id": "007bf97a",
"metadata": {},
"outputs": [],
@ -26,15 +26,29 @@
"test_lab2 = './mazes/tests/test_lab2.txt'\n",
"test_lab3 = './mazes/tests/test_lab3.txt'\n",
"test_lab4 = './mazes/tests/test_lab20x20.txt'\n",
"test_labNoPath = './mazes/tests/test_labNoPath.txt'"
"test_labNoPath = './mazes/tests/test_labNoPath.txt'\n",
"test_lab5 = './mazes/tests/test_lab100.txt'"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 18,
"id": "4489fc7e",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"S # #####\n",
"## # # E#\n",
"# # ###\n",
"### ## # #\n",
"# #\n",
"##########\n"
]
}
],
"source": [
"with open(test_lab) as f:\n",
" data = f.readlines()\n",
@ -44,10 +58,23 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 19,
"id": "fde1eddb",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"S # #####\n",
"## # # E#\n",
"# # ###\n",
"### ## # #\n",
"# #\n",
"##########\n"
]
}
],
"source": [
"\n",
"\n",
@ -59,10 +86,24 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 20,
"id": "22325f68",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Загружен лабиринт:\n",
"S.P# #####\n",
"## # # E#\n",
"# # ###\n",
"### ## # #\n",
"# #\n",
"##########\n"
]
}
],
"source": [
"\n",
"# from source.observer.observer import \n",
@ -78,10 +119,50 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 21,
"id": "19840429",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Путь найден:\n",
"S..# #####\n",
"##.# #..E#\n",
"# .. #.###\n",
"###.##.# #\n",
"# .... #\n",
"##########\n"
]
},
{
"data": {
"text/plain": [
"([(2, 1), (1, 0)],\n",
" [(0, 0),\n",
" (1, 0),\n",
" (2, 0),\n",
" (2, 1),\n",
" (2, 2),\n",
" (3, 2),\n",
" (3, 3),\n",
" (3, 4),\n",
" (4, 4),\n",
" (5, 4),\n",
" (6, 4),\n",
" (6, 3),\n",
" (6, 2),\n",
" (6, 1),\n",
" (7, 1),\n",
" (8, 1)])"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solver = MazeSolver(maze, DFS(), ConsoleView())\n",
"stats = solver.solve()\n",
@ -91,10 +172,50 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 22,
"id": "73ba37a8",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Путь найден:\n",
"S..# #####\n",
"##.# #..E#\n",
"# .. #.###\n",
"###.##.# #\n",
"# .... #\n",
"##########\n"
]
},
{
"data": {
"text/plain": [
"([(2, 1), (1, 0)],\n",
" [(0, 0),\n",
" (1, 0),\n",
" (2, 0),\n",
" (2, 1),\n",
" (2, 2),\n",
" (3, 2),\n",
" (3, 3),\n",
" (3, 4),\n",
" (4, 4),\n",
" (5, 4),\n",
" (6, 4),\n",
" (6, 3),\n",
" (6, 2),\n",
" (6, 1),\n",
" (7, 1),\n",
" (8, 1)])"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solver = MazeSolver(maze, BFS(), ConsoleView())\n",
"stats = solver.solve()\n",
@ -104,10 +225,32 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 23,
"id": "857c5c04",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"2\n",
"1\n",
"3\n",
"4\n"
]
},
{
"data": {
"text/plain": [
"{'0', '1', '2', '3', '4'}"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def dfs(graph, start, visited=None):\n",
" if visited is None:\n",
@ -132,10 +275,82 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 24,
"id": "9a5ea5cb",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Размер: 10x6\n",
"(0,0): wall=False, start=True, exit=False\n",
"(1,0): wall=False, start=False, exit=False\n",
"(2,0): wall=False, start=False, exit=False\n",
"(3,0): wall=True, start=False, exit=False\n",
"(4,0): wall=False, start=False, exit=False\n",
"(5,0): wall=True, start=False, exit=False\n",
"(6,0): wall=True, start=False, exit=False\n",
"(7,0): wall=True, start=False, exit=False\n",
"(8,0): wall=True, start=False, exit=False\n",
"(9,0): wall=True, start=False, exit=False\n",
"(0,1): wall=True, start=False, exit=False\n",
"(1,1): wall=True, start=False, exit=False\n",
"(2,1): wall=False, start=False, exit=False\n",
"(3,1): wall=True, start=False, exit=False\n",
"(4,1): wall=False, start=False, exit=False\n",
"(5,1): wall=True, start=False, exit=False\n",
"(6,1): wall=False, start=False, exit=False\n",
"(7,1): wall=False, start=False, exit=False\n",
"(8,1): wall=False, start=False, exit=True\n",
"(9,1): wall=True, start=False, exit=False\n",
"(0,2): wall=True, start=False, exit=False\n",
"(1,2): wall=False, start=False, exit=False\n",
"(2,2): wall=False, start=False, exit=False\n",
"(3,2): wall=False, start=False, exit=False\n",
"(4,2): wall=False, start=False, exit=False\n",
"(5,2): wall=True, start=False, exit=False\n",
"(6,2): wall=False, start=False, exit=False\n",
"(7,2): wall=True, start=False, exit=False\n",
"(8,2): wall=True, start=False, exit=False\n",
"(9,2): wall=True, start=False, exit=False\n",
"(0,3): wall=True, start=False, exit=False\n",
"(1,3): wall=True, start=False, exit=False\n",
"(2,3): wall=True, start=False, exit=False\n",
"(3,3): wall=False, start=False, exit=False\n",
"(4,3): wall=True, start=False, exit=False\n",
"(5,3): wall=True, start=False, exit=False\n",
"(6,3): wall=False, start=False, exit=False\n",
"(7,3): wall=True, start=False, exit=False\n",
"(8,3): wall=False, start=False, exit=False\n",
"(9,3): wall=True, start=False, exit=False\n",
"(0,4): wall=True, start=False, exit=False\n",
"(1,4): wall=False, start=False, exit=False\n",
"(2,4): wall=False, start=False, exit=False\n",
"(3,4): wall=False, start=False, exit=False\n",
"(4,4): wall=False, start=False, exit=False\n",
"(5,4): wall=False, start=False, exit=False\n",
"(6,4): wall=False, start=False, exit=False\n",
"(7,4): wall=False, start=False, exit=False\n",
"(8,4): wall=False, start=False, exit=False\n",
"(9,4): wall=True, start=False, exit=False\n",
"(0,5): wall=True, start=False, exit=False\n",
"(1,5): wall=True, start=False, exit=False\n",
"(2,5): wall=True, start=False, exit=False\n",
"(3,5): wall=True, start=False, exit=False\n",
"(4,5): wall=True, start=False, exit=False\n",
"(5,5): wall=True, start=False, exit=False\n",
"(6,5): wall=True, start=False, exit=False\n",
"(7,5): wall=True, start=False, exit=False\n",
"(8,5): wall=True, start=False, exit=False\n",
"(9,5): wall=True, start=False, exit=False\n",
"\n",
"Клетка (2,0) из лабиринта: wall=True\n",
"Соседи (2,0): [(1, 2)]\n",
"Соседи (1,0): [(0, 0)]\n"
]
}
],
"source": [
"# Проверьте структуру лабиринта\n",
"print(f\"Размер: {maze.width}x{maze.height}\")\n",
@ -158,10 +373,19 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 25,
"id": "32edf4d1",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['S # #####', '## # # E#', '# # ###', '### ## # #', '# #', '##########']\n",
"10 6\n"
]
}
],
"source": [
"with open(test_lab) as f:\n",
" data = f.read().splitlines()\n",
@ -174,12 +398,451 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 26,
"id": "dc7708c7",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"BFS\n",
"Путь найден:\n",
"#######################################################################################################\n",
"# # # # # # # # # # # #\n",
"### # ##### # # # ############# ######### ### ### # # # ### # # # # # # ####### ##### ##### # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # ##### ### ### ### # ##### # ####### ##### ### ##### ### ####### # # ####### ### ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### ### ##### # ####### ### ### # ##### ##### # ########### ### ### ##### ### # ### # # # # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ######### ##### ### # ### # ### ##### ### ### # ### # # # ### # # ##### # ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### # # ### # # ####### # # # ### # ### # # # ####### # # ##### ### ### ### # ##### ### # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # ### ### # ##### # # ##### ### # ##### # ##### ##### ### # # ####### ##### # # # # # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ##### ### # ### # ### # # ### ##### ####### ### ##### ### ### # # # # # # # ######### # # ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### ### ### # ############# ### # # ### ############### # ##### # ##### ### # # ########### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # ####### ##### ##### ### ### # ### ### ### ####### ##### # # ##### ##### # # # # ##### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # # ### ##### # # # # ##### ##### ##### ##### # ##### # ### ##### ### ### ### ### ### ########### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ####### # ### # # ##### # # ### # ########### ##### # # ### # ### # # # # ##### # ### # ####### # ###\n",
"# # # # # # # S..# # # # # # # # # # # # # # #\n",
"### # ####### # ##### ##### ### #.### ### ####### # # # # ### ### # ######### # ### ### ### # # ### # #\n",
"# # # # # # # # # #. # # # # # # # # # # # # # # # # # # # # #\n",
"# ########### # ### # # # # # ###.########### # # # ####### ### # ##### ### ### ### # ### ####### # # #\n",
"# # # # # # # # # #...# # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # # ####### ### #####.# # ######### # ##### ### # ##### ########### # # # # # ### # # ### ###\n",
"# # # # # # # # # # ...# # # # # # # # # # # # # # # #\n",
"# ### ### # ### # # # # # ###.##### ### ### ##### ##### ### # ### # ### ####### # # ### ####### # #####\n",
"# # # # # # # # ...#...# # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### ### #####.#.#.##### ### # ### # # ### ### ##### ####### ####### # ##### ### # # ### ### #\n",
"# # # # # # # # #.#...# # # # #............... # # # # # # # # # # #\n",
"# # # # ##### # # # # #.# # ### # ### ##### ### ###.######### # #.# ##### # # ### ##### ### # # ##### #\n",
"# # # # # ...# # # # # # .# # # #.# # # # # # # # # #\n",
"##### # # # # #######.### ##### # ##### ####### # #.### #########.### # # # ########### ####### ### ###\n",
"# # # # # # # # #.# # # # # # # # # #.# # #. # # # # # # # #\n",
"# # ### ### # ### # #.# ##### ### # ### # # #######.### # ##### #.##### ##### ### # # ####### ### ### #\n",
"# # # # #.# # # # # .............#.# # # # # #. # # # # # # # # # #\n",
"### # ###############.# # ### # #####.### ### ###.#.# # ### ### #.# ### # # ### ##### ### ### ####### #\n",
"# # # # #.....# # # # . # # #... # # #...# # # # # # # # #\n",
"##### # ####### #.##### ### ### #####.# ####### ######### # ###.# ####### # ######### # # ######### # #\n",
"# # # #.# # # # # # #.# # # # # # # # #.# # # # # # # #\n",
"# ### ### # ### #.### ##### # ##### #.### # ### # # # # ##### #.# # ############# ####### ### # ### ###\n",
"# # # # .# # # # .# # # # # # # #.# # # # # # # # #\n",
"# ### ##### ### #.### ##### ### # ###.# # # # ##### # ### # # #.# # # ### # # # ### ######### ##### # #\n",
"# # # # #.# # # # #.# # # # # # # # .# # # # # # # # # # # # #\n",
"# # ### ##### ###.##### ##### #######.### ########### # # # ###.# # ### ####### # # # # ######### ### #\n",
"# # # # # #...# #...# # ...# # # # # # .# # # # # # # # # # #\n",
"### ### ### ### ###.# #####.#.# #######.# # # # ####### #######.##### ##### ####### # ##### ### ##### #\n",
"# # # # # #.#.......#...........# # # # # #. # # # # # # # # # #\n",
"# ####### # ##### #.#.### ##### ### # ####### ### ### # ##### #.### # ### ##### # ### # # # # ### #####\n",
"# # # # #... # # # # # # # # # # # #...# # # # # # # # # #\n",
"# # ### # # # ##### ##### # # ####### # # ### ####### ### # #####.### # # # ####### # # ### ### # # ###\n",
"# # # # # # # # # # # # # # # # #.# # # # # # # # # # # #\n",
"# ##### # ### # # ############### # ##### ############# # ##### #.### # ### # # ### # # # # ######### #\n",
"# # # # # # # # # # # # # # #. # # # # # # # # # # # #\n",
"# ######### # ### # ####### # ####### # # # ### # ### ### # #####.### # ##### ############### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # ...# # # # # # # # # # #\n",
"### ### ### # ####### # ### # ### # ### # ### ##### ##### #####.### ### # # # # # # ##### ##### ### # #\n",
"# # # # # # # # # # # #...# # # # # # # # # # # #\n",
"# ### # ### ####### ### ####### # ### ##### # # ####### ##### ###.### # ##### # ####### # # # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # . # # # # # # # # # #\n",
"# ### ### ##### # # ##### # # ### # ##### # ### # # ### ### # ###.########### ### # # ### ### ##### # #\n",
"# # # # # # # # # # # # # # # # ... # # # # # # # # #\n",
"# # ### ### ### ##### ### # ####### ### ##### ### # ######### #####.### ### ##### ####### ##### ### ###\n",
"# # # # # # # # # # # # # # #.# # # # # # # # #\n",
"########### ##### ##### # ### ### ### # ####### # # ### ### ### # #.# # # ### # ##### # # # ### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # #. # # # # # # # # # #\n",
"# ### ##### # ### # # # # # ### # # # ##### # ### ### # # ### #####.####### ### # # ### ######### # ###\n",
"# # # # # # # # # # # # # # # # # # #... # # # # # # # #\n",
"### ####### # ### ### ##### ##### # ### ### ### ### # ##### # ###.# # # ##### # ### ### # ######### # #\n",
"# # # # # # # # # # # # # # # # # # # #.# # # # # # # # # # # # #\n",
"# # # # ### # ##### ####### # ##### ##### ##### # # # # # ### # #.######### # ### # ####### # ### #####\n",
"# # # # # # # # # # # # # # #...# # # # # # # #\n",
"# ### ### ############# ### ### ##### ######### # ### ####### # ###.# # ####### # ### ##### ### #######\n",
"# # # # # # # # # # # # # # # #... # # # # #\n",
"# # ### # # # ### ##### # # ### ############### ### # # # ##### #.# ##### ##### # ### ##### ##### # ###\n",
"# # # # # # # # # # # # # # # E..# # # # # # # # #\n",
"# # ### ##### # ##### ### # # # ### # ### # ######### # # ##### ####### ####### ##### ####### # #######\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### ####### ### # # # ##### ######### ### ##### ####### # # # # # # # # # # ### # ### # ### # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # # ### # ### ####### # ### # # ### ####### ####### ### ### # ########### # ### #####\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ####### ######### ##### # # ### ### ### # ### # # # ##### ### # ##### ### # # # ### ###########\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # # # # # # ##### ##### ##### # ##### # ##### # # ### # # # # ######### ########### # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ### ####### ### ### # ### ######### ##### ##### ####### # # ##### # # # ### # ######### ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # ### # ### ######### # ### # # ### # # # # ##### ### # # ##### ### ######### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### # ######### ### # ### ### # ### # ########### ### ### # ### # # ### ### ######### # ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # # # ### # # # ##### ### # ### ### # ##### ### # ### ##### ##### ####### ##### # ### ### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # # ##### ### # # ##### ##### # # ######### ### ### ##### ### ### # ### ##### # # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ##### # # ####### # ### ### # ### # ### # # ### ### # # ##### # # ### ### # # # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # #\n",
"#######################################################################################################\n",
"time: 5.097500001284061 ms\n",
"visited cells: 2345\n",
"path length: 197\n",
"DFS\n",
"Путь найден:\n",
"#######################################################################################################\n",
"# # # # # # # # # # # #\n",
"### # ##### # # # ############# ######### ### ### # # # ### # # # # # # ####### ##### ##### # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # ##### ### ### ### # ##### # ####### ##### ### ##### ### ####### # # ####### ### ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### ### ##### # ####### ### ### # ##### ##### # ########### ### ### ##### ### # ### # # # # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ######### ##### ### # ### # ### ##### ### ### # ### # # # ### # # ##### # ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### # # ### # # ####### # # # ### # ### # # # ####### # # ##### ### ### ### # ##### ### # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # ### ### # ##### # # ##### ### # ##### # ##### ##### ### # # ####### ##### # # # # # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ##### ### # ### # ### # # ### ##### ####### ### ##### ### ### # # # # # # # ######### # # ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### ### ### # ############# ### # # ### ############### # ##### # ##### ### # # ########### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # ####### ##### ##### ### ### # ### ### ### ####### ##### # # ##### ##### # # # # ##### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # # ### ##### # # # # ##### ##### ##### ##### # ##### # ### ##### ### ### ### ### ### ########### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ####### # ### # # ##### # # ### # ########### ##### # # ### # ### # # # # ##### # ### # ####### # ###\n",
"# # # # # # # S..# # # # # # # # # # # # # # #\n",
"### # ####### # ##### ##### ### #.### ### ####### # # # # ### ### # ######### # ### ### ### # # ### # #\n",
"# # # # # # # # # #. # # # # # # # # # # # # # # # # # # # # #\n",
"# ########### # ### # # # # # ###.########### # # # ####### ### # ##### ### ### ### # ### ####### # # #\n",
"# # # # # # # # # #...# # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # # ####### ### #####.# # ######### # ##### ### # ##### ########### # # # # # ### # # ### ###\n",
"# # # # # # # # # # ...# # # # # # # # # # # # # # # #\n",
"# ### ### # ### # # # # # ###.##### ### ### ##### ##### ### # ### # ### ####### # # ### ####### # #####\n",
"# # # # # # # # ...#...# # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### ### #####.#.#.##### ### # ### # # ### ### ##### ####### ####### # ##### ### # # ### ### #\n",
"# # # # # # # # #.#...# # # # #............... # # # # # # # # # # #\n",
"# # # # ##### # # # # #.# # ### # ### ##### ### ###.######### # #.# ##### # # ### ##### ### # # ##### #\n",
"# # # # # ...# # # # # # .# # # #.# # # # # # # # # #\n",
"##### # # # # #######.### ##### # ##### ####### # #.### #########.### # # # ########### ####### ### ###\n",
"# # # # # # # # #.# # # # # # # # # #.# # #. # # # # # # # #\n",
"# # ### ### # ### # #.# ##### ### # ### # # #######.### # ##### #.##### ##### ### # # ####### ### ### #\n",
"# # # # #.# # # # # .............#.# # # # # #. # # # # # # # # # #\n",
"### # ###############.# # ### # #####.### ### ###.#.# # ### ### #.# ### # # ### ##### ### ### ####### #\n",
"# # # # #.....# # # # . # # #... # # #...# # # # # # # # #\n",
"##### # ####### #.##### ### ### #####.# ####### ######### # ###.# ####### # ######### # # ######### # #\n",
"# # # #.# # # # # # #.# # # # # # # # #.# # # # # # # #\n",
"# ### ### # ### #.### ##### # ##### #.### # ### # # # # ##### #.# # ############# ####### ### # ### ###\n",
"# # # # .# # # # .# # # # # # # #.# # # # # # # # #\n",
"# ### ##### ### #.### ##### ### # ###.# # # # ##### # ### # # #.# # # ### # # # ### ######### ##### # #\n",
"# # # # #.# # # # #.# # # # # # # # .# # # # # # # # # # # # #\n",
"# # ### ##### ###.##### ##### #######.### ########### # # # ###.# # ### ####### # # # # ######### ### #\n",
"# # # # # #...# #...# # ...# # # # # # .# # # # # # # # # # #\n",
"### ### ### ### ###.# #####.#.# #######.# # # # ####### #######.##### ##### ####### # ##### ### ##### #\n",
"# # # # # #.#.......#...........# # # # # #. # # # # # # # # # #\n",
"# ####### # ##### #.#.### ##### ### # ####### ### ### # ##### #.### # ### ##### # ### # # # # ### #####\n",
"# # # # #... # # # # # # # # # # # #...# # # # # # # # # #\n",
"# # ### # # # ##### ##### # # ####### # # ### ####### ### # #####.### # # # ####### # # ### ### # # ###\n",
"# # # # # # # # # # # # # # # # #.# # # # # # # # # # # #\n",
"# ##### # ### # # ############### # ##### ############# # ##### #.### # ### # # ### # # # # ######### #\n",
"# # # # # # # # # # # # # # #. # # # # # # # # # # # #\n",
"# ######### # ### # ####### # ####### # # # ### # ### ### # #####.### # ##### ############### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # ...# # # # # # # # # # #\n",
"### ### ### # ####### # ### # ### # ### # ### ##### ##### #####.### ### # # # # # # ##### ##### ### # #\n",
"# # # # # # # # # # # #...# # # # # # # # # # # #\n",
"# ### # ### ####### ### ####### # ### ##### # # ####### ##### ###.### # ##### # ####### # # # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # . # # # # # # # # # #\n",
"# ### ### ##### # # ##### # # ### # ##### # ### # # ### ### # ###.########### ### # # ### ### ##### # #\n",
"# # # # # # # # # # # # # # # # ... # # # # # # # # #\n",
"# # ### ### ### ##### ### # ####### ### ##### ### # ######### #####.### ### ##### ####### ##### ### ###\n",
"# # # # # # # # # # # # # # #.# # # # # # # # #\n",
"########### ##### ##### # ### ### ### # ####### # # ### ### ### # #.# # # ### # ##### # # # ### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # #. # # # # # # # # # #\n",
"# ### ##### # ### # # # # # ### # # # ##### # ### ### # # ### #####.####### ### # # ### ######### # ###\n",
"# # # # # # # # # # # # # # # # # # #... # # # # # # # #\n",
"### ####### # ### ### ##### ##### # ### ### ### ### # ##### # ###.# # # ##### # ### ### # ######### # #\n",
"# # # # # # # # # # # # # # # # # # # #.# # # # # # # # # # # # #\n",
"# # # # ### # ##### ####### # ##### ##### ##### # # # # # ### # #.######### # ### # ####### # ### #####\n",
"# # # # # # # # # # # # # # #...# # # # # # # #\n",
"# ### ### ############# ### ### ##### ######### # ### ####### # ###.# # ####### # ### ##### ### #######\n",
"# # # # # # # # # # # # # # # #... # # # # #\n",
"# # ### # # # ### ##### # # ### ############### ### # # # ##### #.# ##### ##### # ### ##### ##### # ###\n",
"# # # # # # # # # # # # # # # E..# # # # # # # # #\n",
"# # ### ##### # ##### ### # # # ### # ### # ######### # # ##### ####### ####### ##### ####### # #######\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### ####### ### # # # ##### ######### ### ##### ####### # # # # # # # # # # ### # ### # ### # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # # ### # ### ####### # ### # # ### ####### ####### ### ### # ########### # ### #####\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ####### ######### ##### # # ### ### ### # ### # # # ##### ### # ##### ### # # # ### ###########\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # # # # # # ##### ##### ##### # ##### # ##### # # ### # # # # ######### ########### # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ### ####### ### ### # ### ######### ##### ##### ####### # # ##### # # # ### # ######### ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # ### # ### ######### # ### # # ### # # # # ##### ### # # ##### ### ######### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### # ######### ### # ### ### # ### # ########### ### ### # ### # # ### ### ######### # ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # # # ### # # # ##### ### # ### ### # ##### ### # ### ##### ##### ####### ##### # ### ### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # # ##### ### # # ##### ##### # # ######### ### ### ##### ### ### # ### ##### # # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ##### # # ####### # ### ### # ### # ### # # ### ### # # ##### # # ### ### # # # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # #\n",
"#######################################################################################################\n",
"time: 3.797699999267934 ms\n",
"visited cells: 2609\n",
"path length: 197\n",
"A*\n",
"Путь найден:\n",
"#######################################################################################################\n",
"# # # # # # # # # # # #\n",
"### # ##### # # # ############# ######### ### ### # # # ### # # # # # # ####### ##### ##### # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # ##### ### ### ### # ##### # ####### ##### ### ##### ### ####### # # ####### ### ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### ### ##### # ####### ### ### # ##### ##### # ########### ### ### ##### ### # ### # # # # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ######### ##### ### # ### # ### ##### ### ### # ### # # # ### # # ##### # ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### # # ### # # ####### # # # ### # ### # # # ####### # # ##### ### ### ### # ##### ### # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # ### ### # ##### # # ##### ### # ##### # ##### ##### ### # # ####### ##### # # # # # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ##### ### # ### # ### # # ### ##### ####### ### ##### ### ### # # # # # # # ######### # # ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### ### ### # ############# ### # # ### ############### # ##### # ##### ### # # ########### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # ####### ##### ##### ### ### # ### ### ### ####### ##### # # ##### ##### # # # # ##### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # # ### ##### # # # # ##### ##### ##### ##### # ##### # ### ##### ### ### ### ### ### ########### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ####### # ### # # ##### # # ### # ########### ##### # # ### # ### # # # # ##### # ### # ####### # ###\n",
"# # # # # # # S..# # # # # # # # # # # # # # #\n",
"### # ####### # ##### ##### ### #.### ### ####### # # # # ### ### # ######### # ### ### ### # # ### # #\n",
"# # # # # # # # # #. # # # # # # # # # # # # # # # # # # # # #\n",
"# ########### # ### # # # # # ###.########### # # # ####### ### # ##### ### ### ### # ### ####### # # #\n",
"# # # # # # # # # #...# # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # # ####### ### #####.# # ######### # ##### ### # ##### ########### # # # # # ### # # ### ###\n",
"# # # # # # # # # # ...# # # # # # # # # # # # # # # #\n",
"# ### ### # ### # # # # # ###.##### ### ### ##### ##### ### # ### # ### ####### # # ### ####### # #####\n",
"# # # # # # # # ...#...# # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### ### #####.#.#.##### ### # ### # # ### ### ##### ####### ####### # ##### ### # # ### ### #\n",
"# # # # # # # # #.#...# # # # #............... # # # # # # # # # # #\n",
"# # # # ##### # # # # #.# # ### # ### ##### ### ###.######### # #.# ##### # # ### ##### ### # # ##### #\n",
"# # # # # ...# # # # # # .# # # #.# # # # # # # # # #\n",
"##### # # # # #######.### ##### # ##### ####### # #.### #########.### # # # ########### ####### ### ###\n",
"# # # # # # # # #.# # # # # # # # # #.# # #. # # # # # # # #\n",
"# # ### ### # ### # #.# ##### ### # ### # # #######.### # ##### #.##### ##### ### # # ####### ### ### #\n",
"# # # # #.# # # # # .............#.# # # # # #. # # # # # # # # # #\n",
"### # ###############.# # ### # #####.### ### ###.#.# # ### ### #.# ### # # ### ##### ### ### ####### #\n",
"# # # # #.....# # # # . # # #... # # #...# # # # # # # # #\n",
"##### # ####### #.##### ### ### #####.# ####### ######### # ###.# ####### # ######### # # ######### # #\n",
"# # # #.# # # # # # #.# # # # # # # # #.# # # # # # # #\n",
"# ### ### # ### #.### ##### # ##### #.### # ### # # # # ##### #.# # ############# ####### ### # ### ###\n",
"# # # # .# # # # .# # # # # # # #.# # # # # # # # #\n",
"# ### ##### ### #.### ##### ### # ###.# # # # ##### # ### # # #.# # # ### # # # ### ######### ##### # #\n",
"# # # # #.# # # # #.# # # # # # # # .# # # # # # # # # # # # #\n",
"# # ### ##### ###.##### ##### #######.### ########### # # # ###.# # ### ####### # # # # ######### ### #\n",
"# # # # # #...# #...# # ...# # # # # # .# # # # # # # # # # #\n",
"### ### ### ### ###.# #####.#.# #######.# # # # ####### #######.##### ##### ####### # ##### ### ##### #\n",
"# # # # # #.#.......#...........# # # # # #. # # # # # # # # # #\n",
"# ####### # ##### #.#.### ##### ### # ####### ### ### # ##### #.### # ### ##### # ### # # # # ### #####\n",
"# # # # #... # # # # # # # # # # # #...# # # # # # # # # #\n",
"# # ### # # # ##### ##### # # ####### # # ### ####### ### # #####.### # # # ####### # # ### ### # # ###\n",
"# # # # # # # # # # # # # # # # #.# # # # # # # # # # # #\n",
"# ##### # ### # # ############### # ##### ############# # ##### #.### # ### # # ### # # # # ######### #\n",
"# # # # # # # # # # # # # # #. # # # # # # # # # # # #\n",
"# ######### # ### # ####### # ####### # # # ### # ### ### # #####.### # ##### ############### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # ...# # # # # # # # # # #\n",
"### ### ### # ####### # ### # ### # ### # ### ##### ##### #####.### ### # # # # # # ##### ##### ### # #\n",
"# # # # # # # # # # # #...# # # # # # # # # # # #\n",
"# ### # ### ####### ### ####### # ### ##### # # ####### ##### ###.### # ##### # ####### # # # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # . # # # # # # # # # #\n",
"# ### ### ##### # # ##### # # ### # ##### # ### # # ### ### # ###.########### ### # # ### ### ##### # #\n",
"# # # # # # # # # # # # # # # # ... # # # # # # # # #\n",
"# # ### ### ### ##### ### # ####### ### ##### ### # ######### #####.### ### ##### ####### ##### ### ###\n",
"# # # # # # # # # # # # # # #.# # # # # # # # #\n",
"########### ##### ##### # ### ### ### # ####### # # ### ### ### # #.# # # ### # ##### # # # ### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # #. # # # # # # # # # #\n",
"# ### ##### # ### # # # # # ### # # # ##### # ### ### # # ### #####.####### ### # # ### ######### # ###\n",
"# # # # # # # # # # # # # # # # # # #... # # # # # # # #\n",
"### ####### # ### ### ##### ##### # ### ### ### ### # ##### # ###.# # # ##### # ### ### # ######### # #\n",
"# # # # # # # # # # # # # # # # # # # #.# # # # # # # # # # # # #\n",
"# # # # ### # ##### ####### # ##### ##### ##### # # # # # ### # #.######### # ### # ####### # ### #####\n",
"# # # # # # # # # # # # # # #...# # # # # # # #\n",
"# ### ### ############# ### ### ##### ######### # ### ####### # ###.# # ####### # ### ##### ### #######\n",
"# # # # # # # # # # # # # # # #... # # # # #\n",
"# # ### # # # ### ##### # # ### ############### ### # # # ##### #.# ##### ##### # ### ##### ##### # ###\n",
"# # # # # # # # # # # # # # # E..# # # # # # # # #\n",
"# # ### ##### # ##### ### # # # ### # ### # ######### # # ##### ####### ####### ##### ####### # #######\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### ####### ### # # # ##### ######### ### ##### ####### # # # # # # # # # # ### # ### # ### # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # # ### # ### ####### # ### # # ### ####### ####### ### ### # ########### # ### #####\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ####### ######### ##### # # ### ### ### # ### # # # ##### ### # ##### ### # # # ### ###########\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # # # # # # ##### ##### ##### # ##### # ##### # # ### # # # # ######### ########### # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ### ####### ### ### # ### ######### ##### ##### ####### # # ##### # # # ### # ######### ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # ### # ### ######### # ### # # ### # # # # ##### ### # # ##### ### ######### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### # ######### ### # ### ### # ### # ########### ### ### # ### # # ### ### ######### # ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # # # ### # # # ##### ### # ### ### # ##### ### # ### ##### ##### ####### ##### # ### ### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # # ##### ### # # ##### ##### # # ######### ### ### ##### ### ### # ### ##### # # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ##### # # ####### # ### ### # ### # ### # # ### ### # # ##### # # ### ### # # # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # #\n",
"#######################################################################################################\n",
"time: 2.6992999992216937 ms\n",
"visited cells: 1194\n",
"path length: 197\n",
"Dijkstra\n",
"Путь найден:\n",
"#######################################################################################################\n",
"# # # # # # # # # # # #\n",
"### # ##### # # # ############# ######### ### ### # # # ### # # # # # # ####### ##### ##### # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # ##### ### ### ### # ##### # ####### ##### ### ##### ### ####### # # ####### ### ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### ### ##### # ####### ### ### # ##### ##### # ########### ### ### ##### ### # ### # # # # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ######### ##### ### # ### # ### ##### ### ### # ### # # # ### # # ##### # ### ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### # # ### # # ####### # # # ### # ### # # # ####### # # ##### ### ### ### # ##### ### # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # ### ### # ##### # # ##### ### # ##### # ##### ##### ### # # ####### ##### # # # # # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # ##### ### # ### # ### # # ### ##### ####### ### ##### ### ### # # # # # # # ######### # # ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### ### ### # ############# ### # # ### ############### # ##### # ##### ### # # ########### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # ####### ##### ##### ### ### # ### ### ### ####### ##### # # ##### ##### # # # # ##### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # # ### ##### # # # # ##### ##### ##### ##### # ##### # ### ##### ### ### ### ### ### ########### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ####### # ### # # ##### # # ### # ########### ##### # # ### # ### # # # # ##### # ### # ####### # ###\n",
"# # # # # # # S..# # # # # # # # # # # # # # #\n",
"### # ####### # ##### ##### ### #.### ### ####### # # # # ### ### # ######### # ### ### ### # # ### # #\n",
"# # # # # # # # # #. # # # # # # # # # # # # # # # # # # # # #\n",
"# ########### # ### # # # # # ###.########### # # # ####### ### # ##### ### ### ### # ### ####### # # #\n",
"# # # # # # # # # #...# # # # # # # # # # # # # # # # # # # #\n",
"# # ##### # # ####### ### #####.# # ######### # ##### ### # ##### ########### # # # # # ### # # ### ###\n",
"# # # # # # # # # # ...# # # # # # # # # # # # # # # #\n",
"# ### ### # ### # # # # # ###.##### ### ### ##### ##### ### # ### # ### ####### # # ### ####### # #####\n",
"# # # # # # # # ...#...# # # # # # # # # # # # # # # # # # # #\n",
"# # # ### ### ### #####.#.#.##### ### # ### # # ### ### ##### ####### ####### # ##### ### # # ### ### #\n",
"# # # # # # # # #.#...# # # # #............... # # # # # # # # # # #\n",
"# # # # ##### # # # # #.# # ### # ### ##### ### ###.######### # #.# ##### # # ### ##### ### # # ##### #\n",
"# # # # # ...# # # # # # .# # # #.# # # # # # # # # #\n",
"##### # # # # #######.### ##### # ##### ####### # #.### #########.### # # # ########### ####### ### ###\n",
"# # # # # # # # #.# # # # # # # # # #.# # #. # # # # # # # #\n",
"# # ### ### # ### # #.# ##### ### # ### # # #######.### # ##### #.##### ##### ### # # ####### ### ### #\n",
"# # # # #.# # # # # .............#.# # # # # #. # # # # # # # # # #\n",
"### # ###############.# # ### # #####.### ### ###.#.# # ### ### #.# ### # # ### ##### ### ### ####### #\n",
"# # # # #.....# # # # . # # #... # # #...# # # # # # # # #\n",
"##### # ####### #.##### ### ### #####.# ####### ######### # ###.# ####### # ######### # # ######### # #\n",
"# # # #.# # # # # # #.# # # # # # # # #.# # # # # # # #\n",
"# ### ### # ### #.### ##### # ##### #.### # ### # # # # ##### #.# # ############# ####### ### # ### ###\n",
"# # # # .# # # # .# # # # # # # #.# # # # # # # # #\n",
"# ### ##### ### #.### ##### ### # ###.# # # # ##### # ### # # #.# # # ### # # # ### ######### ##### # #\n",
"# # # # #.# # # # #.# # # # # # # # .# # # # # # # # # # # # #\n",
"# # ### ##### ###.##### ##### #######.### ########### # # # ###.# # ### ####### # # # # ######### ### #\n",
"# # # # # #...# #...# # ...# # # # # # .# # # # # # # # # # #\n",
"### ### ### ### ###.# #####.#.# #######.# # # # ####### #######.##### ##### ####### # ##### ### ##### #\n",
"# # # # # #.#.......#...........# # # # # #. # # # # # # # # # #\n",
"# ####### # ##### #.#.### ##### ### # ####### ### ### # ##### #.### # ### ##### # ### # # # # ### #####\n",
"# # # # #... # # # # # # # # # # # #...# # # # # # # # # #\n",
"# # ### # # # ##### ##### # # ####### # # ### ####### ### # #####.### # # # ####### # # ### ### # # ###\n",
"# # # # # # # # # # # # # # # # #.# # # # # # # # # # # #\n",
"# ##### # ### # # ############### # ##### ############# # ##### #.### # ### # # ### # # # # ######### #\n",
"# # # # # # # # # # # # # # #. # # # # # # # # # # # #\n",
"# ######### # ### # ####### # ####### # # # ### # ### ### # #####.### # ##### ############### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # ...# # # # # # # # # # #\n",
"### ### ### # ####### # ### # ### # ### # ### ##### ##### #####.### ### # # # # # # ##### ##### ### # #\n",
"# # # # # # # # # # # #...# # # # # # # # # # # #\n",
"# ### # ### ####### ### ####### # ### ##### # # ####### ##### ###.### # ##### # ####### # # # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # . # # # # # # # # # #\n",
"# ### ### ##### # # ##### # # ### # ##### # ### # # ### ### # ###.########### ### # # ### ### ##### # #\n",
"# # # # # # # # # # # # # # # # ... # # # # # # # # #\n",
"# # ### ### ### ##### ### # ####### ### ##### ### # ######### #####.### ### ##### ####### ##### ### ###\n",
"# # # # # # # # # # # # # # #.# # # # # # # # #\n",
"########### ##### ##### # ### ### ### # ####### # # ### ### ### # #.# # # ### # ##### # # # ### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # #. # # # # # # # # # #\n",
"# ### ##### # ### # # # # # ### # # # ##### # ### ### # # ### #####.####### ### # # ### ######### # ###\n",
"# # # # # # # # # # # # # # # # # # #... # # # # # # # #\n",
"### ####### # ### ### ##### ##### # ### ### ### ### # ##### # ###.# # # ##### # ### ### # ######### # #\n",
"# # # # # # # # # # # # # # # # # # # #.# # # # # # # # # # # # #\n",
"# # # # ### # ##### ####### # ##### ##### ##### # # # # # ### # #.######### # ### # ####### # ### #####\n",
"# # # # # # # # # # # # # # #...# # # # # # # #\n",
"# ### ### ############# ### ### ##### ######### # ### ####### # ###.# # ####### # ### ##### ### #######\n",
"# # # # # # # # # # # # # # # #... # # # # #\n",
"# # ### # # # ### ##### # # ### ############### ### # # # ##### #.# ##### ##### # ### ##### ##### # ###\n",
"# # # # # # # # # # # # # # # E..# # # # # # # # #\n",
"# # ### ##### # ##### ### # # # ### # ### # ######### # # ##### ####### ####### ##### ####### # #######\n",
"# # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### ####### ### # # # ##### ######### ### ##### ####### # # # # # # # # # # ### # ### # ### # ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # # ### # ### ####### # ### # # ### ####### ####### ### ### # ########### # ### #####\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ####### ######### ##### # # ### ### ### # ### # # # ##### ### # ##### ### # # # ### ###########\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"##### # # # # # # # # # ##### ##### ##### # ##### # ##### # # ### # # # # ######### ########### # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # ### ### ####### ### ### # ### ######### ##### ##### ####### # # ##### # # # ### # ######### ### # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ### ### ####### # ### # ### ######### # ### # # ### # # # # ##### ### # # ##### ### ######### # # ###\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# ##### ### # ######### ### # ### ### # ### # ########### ### ### # ### # # ### ### ######### # ##### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"# # # # # ### # # # ##### ### # ### ### # ##### ### # ### ##### ##### ####### ##### # ### ### ### # # #\n",
"# # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ##### # # ##### ### # # ##### ##### # # ######### ### ### ##### ### ### # ### ##### # # ### ### #\n",
"# # # # # # # # # # # # # # # # # # # # # # # # # # #\n",
"### # ### # ### # ##### # # ####### # ### ### # ### # ### # # ### ### # # ##### # # ### ### # # # ### #\n",
"# # # # # # # # # # # # # # # # # # # # # #\n",
"#######################################################################################################\n",
"time: 4.481500000110827 ms\n",
"visited cells: 2345\n",
"path length: 197\n"
]
}
],
"source": [
"maze = builder.buildFromFile(test_labNoPath)\n",
"maze = builder.buildFromFile(test_lab5)\n",
"\n",
"strats = [BFS(), DFS(), AStar(), Dijkstra()]\n",
"\n",
@ -192,12 +855,35 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 27,
"id": "48d20564",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"BFS\n",
"Путь найден:\n",
"#####################################\n",
"#S #\n",
"#. #\n",
"#. #\n",
"#. #\n",
"#. #\n",
"#. #\n",
"#. #\n",
"#. #\n",
"#..................................E#\n",
"#####################################\n",
"time: 0.5636999994749203 ms\n",
"visited cells: 315\n",
"path length: 43\n"
]
}
],
"source": [
"maze2 = builder.buildFromFile(test_lab3)\n",
"maze2 = builder.buildFromFile(test_lab2)\n",
"\n",
"solver = MazeSolver(maze2, BFS(), ConsoleView())\n",
"print(solver.strategyName())\n",
@ -207,12 +893,35 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 28,
"id": "bf13d5ba",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"DFS\n",
"Путь найден:\n",
"#####################################\n",
"#S..................................#\n",
"# .#\n",
"#...................................#\n",
"#. #\n",
"#...................................#\n",
"# .#\n",
"#...................................#\n",
"#. #\n",
"#..................................E#\n",
"#####################################\n",
"time: 0.3818000004685018 ms\n",
"visited cells: 315\n",
"path length: 179\n"
]
}
],
"source": [
"maze2 = builder.buildFromFile(test_lab3)\n",
"maze2 = builder.buildFromFile(test_lab2)\n",
"\n",
"solver = MazeSolver(maze2, DFS(), ConsoleView())\n",
"print(solver.strategyName())\n",
@ -222,10 +931,31 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 29,
"id": "9383cb75",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dijkstra\n",
"Путь найден:\n",
"####################\n",
"#S #\n",
"#. ########## #\n",
"#. #### #\n",
"#. ######## #\n",
"#. #\n",
"#. ####### #### #\n",
"#................E #\n",
"####################\n",
"time: 0.19580000298446976 ms\n",
"visited cells: 92\n",
"path length: 23\n"
]
}
],
"source": [
"maze2 = builder.buildFromFile(test_lab3)\n",
"\n",
@ -237,10 +967,75 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 30,
"id": "835cff61",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A*\n",
"Путь найден:\n",
"#####################################################\n",
"# S..... # # # # # # # # #\n",
"#######.##### # ##### # # ### ### ### ### ##### # ###\n",
"# # .# # # # # # # # # #\n",
"# #####.# ####### ##### ### ####### ### ### # # # # #\n",
"# ... # # # # # # # # # # # # # # #\n",
"# ###.# ##### # # # # ##### # # # ##### # ### ### ###\n",
"# # .# # # # # # # # # # # # #\n",
"# ###.# # ### # ### # ### # # ######### ##### # ### #\n",
"# #...# # # # # # # # # # # # #\n",
"###.# ### ####### ### # ### ### ####### # ### ### # #\n",
"#...# # # # # # # # # # # # # #\n",
"#.### # # # # # ##### ### # ### ### # ######### #####\n",
"#.# # # # # # # # # # # # #\n",
"#.############# # # ### ##### ##### ### ##### ### # #\n",
"#.....# # # # # # # # # # #\n",
"### #.# # ########### ##### # ### ### ######### ### #\n",
"# # #.# # # # # # # # # # #\n",
"# ###.# ####### # ##### # ### ### ####### # # # ### #\n",
"# #.# # # # # # # # # # # # # #\n",
"# # #.### # # ####### # ### ### ### ##### ### #######\n",
"# #...# # # # # # # # # # # #\n",
"###.### ##### # # ### ### ### # ### # ######### ### #\n",
"#...# # # # # # # # # # #\n",
"#.# # ### ##### # # # # ########### # ### # # # # ###\n",
"#.# # # # # # # # # # # # # #\n",
"#.# # ############# ##### ##### ##### ### # ##### # #\n",
"#.# # # # #...# # # # # # # #\n",
"#.##### ### ##### # #.#.### # ### ####### ### ##### #\n",
"#...# # # # #.#...# # #...# # # # # # # #\n",
"###.### # ######### #.###.# ###.#.# # # ### ##### # #\n",
"# ... # #.# .......#...# # # # # #\n",
"### #.# ####### # ###.#############.# # # ### ### # #\n",
"# #.# # # # ...# # # # .# # # #\n",
"### #.######### #######.# ### # # #.### ##### ##### #\n",
"# #....... # #....... # #.# # # # #\n",
"# ### #####.### #.### ### # #######.# ##### # #######\n",
"# # # # #. # #.# # # # # #... # # # # #\n",
"##### # # #.#####.# ####### ### # ###.##### # # # ###\n",
"# #.....# #...# # # # # #..... # # #\n",
"#######.##### #.### ### # ##### ##### ###.##### ### #\n",
"#.....#. # # #. # # # # # #.# # # #\n",
"#.# #.#.# # # #.##### ### # # # ### ### #.# ### ### #\n",
"#.# #...# # . # # # # # # # # # # #. # #\n",
"#.#############.### ### # ### # # ### ###.### ##### #\n",
"#.# # # # # . # # # # #. # # #\n",
"#.# # # # # ###.### # ##### ### ### ### #.### ### # #\n",
"#.# # # #...# # # # # .......# # #\n",
"#.##### ##### ###.########### ####### ##### ###.#####\n",
"#.# #.............# # # # # # # # #... #\n",
"#.# #.##### # # ### # ### # # # # ### ### # #####.###\n",
"#..... # # # # # # # # E #\n",
"#####################################################\n",
"time: 1.7649000001256354 ms\n",
"visited cells: 805\n",
"path length: 202\n"
]
}
],
"source": [
"maze2 = builder.buildFromFile('mazes\\\\benchmarks\\maze50x50.txt')\n",
"\n",