Tank目前才剛開始發展,不過我想如果能夠將一些常見的演算法的話,可以更快地推動它的發展。”

公開演算法即開放這些原始碼,林鴻一直相信,開源是一種正面的力量,可以促進技術的發展。閉門造車,敝帚自珍是技術提升的最大阻力。

林鴻將自己的想法跟吳東說了一遍,他建議吳東建立一個開源社群,將目前已經成熟的常見演算法,以及最新演算法都整理一下,然後公佈給大家,讓新加入的人有現成的演算法可以研究,儘快地上手,而不是像現在這樣,都必須得自己獨自摸索,好不容易發現一個演算法,結果是別人早就已經編寫出來過的。

開源的好處就在於可以擁有大量的學習例項,並且不用浪費時間進行重複勞動,這樣,其他人可以站在別人的肩膀之上進行改進和創造。如此一來,後面出現的演算法,只會越來越強悍。

吳東聽到他的話,不得不承認非常有道理。

他之前的眼界還是太狹窄了,老是侷限在自己的學校裡面,根本沒有從全域性考慮。

“你說得對,這樣一來,RoboTank的整體水平要提升很快。”吳東點點頭,“我立刻著手開始組建這個社群,不但要將這些演算法整理一下。並且還要將RoboTank的入門級教程整理出來。讓更多的人更容易加入這個陣營當中來。”

林鴻點點頭:“我寫一個大綱目錄給你,你們按照這個目錄針對性地編寫教程。”

吳東一聽大喜:“那太好了!”

有林鴻親自操刀編寫教程大綱目錄,簡直再好不過。

有關技術文件之類的基礎類教程。林鴻就沒有管了,只是讓吳東讓人將這份教程再豐富一點,加入一些例項進行說明。讓初學者可以上機進行實驗,驗證教程中所涉及到的內容。

林鴻主要寫大綱的部分,是演算法部分。

這部分的演算法,主要可以分為瞄準演算法和移動演算法,再具體一點,就可以分為模式匹配、統計學、反統計學等。

這些都是這次的比賽過程中所涉及到的,林鴻將這些演算法一一拆分,每個演算法都拆分成幾個步驟,讓人分開將這些演算法詳細介紹。

例如基本的移動策略就包括直線運動、圓周運動、隨機運動、跟蹤敵人運動以及重複震盪運動等等等等。

而瞄準策略也可以包括正對瞄準、直線瞄準、統計學瞄準、最佳角度瞄準、波形瞄準等等等等。

這幾個演算法都非常具有代表性。並且只是最基本的,要想自己發揮,可以進行一些修改。加入一些微調元素。就可以達到非常好的效果。

其中;林鴻重點提到了一種“波”的概念,這種概念涉及到很多方面。例如。他之前所使用的衝浪演算法,就假設出了對方的“攻擊波”,除此之外,還可以假設“重力波”、“磁力波”等等。

當吳東聽到這個概念的時候,並沒有怎麼理解,他重點詢問了一下林鴻。

重力波就是模擬重力場,即在重力場的作用下,物體總是遠離重力勢高的點,滑向重力勢低的點。

開始的時候,競技場是一個平面,然後生成一些勢點重力勢大的勢點的作用就像是一個山,起排斥作用,其衰減係數與山的坡度對應。重力勢小的勢點的作用就像是一個低谷,起吸引作用,其衰減係數與谷的坡度對應。

這樣使本來的平面變得不平了,從來物體沿著最陡的方向向下滑動。

而“磁力波”則與之相反。

這是一種模擬自然界的物理量的演算法,利用這些常見的物理原理,如重力、磁力、衝浪等,往往可以實現非常不錯的效果。

林鴻的話,給了吳東很大的啟發,他自己後來也舉一反三地提出了小有名氣的“雪茄煙圈”演算法,在後來的全國比賽中