下載 APKPure App
可在安卓獲取Smart Rockets的歷史版本
關於遺傳算法如何工作要達到的目標交互式演示。
這是一個演示遺傳算法如何工作的應用程序。
它基本上由一堆必須達到目標的火箭組成,避免了用戶繪製的障礙物。
他們必須通過在開始時嘗試隨機指示,然後選擇最適合解決方案的方法來學習獲勝的路徑。他們還必須適應不斷變化的環境,就像幾個世紀以來的生物一樣。
修改參數(種群大小,突變率,速度和壽命),您可以看到它們如何影響進化。
它是如何工作的:
每枚火箭都有一個設定其軌蹟的DNA(影響他在每一幀的速度)。在開始時,這是隨機生成的。
在接下來的每一代中,火箭的DNA都來自上一代的兩個“父母”;火箭作為下一代父母的機會與各種因素成正比:勝利,超越障礙的機會,死亡,與目標的距離等等......
影響模擬的變量:
- 生命時間:死亡前允許進入火箭的步數。
- 突變定量:每一步都有機會改變其初始DNA並在該點採取隨機方向。
- 火箭數量:數量越高,系統將越適應。
設置菜單:
- 跳過代:禁用渲染並以最大速度執行模擬(在表格或圖表中顯示結果)
- 切換到模式:允許從經典模式切換到GPU加速模式,反之亦然。警告:所有設備都不支持GPU加速模式,因此可能會導致應用程序出錯。
- 重置火箭:將火箭狀態(DNA)重置為初始狀態(不修改障礙物和目標)
- 加載/導出,保存和導入:使用這三個按鈕,您可以加載/保存模擬,或從設備內部存儲器導出/導入文件(.srk)。
- 其他設置:可通過屏幕頂部的設置圖標或通過單擊設備的後退按鈕進行訪問,您可以在此處編輯在應用程序啟動時選擇的模擬設置。
GPGPU功能:
此應用程序還使用Android Renderscript框架開發,允許在並行計算方面利用GPU優勢。不幸的是,它並沒有在所有設備上得到很好的支持,因此可能效果不佳;在這種情況下,僅使用經典模式。
它是如何工作的?在每個火箭上執行的任務是在GPU上並行完成的,其架構設計用於同時處理許多任務(只需考慮圖像渲染,該圖像的每個像素都必須單獨評估)。
遺傳算法通常與圖形無關,但它們的性質與並行計算非常吻合:它們是GPGPU特別成功實現的一個例子(圖形處理單元上的通用編程)
保存文件:
最新版本使用二進製文件而不是純文本,這樣可以減少使用內存的十倍和讀/寫時間;您仍然可以從舊版本加載文件(而不是導出)。
導出的文件保存在內部存儲根目錄的默認目錄SmartRockets中。我們嘗試了幾個文件管理器,你應該能夠加載一個.srk文件,只需點擊它(甚至從谷歌驅動器,WhatsApp或電報等...)或在顯示的列表中選擇我們的應用程序。唯一給我們帶來一些問題的是來自三星的“我的文件”,有時候甚至沒有顯示“打開”的選項就沒有打開文件;在這種情況下,您可以上傳到Google雲端硬盤或通過其他文件管理器打開它。