算法應用1:夜過吊橋算法的性質

夜過吊橋算法是動態規劃與貪心法的組合應用。對一個具體問題或者一個數據結構的特定問題,選擇算法或者算法的組合應用的判斷方法是什麼?

1.一物一世界

   從一個事物或者物質中可以看到世界所有事物的質,稱爲一物一世界。2010年高錕先生獲得諾貝爾物理學獎,他愛人發表的獲獎感言中有“一沙一世界”,我們修改了一下。高錕先生的成才經歷深刻反映了海外知識分子的獨立自主的奮鬥,侷限與成功,對人的一生感慨萬分。所以要借鑑偉大人物的成功,應具有深刻的理解能力。一人的語言說法就能救度一個人或一個世界,這就是一人一世界,不可認爲“沒有用”。

        夜過吊橋問題能發現算法的本質。

       算法本質是數據組織技術。算法根據數據性質或計算關係(computing relation)將程序數據或輸入數據組織成數據分組,或者部分元素集合(分組),或者根據幾個策略或條件創建子集合,再處理(選擇),操作(比較,移動)和計算(求子向量和,標量乘法的數量),然後實現數據分組的過程數據結構(堆或者快速排序的二叉排序樹),或者擴展最優解的子集(工作集合)。

       動態規劃是劃分子問題,選擇最優子問題的組合方式。若問題數量是n,則子問題組合集合是:

      {(n-1,1),(n-2,2),...,((n-1)/2,(n-1)/2}。選擇最優子問題組合,“必須”知道子問題n-1,n-2,...,[n]/2的最優解。從子問題最優解中找到m每一次選擇的最佳策略。夜過吊橋的最佳策略是:最小返回時間和最大重疊時間。

     貪心法是根據最佳策略創建子集合,在子集合中選擇。夜過吊橋問題有兩個最佳策略,則構成子集合:

   {(1,3),(10,12)}在兩個元素組合中,選擇先後順序,而不是誰被選擇,另一個將不再被選擇。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章