演算法即動畫!在線互動式可視化平台,GitHub超2萬星
【新智元導讀】從文本和靜態圖像學習演算法又無聊又難懂。當我們以編程方式展示演算法的時候,由於演算法本身和抽象代碼的複雜概念,很難想像出要執行的演算法的程序。而互動式的在線平台Algorithm Visualizer)可以從代碼中可視化演算法,從而能夠讓我們能夠以一種更加直觀、更加有趣的形式去理解演算法。
一圖勝千言。亞里士多德認為,人類在各種感覺中最偏重視覺。
視覺信息佔全部感覺信息的80%以上。科學家發現,人類和靈長類動物的大腦皮層內有至少32個區域(即佔大腦皮層一半以上的區域)參與視覺信息處理。
可視化利用視覺系統來增強人類的智力,讓我們更好地理解抽象概念或者過程,比如機器學習中的各種演算法。
我們知道,從文本和靜態圖像來學習演算法既枯燥又難懂。當我們以編程方式展示演算法的時候,由於演算法本身和抽象代碼的複雜概念,很難想像出要執行的演算法的程序。
這種抽象演算法的程序學習不僅涉及代碼,還涉及實際運行程序時的日誌,因此很多人想方設法為演算法生成動畫,從而讓我們能夠以一種更加直觀、更加有趣的形式去理解演算法。
要實現演算法可視化,很難實現像做Excel餅圖那樣,填入數據然後生成柱狀的或者餅狀的圖形的操作,其中還存在描述行為的邏輯規則。
今天新智元為大家介紹一個名為「演算法可視化器(Algorithm Visualizer)」的互動式的在線平台,可以從代碼中可視化演算法,解決了上述問題。該工具在GitHub上超過2.1萬星!
Algorithm Visualizer提供了各種語言的可視化工具,包括JavaScript,Java和C ++。其UI由4個部分組成:工具欄、側邊欄、查看器和編輯器。
工具欄包含用戶的配置文件和用於控制可視化的按鈕。用戶還可以將演算法保存到GitHub Gist或在Facebook上分享。
左側邊欄顯示了一組公共演算法,除了用戶的臨時文件之外,其他人也提供了這些演算法。查看器是實際可視化發生的地方。它還查看演算法的描述。最後,編輯器允許用戶記下他們自己的演算法以進行可視化。
該項目由3個名為演算法、跟蹤器和演算法可視化器的存儲庫組成。
- 「algorithms」存儲庫包含側欄上顯示的公共演算法
- 「tracers」存儲庫包含用每種支持的語言編寫的可視化庫
- 「algorithm-visualizer」存儲庫包含用React.js編寫的前端和用Node.js編寫的後端
當後端編譯並運行代碼時,可視化庫會發出更改日誌。然後,後端將更改日誌傳遞到前端,前端逐步解釋並呈現它,最終我們看到了一個完整的演算法實現過程
平台地址:
https://algorithm-visualizer.org
GitHub地址:
https://github.com/algorithm-visualizer/algorithm-visualizer


※清華大學成立智能機器人研究中心,孫富春教授擔綱中心主任
※CVPR 2019最佳論文重磅出爐!李飛飛獲計算機視覺基礎貢獻獎
TAG:新智元 |