改善版のプログラムでは、4路線の最短完乗ルートの検索を、藤が丘駅スタートで0秒、名古屋駅スタートで1秒で計算できた。
路線を増やして計算。
まずは藤が丘駅スタート。
続いて名古屋駅スタート。
5路線、東山線、名城線、名港線、鶴舞線、桜通線
10分以上掛かってるので「時間切れ」で計算できず。
1億5千万ルート以上を計算して終わらない。
4路線(東山線、名城線、名港線、鶴舞線)は 97,105ルート を0秒で計算。
桜通線は、名古屋、丸の内、久屋大通、今池、御器所、新瑞橋の6駅で他路線と交差しているので、それぞれの駅で乗り換えの可能性があることになる。
交差なので4分岐。
単純計算で、4の6乗 = 4096倍 のルート数。
4路線で 97,105ルートなので、97,106×4,096 = 397,742,080 で約40億ルート計算すれば終わる?
そんな単純な計算じゃないかな。
路線の順序を決めたばかりだけど、5路線目を上飯田線にして計算してみることにした。
上飯田線は、1区間だけで平安通駅から分岐している路線。
分岐が1つ増えるだけなので計算できそう。
5路線、東山線、名城線、名港線、鶴舞線、上飯田線
藤が丘 ~( 東山線 )~ 高畑 高畑 ~( 東山線 )~ 伏見 伏見 ~( 鶴舞線 )~ 上小田井 上小田井 ~( 鶴舞線 )~ 赤池 赤池 ~( 鶴舞線 )~ 上前津 上前津 ~( 名城線 )~ 平安通 平安通 ~( 上飯田線 )~ 上飯田 上飯田 ~( 上飯田線 )~ 平安通 平安通 ~( 名城線 )~ 金山 金山 ~( 名港線 )~ 名古屋港 藤が丘-(東山線)-本山-(東山線)-今池-(東山線)-栄-(東山線)-伏見-(東山線)- 名古屋-(東山線)-高畑-(東山線)-名古屋-(東山線)-伏見-(鶴舞線)-丸の内-(鶴 舞線)-上小田井-(鶴舞線)-丸の内-(鶴舞線)-伏見-(鶴舞線)-上前津-(鶴舞線)- 御器所-(鶴舞線)-八事-(鶴舞線)-赤池-(鶴舞線)-八事-(鶴舞線)-御器所-(鶴舞 線)-上前津-(名城線)-金山-(名城線)-新瑞橋-(名城線)-八事-(名城線)-本山-( 名城線)-平安通-(上飯田線)-上飯田-(上飯田線)-平安通-(名城線)-久屋大通-( 名城線)-栄-(名城線)-上前津-(名城線)-金山-(名港線)-名古屋港 所要時間: 277(分) 乗車時間: 187(分) 乗換回数: 5(回)×10(分) 折返回数: 4(回)×10(分) intMakeRouteNum = 28236 intRouteNumMax = 42 -- 処理時間: 2(秒) intMakeRouteNum = 594340 intRouteNumMax = 42 |
ルート数は 594,340ルート なので、 97,105ルート の約6倍。
こんなもんかな。
つづく。
0 件のコメント:
コメントを投稿