參考 題型範例 - 全國高級中等學校技藝競賽平台 工業類

題目:動態路線規劃系統(Dynamic Route Planning System)


問題描述
(一) 動態路線規劃 (Dynamic route planning) 是人工智慧的基本應用之一,它能有智慧地搜尋起點到終點之最短或最佳的路線,當路障點 O (Obstacle points) 臨時增加或解除時,路線規劃必須要重新調整;當起點 S(Starting point) 或終點 T (Target point) 臨時改變時,路線規劃也必要自動隨著改變。 
(二) 如下圖左方所示為 11x11 方陣網格點 (grid point),實體黑色圓形為路障點 O,空心圓形為路線規劃的起點 S,空心方形為路線規劃的終點 T;如下圖中間所示,從起點 S 到終點 T 且避開所有路障點,可以規劃出一條最短的路線 (shortest path);如下圖右方所示,當一個路障點移動到新位置時,可從起點 S 到終點 T 重新規劃出一條最短的路線。但也有例外情形,當路障點 O、起點 S 或終點 T 被移動或設定到新位置時,重新規劃路線而可能找不到任何一條可行路線而宣告規劃失敗。 



(三) 系統設計:(1)請參考以上陳述方法,設計如下圖左方所示具有 11x11 方陣網格點之「動態路線規劃系統」,每個網格點只限制四個放置狀態之一:空置點、路障點 (實體黑色圓形)、起點 S (空心圓形)、或終點 T(空心方形),後面三者間絕不允許有任何重疊放置。(2) 每當滑鼠點選一下初始鍵 Initialization,系統能自動重置後,並隨機產生 32 個路障點、一個起點 S 及一個終點 T;接著,系統自動從起點 S 到終點 T 且避開所有路障點而規劃出一條最短的路線。如此路線存在則顯示『規劃路線成功』,如下圖右方所示;否則顯示『規劃路線失敗』。(3)每當滑鼠點選一個路障點 、起點 S 或終點 T 後,該點即被移除,而可在任一空置點重新放置剛被移除之路障點 、起點 S 或終點 T 於新位置後,系統接著自動再從起點 S 到終點 T 且避開所有路障點而重新規劃出一條最短的路線。如此路線存在則顯示『規劃路線成功』;否則顯示『規劃路線失敗』。(4) 上述系統可重複操作直至滑鼠點選一下 Exit 鍵而離開系統。 



範例一

輸入格式:參考右上圖畫面,當滑鼠點選終點 T 而移動或設定到新位置後。 
輸出格式:系統自動隨著再從起點 S 到終點 T 且避開一些路障點而重新規劃出一條最短的路線,結果為此路線不存在則顯示『規劃路線失敗』,如下圖左方所示。 



範例二

輸入格式:參考右上圖畫面,當滑鼠點選起點 S 而移動或設定到新位置後。
輸出格式:系統自動隨著再從起點 S 到終點 T 且避開一些路障點而重新規劃出一條最短的路線,結果為此路線存在則顯示『規劃路線成功』,如上圖右方所示。



     程式碼下載