Just My Life & My Work

Posts tagged ‘algorithm’

關於AlphaGo的想法

上週電腦資訊界最夯的新聞是AlphaGo對戰韓國圍棋九段棋手,對圍棋沒有特別興趣的我也會關心這場盛事,除了因為現在的人工智慧讓我好奇程度已經發展到哪,更由於AlphaGo的作者是我的師大資工的學長黃士傑,讓我想起還在大學和研究所時和他互動的情景,他認真地當林順喜老師的課程助教讓我深感他如此敬業,相較我曾當過阿喜高等演算法助教,可是就沒有他那麼熱誠,還會額外找時間教導學弟妹課業相關問題!

AlphaGo

(繼續閱讀…)

MD5 雜湊演算法

MD5是一種單向字串雜湊演算 (Hashing),它可以將我們所給予的任何長度字串,利用MD5雜湊演算法,獲得一個長度為128 位元 (32 個十六進制數字)的計算結果。

例如:HappyMan的MD5是e51d97746fe2a5d83cf938d581e57389,共32個字元。

MD5 HappyMan

MD5無法互轉。

我台大數學修過密碼學的朋友,這麼生活化地描述:

在網際網路傳遞檔案的同時,必須確定檔案資料的正確性且未被竄改。其中最常被使用的技術即是MD5雜湊演算法。

MD5雜湊演算法可以將任意長度的資料經由運算之後,得到一組固定長度為128 位元 (32 個十六進制數字)的結果,我們可以使用這個結果當作檢查碼 (Checksum)

當我們下載完檔案後,可利用MD5檢查程式將下載好的檔案再產生檢查碼,接著比對產生出來的檢查碼和網頁公告的檢查碼是否一致,便可得知經過傳遞之後的檔案是否與原檔案完全相同。

(繼續閱讀…)

[C++] 演算法執行時間 (Algorithm Time of Execution)

演算法感興趣的我,一直想知道自己寫的程式的效能如何,所以這一次特別來瞭解演算法執行時間 (Algorithm Time of Execution)。同一流程可以由不同的演算法來達到同一效果,可是在效能方面或多或少就有差別了~

(繼續閱讀…)

台北捷運路線查詢系統 (Taipei MRT Route Query System)

台北捷運路線查詢系統」是我碩一高等演算法的最後一個(第五個)程式作業,這個作業是我認為五個作業裡最有價值的一個,為什麼呢?因為有跟生活產生關係,不只是為了交差而寫,更是為了我的生活而寫,多麼有成就感哪~

廣告

事實上我每個作業除了寫完程式之外,還會將實做過程細節給記錄下來,因為我相信未來一定還會用到這些資料,果真這時候的我直接複製貼上到部落格XD~還是要再次感謝過去的我如此有遠見,寫了整整18頁A4的報告,在此我將濃縮報告精華,期許哪天我能把它寫成APP:)

廣告
(繼續閱讀…)

路徑覆蓋 (Path Cover)

前不久在改高演期末考卷,發現一題有趣的題目,給定一個有向圖,請用minimum path cover為何?之前都沒有學過類似的概念,於是我上往查了些資料,才知道如何解決這一題!

(繼續閱讀…)

成語接龍之最長序列 (The Longest Sequence of Idioms Solitaire)

這是本學期高等演算法最後一次(第四次)作業,去年我修課時,阿喜老師有提到,我覺得相當有趣,不過當時他出了台北捷運路線圖的題目,做完之後很有成就感,因為可以把所學用在日常生活上。今年阿喜老師真的把成語接龍當作作業了!

(繼續閱讀…)

二元空間分割樹 (Binary Space Partitioning Tree)

Binary Space Partioning Tree英文簡稱為BSP Tree,二元空間分割樹,簡稱為二叉樹。它於1969年被Schumacker在文章《Study for Applying Computer-Generated Images to Visual Simulation》首次提出,並被ID公司第一次使用到FPS遊戲Doom中,Doom的推出獲得了空前的成功,不僅奠定了ID公司在FPS遊戲開發的宗師地位,也使BSP技術成為室內渲染的工業標準,從BSP產生到現在已經有30多年了,其間雖然產生了大量的室內渲染的算法,但卻無人能撼動它的地位,對於以摩爾定律發展的計算機業來說這不能不是一個奇蹟。

(繼續閱讀…)

[C++] 計算程式執行時間 (Compute Time of Execution)

大二演算法和碩一高等演算法都需要計算程式執行時間 (Compute Time of Execution),藉此來分析演算法的效能,雖然現在中央處理器快到讓我們人感覺不太出來,不過在處理上億次的迴圈依然有需要,讓我們知道,一個小小的運算累積起來影響多大,正所謂:差之毫釐,失之千里

(繼續閱讀…)

標籤雲