官术网_书友最值得收藏!

2.2 計算機語言的精華:算法

算法(Algorithm)是指對解題方案的準確而完整的描述,是一系列用于解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略的機制。也就是說,算法能夠利用遵從一定規范的輸入,在有限時間內獲得所要求的輸出。算法中的指令描述的是一個計算過程,當其執行時能從初始狀態和初始輸入(可能為空的)開始,經過一系列有限而定義清晰的狀態,最終產生輸出并停止于一個終止狀態。一個狀態到另一個狀態的轉移不一定是確定的。

顯然,上述嚴謹的定義并不適用于初學者,尤其是沒有系統學習過算法導論的人。簡單地說,算法描述了一個過程,即如何完成一項特定的任務。而計算機語言的精華就在于此:使用不同的算法完成不同的任務。

比如,機器人SLAM(Simultaneous Localization And Mapping,即時定位與制圖)算法的流程可以大致表示為:

(1)每隔2s從獲取的圖像中提取視覺特征;

(2)判斷物體是否為障礙物;

(3)如果是障礙物,則選擇旋轉方向,尋找其他可行進路線;

(4)如果不是障礙物,則計算當前位置相對前一個點位的距離并存儲;

(5)機器人閉環行走一周回到原點后,將整個行走軌跡繪圖。

這個算法并不復雜,它由循環執行、順序執行以及判斷操作組成。再復雜的算法其實也是由這些基本操作構成的。因此,在之后的內容中將會介紹一些非常簡單的Python操作,就是這些非常簡單的操作最后構成了復雜的算法。

主站蜘蛛池模板: 土默特左旗| 凯里市| 颍上县| 宝坻区| 湛江市| 屯留县| 建湖县| 通许县| 西充县| 合阳县| 普兰店市| 北票市| 望江县| 花垣县| 达孜县| 巧家县| 聂拉木县| 萨迦县| 聊城市| 平湖市| 德安县| 黄山市| 穆棱市| 澎湖县| 富宁县| 西华县| 南江县| 柘城县| 乌拉特后旗| 龙江县| 巴塘县| 嘉定区| 兴化市| 山阳县| 安新县| 鱼台县| 敖汉旗| 雅江县| 建水县| 沧州市| 盘山县|