為什麼機器連最簡單的演算法都寫不出來?

時間 2021-05-07 20:19:56

1樓:MisT大野兔

抖個機靈

演算法的性質:有窮、確定、可行

如果需要設計一套生成演算法的通用演算法,那它是不是需要首先有能力驗證生成的操作集合是否滿足這三條基本性質呢?

第一條有窮性的判定似乎就辦不到,因為頭頂壓了停機悖論的大山。

我不是搞可算理論的,這個理解可能很粗淺,如果有錯求指出求輕噴

回答裡有人提到深度學習(包括深度強化學習),個人認為目前的深度學習能做的離「設計乙個通用演算法」這個目標還很遠

給乙個模型喂大量資料,它或許能訓練出乙個模型,在輸入規模n≤1000的時候輸出正確排序的序列。但是n=10000的時候呢?n=1000000呢?

DL能得到的只是乙個固定模型(乙個神經網路)在特定任務中的引數估計,和設計乙個確定演算法這個目標差的還很遠。實際上設計通用演算法這個問題應該已經是強AI的研究範疇了,目前的深度學習乃至整個連線學派短期內應該都是無能為力的

為什麼一年級小朋友自然就會排序了,要解決這個問題可能要先解答很多一直都沒人說得清的問題

比如:人腦如何組織數值運算與邏輯推理?

實際上人腦的運作方式(雖然還沒有人搞明白它的每個細節)和圖靈機模型完全不一樣。因此「讓一年級小朋友學會排序」和「設計乙個排序演算法」是完全不同、幾乎沒有可比性的兩件事。

2樓:wormsbaby

首先,這個問題本身是個問題。什麼是演算法?簡單說來,是為了完成乙個目標,依據一定的規則,用一種正規化,所定義的一組程式/過程。

按照人類的理解,機器按照給定的約束,寫出乙個演算法自然不是問題。但是你的問題是給定乙個目標,由機器自己去識別和設計並按照乙個可理解的方式得到這個程式。那麼首先要解決的不是演算法本身,而是先跟機器說好,什麼是目標,目標的定義和目的,如果機器理解的目標跟我們不同,那麼還是我們要的演算法嗎?

比如你要做乙個排序演算法,自然數由小到大,那麼這個演算法對你而言可能是冒泡法,可能是插序法,但是機器可能理解的是延時法,儲存長度法,耗電量法,你接受嗎?對你而言,演算法的計算量是優先考量,對機器而言,策略或許完全不同。它對於大小的定義也許根本和你不一樣。

如果機器真的具備意識,那麼它恐怕首先需要讓你理解的是,它們的世界觀。然後才能告訴它的演算法。手機碼字太累,有興趣找地方慢聊。

3樓:wulonchia

演算法是什麼?說穿了,它就是人類的解題思路。計算機不了解也不需要了解人類的這些思路,它可以用它的方式解決問題。

機器學習裡的強化學習(reinforcement learning)就是如此。

4樓:寒冬盼暖春

不要小看簡單演算法,這是人類創造力的結果,是一代代智慧型的結晶,然而機器寫出這樣的演算法,在他的大腦裡必須有乙個未知量,也就是創新能力,然而這個能力是人類獨有的,要在機器身上實現這個就要在研究人上下功夫!說實話人類到現在連自己都沒有研究透徹。

5樓:danger ace

1年級小朋友也是通過學習,也就是別人的教授才有能力排序的,沒有誰生下來就會這個。

計算機也一樣,你編寫程式就相當於教授計算機怎麼排序。甚至你編寫乙個函式或者模組名叫「排序」,以後只需要輸入命令「排序」,就能用那個函式或者模組進行排序了,看起來不就是機器自己會排序了麼?

畢業答辯連最簡單的問題都回答不上來是什麼體驗?

Bruce殺馬特 就是那種台下觀眾都想幫你搶答的感覺,就是那種提問老師想打自己嘴巴的感覺,就是旁邊老師要 羅老師別這樣,羅老師別這樣 的感覺。我室友就是這樣子,資料分析什麼的都是別人幫忙搞的,自己其實一點都不會,結果答辯老師提問第乙個問題就尬住了。 但聞朝歌 是我沒錯了,重要名詞含義沒回答上來,我寫...

為什麼別人Python寫的演算法解題只要10多秒,我的要10分鐘?

用c寫120ms左右 1.6GHz inti,j k charn 10 m 11 chars 10 j 0 while n 9 s 9 0 printf s s s m n 0 1 dowhile m n 0 0 m n 0 0 while n j 9 while m n j j m n j j w...

為什麼說intp是最溫暖的機器?

晰晰冉冉 我和殭屍有個約會 裡的殭屍王將臣應該就是intp型別的。生於女媧造人之前,帶著工作和任務來到地球,但因為地球是一片荒蕪,所以數千年數萬年處在無聊中,閒來無事就睡覺,偶爾睜開眼睛看見的也是一片荒蕪,最後連自己是幹啥的都忘了,直到女媧出現在他眼前,失憶後的他第一次聽見聲音,看見顏色,看見異性,...