作者thinkniht (不下棋=.=)
看板Soft_Job
標題Re: [請益] 演算法以及微處理機?
時間Wed Dec 19 23:04:02 2012
※ 引述《amozartea (單車單)》之銘言:
: ※ 引述《zj4gel (哈囉 你好嗎)》之銘言:
: : 因為之前不是資工以及電機類科
: : 但目前走機電方面,對演算法很有興趣
: : 想詢問一下
: : 若是想了解甚麼是演算法?是方程式
: : 是數學,還是程式? 該聽哪一堂課 或是看哪一本書?
: : 資料結構? 計算機組織?
: : 另外,目前想往韌體工程師方面走
: : 需要懂C 電路圖 8051 組合語言?(debug)用? ..
: : 不知道有沒有課程或是書有詳細介紹微處理機?
: : 需要懂到什麼程度?像是SPI... 介面..
: : 感謝指導!
: 台灣的硬體公司 對演算法的認識是...
: 進去前考你qsort
: (其實很多只要會寫bubble就ok了) 資料結構
: 進去之後的工作是...
: 叫你"優化"程式
: 這時你會發現要優化一些數學函數
: 像是sin, log 之類的...
: 然後你的工作就是在程式裡把sin或log或exp建表...
: 因為查表最快
: 以上就是台灣硬體公司的"演算法"工程師
: 以上 請具備
: 1.新鮮的肝
: 2.會建表
: 3.知道compiler怎麼用
: 4.學歷不要太難看
: 只要有這些 人人都可以當演算法工程師.
我對原文原PO有點疑問:
如果你對甚麼是演算法不了解,為何還認定自己對演算法感興趣咧XD
這裡講一個故事吧
某公司有一個純軟的RD部門有演算法的需求
那邊需要的演算法其實算冷門的,
雖然我覺得進入門檻不高
但我想台灣走那塊的公司大大小小大概不超過5家吧
有意思的是:
1.該部門主管雖然號稱演算法都是他想的,不過他不曉得甚麼是時間複雜度耶XD
2.那邊有個演算法的程式跑很慢,官方說法是「因為處理邏輯太複雜,所以跑很慢」,但
實際原因並非時間複雜度太大問題。
3.那邊的演算方法有問題的,但問題不在時間複雜度,而是演算方法產生的計算結果本身
就是有問題的(爆)
一般人對演算法的認知可能是時間複雜度那些很重要
但就這故事情況來說,時間複雜度並不重要
反正主導者根本不知道甚麼是時間複雜度,就算跑超慢也只要拿「處理邏輯太複雜」為藉
口就好了
那演算法引擎速度慢的原因其實是程式能力的問題,而非演算法能力
與其說是演算法,或許說是解決某問題的處理邏輯會更合適
那是用電腦處理一般需要很多時間和經驗來處理的事情
沒有正確的唯一解,只有最適當的解
而且我覺得最大的問題並非時間或空間上的花費,而是...
如果我是客戶,我會覺得計算結果不能用,想直接自己人工處理算了XD
我說的那間公司,也是有些不錯的技術或寫得漂亮的程式
但是這些東西的創造者,很多都離開公司了
我想他們應該是無法把那些東西拿去用
也就是不管你想出再好的東西,只要你公開出來,你都不能隨意帶走
實際上的演算法職缺,並不一定都跟你預期的一樣
當然啦,該公司的情況還挺特別的,也不能當作是常態啦
我說的內容也只是給大家做個參考
對於自認對演算法工作感興趣的人,我想說...
要想一下,這工作能做一輩子嗎?
我覺得這就像別人說的一樣
當作解謎遊戲玩玩還不錯,當作工作還是算了
不過這只是個人見解啦...
不一定適用於所有人
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.115.27
※ 編輯: thinkniht 來自: 111.249.115.27 (12/19 23:20)
→ hidog:XD 這有點誇張耶 做演算法不知道時間複雜度 12/19 23:27
→ andymai:更誇張的是計算結果有問題!GIGO~有比沒有更糟! 12/19 23:29
→ andymai: ^對使用計算結果的人來說~ 12/19 23:29
那運算結果可以由很多角度來評估好不好
我想如果我是客戶的話
我應該會覺得自己人工處理的結果可能還比較好(不過時間會花費很多)
※ 編輯: thinkniht 來自: 111.249.115.27 (12/19 23:49)
推 rifiz:好奇是哪一家..... 12/20 00:13
推 cansas:其實你說的我有遇過啦 NLP Machine learning的東西都這樣 12/20 02:02
→ cansas:這些東西的Output跟當初的訓練資料有很大關係 資料沒有代表 12/20 02:02
→ cansas:性 跑出來的結果就不好 客戶就不爽 這真的很困擾 12/20 02:03
→ thinkniht:我說的結果問題原因不是輸入問題 而是演算邏輯問題 12/20 08:37
※ 編輯: thinkniht 來自: 114.42.240.248 (12/20 22:01)