計算機演算法在數學證明中都是可推導的嗎?

時間 2021-05-05 19:23:39

1樓:

#include

void

collatz

(unsigned

intn

)printf

("1");}

考拉茲猜想(冰雹序列)能夠被數學證明麼?

一切計算機演算法問題根本上都是數學問題,計算機只是乙個只會按照一定速度進行預定的一步一步的演繹推理的數學機器而已呀。

2樓:

有沒有可能,目前有些演算法無法被數學原因徹底解釋清楚,但是已經被採用以解決實際問題?

——有可能,機器學習學出來的演算法就是,數學並沒有告訴阿法狗到底該怎麼下棋。

如果有,那麼這種以演算法完成工程學目標的做法是否可以用來進行純理論數學研究推導,從而逆向解決當前的某些數學問題,比如說某些無窮舉的證明問題。

——不可能。你理解一下這句話:不是數學證明100%正確,而是任何100%正確的推理過程都是數學證明。

3樓:黃宇

對下面這個問題有些興趣,做些闡述,或許偏離了作者原本的問題:

有沒有可能,目前有些演算法無法被數學原因徹底解釋清楚,但是已經被採用以解決實際問題?

「沒有在數學上嚴格徹底地解釋清楚,但是實際中解決重要問題」的情況是屢見不鮮的。在計算機技術領域,在其它工程領域,有很多例子。

更重要的是,即使在數學領域內部也有例子。當初微積分剛剛被發明的時候,有一些基礎性的問題是沒有完全弄清楚的。但是這並不妨礙微積分在很多任務程領域發揮重大作用。

後來,柯西,威爾斯特拉斯等人完成了微積分的嚴格化。

4樓:

Ruby (一門物件導向的指令碼語言)它爹說過,西方有條諺語:

如果它走路像鴨子,叫聲像鴨子,長得像鴨子,那麼它就是鴨子。

不好意思,其實數學和電腦科學之間的聯絡不比其他學科,比如化學和數學之間的聯絡密切。

再者,為什麼浮點數/小數能有階乘也是乙個例子。

以解決實際問題為目的的演算法,通常只考慮其輸出是否符合預期,沒人關心黑盒子裡面是什麼,通常用的也不是數學的邏輯。

就和目前的人工智慧這東西一樣,能做出有智慧型的假象,但是和人思考的方式很有可能是完全相悖的。

問題就在於,為什麼人能輕易從 1+1=2 理解乘法,卻不能進一步理解更加抽象的概念。

因為這概念為了能夠被人有限的頭腦理解,都是要基於一些假設的。

5樓:dwcz

演算法即做事的方法,方法是可證明的,但分事前證明和事後證明。一般,人們喜歡能事前證明的,不喜歡事後證明的。所以,計算機演算法都為能事前證明的。

現在,人工智慧有向「事後證明」的發展趨勢。

6樓:趙新輝

很久以前機器證明以及演算法就是研究問題的捷徑,但是,不能用演算法代替。我自己理解,沒有精確解得時候,那麼就用演算法的值任意逼近精確值但是這畢竟不是精確值。演算法不能解析一切,對純數學的幫助也不是很大,比如群論比如拓撲。。

諸如此類。才疏學淺,一笑。

7樓:朴敏鐘

從題主說的數學證明上可推導來說,一部分演算法的確是不可以證明推導的,也有一部分可推導但是無法具體驗證。這個和物理有點類似,絕大部分物理理論都基於數學推理,但並不說明推出來的在現實條件下正確,因為它們基於自己的推理假設。

首先我們要確立一點,能夠在邏輯上推導的,不代表其可以被證明或者證偽。存在一類命題,可以進行正確推導演繹,但是不能說明命題的正確性。以三段論作為不恰當的例子:

大前提:可以反射的是固體

小前提:光可以反射

結論:光是固體

這明顯就是不正確的,但是從推理的過程來說,並沒有太大問題。大前提導致了結論的錯誤。但如果我們把大前提放的更模糊或更強,我們能得到更加接近正確結論。

甚至可以得到進行可數個實驗,也無法驗證錯誤結論為錯的情況(如果我們改成無窮實驗是可以找到,但是不能做無窮個實驗啊)。在數理邏輯中,有乙個哥德爾不完備性定理,指出了既不能被證明也不能被證偽的命題的存在。

