作者wolfpig (wolfpig)
看板Soft_Job
標題Re: [請益] 演算法以及微處理機?
時間Sat Dec 22 14:13:22 2012
我倒不覺得解法三不算演算法啦~~只是這個例子太簡單了, 所以看不出價值而已.
其實演算法的學術論文中, 的確是有在討論 "如果 XXX 指令存在/不存在的話,
問題的時間複雜度是多少? " 這類的問題...., 這裡 XXX 可以用 floor, ceil,
bit manipulation 之類東西代入...
只是這種改進比較適合特定應用....如果是做多平台的軟體, 這樣改很痛苦...
Bentley 的 programing pearls 1/e 就提到很多這樣的東西, 但是 2/e 就幾
乎沒有了~~ 因為 compiler 的進步幫助很大, 但也不代表有需要不能這樣幹 XD
演算法工程師的定義是什麼?
104 所謂的演算法工程師幾乎都是影像處理相關....好像別的領域都不搞演
算法一樣XD
不知道這個板上大家所謂的演算法工程師是指什麼樣的工作? 我們公司是沒有
這種頭銜, 但是 R&D 工作內容有蠻大部分都是在處理效能的問題, 所以我想
也算演算法工程師吧.
Sorting, MST 之類的問題, 基本上演算法都被 proven 已經是 optimal 了,
從這個角度來說, 真的沒啥好改的了.
但是演算法工程師要做的不是發明新算法吧? 這是 theorist 做的事, 我們
做的是應該是 algorthmic engineering; 例如把 algorithm 的 constant
factor 變小.
我們公司的同事最近就提出一種新的處理流程, 想法很簡單, 但是使用的記
憶體可以變小好幾倍. 這還蠻讓人驚艷的! 我們公司的產品, 花了十年不斷
改進, 既然還有這麼大的改進空間~~
不過從演算法的角度來看, 也只是把 constant factor 變小一點而已. 但
是使用的記憶體從 15G 變成小於 4G 也是很驚人.
※ 引述《jengjian (賺錢花錢賺錢花錢)》之銘言:
: 解法三:
: for(i=0x80000000; i!=0; i=i>>1)
: {
: sum <<= 1;
: if(i&n)
: {
: sum += (1+n);
: }
: }
: sum >>= 1;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.141.105
→ Lordaeron:哪是當初寫的時候沒規劃吧. 12/22 15:08
推 bxxl:通訊IC/系統設計也會用到多名演算法工程師 12/22 17:41
推 funkastic:真的, 實際情況即使是constant factor的改進就很有用了! 12/22 19:05
→ dcam:現在還是很多 8/16-bit controller. 12/22 20:56