其次,有一部分的啟發式隨機演算法,我們可以描述其中引數變換過程,或者狀態轉移過程,但是不能對演算法的收斂性或者複雜度或者其他特性進行描述。例如當乙個演算法具有某些輸入敏感特性的時候,收斂性會具有較大的差別。我舉個我熟悉的例子,對於TSP問題的處理,如果採用臨近路徑最短選擇方案。

當我們採用200個隨機點,和200個在圓周上的點來做輸入的時候,會有輸入敏感問題,在圓周上的輸入會快一些。雖然從城市規模來說,200點問題的規模是一致的,但是他們的結構複雜度不同。如果取200點之間距離都是相等的,所有路徑長度都變成一致的時候,以上面的臨近最短選擇方案會更有問題。

還有乙個有趣的事是,假如你設定了200點在一條直線上,如果沒有對演算法進行容錯處理,必然會出錯。由於TSP問題搜尋的是迴路,即使我們認為直線上的最短路徑為端點連線長的2倍,某些搜尋方法也不能完成搜尋出最短距離任務。在搜尋過程中會出現棧空間錯誤等情況。

我在自己的實驗中遇到了這個問題,演算法雖能夠處理隨機布點,但不能處理某一類有規律的布點方案。

8樓:Yuning Chen

都叫「演算法」了,怎麼會無法被數學語言表達清楚?演算法不是計算機領域獨有的東西,只是程式設計實踐了這些演算法而已。演算法的研究應該算在數學領域裡。

9樓:HumJ

在軟體開發中,演算法部分都是由嚴謹的數學推導而來,是可以證實的。

但有業務邏輯在實行時經常產生各種各樣的意外狀況,比如斷網、斷電、IO故障,未知的使用者輸入,注入攻擊等,這些狀況對軟體本身的影響是無法預估的,所以只能通過不斷的測試來完善。

10樓:趙zhijian

瀉藥,計算機裡面的東西當然是經過數學證明的,至於一些演算法的話,有些只是乙個模型,並不一定是最優解,當然資料問題也是抽象出來的,沒有那麼多前提假設也是無法證明的吧

11樓:kqwyf

例如各類遺傳演算法。

比如模仿DNA變異的演算法,數學上很難說明它怎樣會在較優時間內得到較優解,但畢竟生物進化的事實如此,該用還是要用的。

12樓:宇哥

個人認為:數學及其他自然科學定理是發現出來的。而計算機是在自然科學的基礎上發明出來的。

演算法也肯定不是本來就有的,是人類提出來並完善的。演算法提出來就是解決問題難題的。私以為,只要是正確的,符合客觀規律的東西,都是可推導的,只是時間問題,不過問題不斷有,理論不斷產生,知識體系也不斷龐大,總會有未知的東西冒出來。

用計算機證明數學命題可行嗎?

可行,這本身就是研發計算機的早期目標之一 把數學研究乃至演繹推理徹底自動化 Automated reasoning 直到現在也是電腦科學的乙個專門分支,雖然發展後勁遠遠跟不上前輩對它的期望就是了 本來是想從這條道路直接得到有自主思考能力的計算機 比較腦洞大開的思路是什麼呢?注意到電腦程式本身如何改進...

在數學或是電腦科學中,有什麼優美的結論會有一些小的特例不滿足?

YangL 平面圖的染色問題也挺有意思 給定乙個平面圖G,問G是不是可以被k種顏色染色。k 1時,問題是P的。k 2時,問題是P的。k 3時,問題變成NP complete的了。k 4,5,6.時,問題又變回P的了。 Yifan 在低維拓撲中,有乙個曾經很著名的猜想 Heawood Conjectu...

計算幾何和計算機圖形學是什麼關係?在數學裡的什麼地位?

Jiangxh1992 計算幾何可以說是數學圖形方面的最基本工具,形狀的數位化表示和分析,可以在計算機中表達和視覺化的數位化表示以及分析,另外結合線性代數 離散線性表示等通過關係表示式對圖形資料進行操作處理,與計算機中的矩陣圖形網格 顏色矩陣 結合對接,計算機實現圖形和影象資料的轉換從而與自然界景象...