您現在的位置是:首頁 > 動漫首頁動漫

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

由 老胡說科學 發表于 動漫2023-01-21
簡介對於像這樣的問題,最有力的方法之一是統計方法∶隨機地取一點,看它是否屬於K,把對K的體積的估計建立在這個點落入K中的頻度上

雲南到福建要做核酸嗎

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

從一個簡單的方程說起,

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

顯然,這個方程(至少)有一個解。因為,令 f(x)= x^5-x-13,有f(1)=-13,f(2)=17。所以,在1和2之間必有一個x使f(x)=0。

這是

純粹存在論證

的一個例子,這種論證告訴你有什麼東西存在(在此例中,是一個方程的解),但是沒有說怎樣去求它。如果方程是x^2-x-13=0,就可以用一種全然不同的論證。二次方程求根的公式告訴我們,恰好有兩個解,它甚至告訴我們解是什麼它們是

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

但是對於五次方程就沒有類似的公式。

這兩種論證表現了數學的基本的兩分法。如果要證明一個數學物件的存在,有時可以顯式地證明,就是實實在在地描述那個物件;也可以間接地去證明,就是證明如果它不存在就會引起矛盾。

介於其間還有種種可能性,形成一個譜。如所說明過的,上一個論證只是說明,在1與2之間,方程x^5-x-13=0有一個解,但它也建議了一種方法來計算這個解,精確到如你所需。例如,如果需要精確到兩位小數,可以取一串數∶1,1。01,1。02,…,1。99,2,然後在每一點估算f的值。就會發現,f(1。71)近似為 -0。0889,而 f(1。72)近似為0。3337,所以其間必有一個解(計算表明,此解更靠近1。71)。事實上還有更好的方法,例如牛頓方法去逼近一個解。對於許多目的,一個漂亮的解的公式不如計算或逼近這個解的方法更重要。而如果有了一個方法,它是否有用,還要看它執行快不快。

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

這樣,在譜的一端有簡單的定義一個熟悉物件的公式,它還可以容易地用來求出這個物件,而在譜的另一端,則有能夠確立物件的存在性但不給出進一步的資訊的證明,介乎其間的還有能夠用以找出物件的演算法,這些演算法執行起來越快,其用處就越大。

和關於嚴格性的問題一樣,如果一切其他條件都相同,則嚴格的論證優於不嚴格的論證。現在,(在直接和間接論證的問題上,也是)即使已經知道有間接存在證明,找到一個顯式的有演算法的論證仍然是值得的,其理由也是類似的∶

尋求顯式論證所花的力氣時常導致新的數學洞察(不那麼明顯的是∶尋找間接論證的努力,有時也會帶來新的洞察)。

純粹存在證明的最著名的例子之一是關於

超越數

的。超越數就是那些不可能是任意整數係數的多項式方程的根的實數。有這種數存在的第一個證明是劉維爾在1844年給出的。他證明了有一個條件足以保證一個數是超越的,而且證明了構造出滿足這種條件的數也是容易的。 後來,各種重要的數如e,π都被證明是超越數,但是這些證明都很難。甚至到了現在,仍有許多數幾乎肯定是超越數,但是就是證明不出來。

以上所說的證明全都是直接顯式的。然後,到了1873年康託利用了他的可數性理論給出了超越數存在的完全不同的證明。他證明了代數數成一可數集合,而實數構成一個不可數集合。

因為可數集合遠小於不可數集合,這表明幾乎每一個實數(雖然不一定是幾乎每一個你真正見到的實數)都是超越數。

就這個例子而言,兩種論證的每一種都告訴了我們另一種論證所沒有告訴我們的事。康託的證明告訴了我們確有超越數存在,但卻一個例子也沒有給我們。

嚴格說來,這也不是真的∶可以指定一種方法把代數數排成一個單子,然後對這個單子應用康託著名的對角線論證法,就可以找到一個超越數,然而這樣找出來的超越數基本上沒有任何含義。

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

劉維爾的證明在一個方面要好得多,因為它給了我們一個方法,用直截了當的定義來構造出幾個超越數。然而,如果只知道劉維爾的那種直接論證以及e,π為超越數的證明,就可能得到一個印象,即超越數是一種很特殊的數。 有一種洞察在這些論證裡完全見不到,但在康託的證明裡面出現了,即典型的實數是超越數。

在 20世紀的大部分時間裡,高度抽象的間接證明大行其道,但是在最近的年代,特別是因為有計算機的發明,態度起了變化。近來,得到更多注意的是∶

一個證明是否為顯式的,如果是,又是否能匯出有效率的演算法。

無需說明,演算法本身就是有趣的,這還不盡是由於它們給予數學證明的視角。 我們簡短地描述一個特別有趣的演算法,它給出了一種計算高維凸體體積的方法。

一個圖形

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

稱為凸體,是指在K內任取兩點z與y,則連線x與g的直線段全在K內。例如,正方形和三角形都是凸的,而五角星就不是。這個概念可以直接推廣到 n 維情況,n 是任意正整數。面積和體積的概念也能這樣推廣。

現在設在以下意義上指定了一個 n 維的凸體K,即設有了一個執行很快的計算機程式,它能告訴我們每一個點(x_1,…,x_n)是否屬於K。怎樣來估計K的體積呢?對於像這樣的問題,最有力的方法之一是統計方法∶隨機地取一點,看它是否屬於K,把對K的體積的估計建立在這個點落入K中的頻度上。例如,想估計π,就取一個半徑為1的圓,把它放在一個邊長為2的正方形裡面,然後從這個正方形裡隨機地取許多點。每一個點屬於此圓的機率都是π/4,所以把落入圓內的點佔點的總數的比乘以4,就得到π的估計。

這個途徑對於很低的維數是很容易起作用的,但是當維數很高時,卻會遇到很大的困難。例如設我們想用這個方法估計n維球的體積。把這個球放在一個 n 維立方體裡面,也去看這個點落入球內的頻度。然而,n維球的體積佔n維立方體體積的比卻是

指數的小

,這就是說,在球內找到一個點前,先要投的點的數目是指數的大。所以這個方法變得不切實用。

為什麼計算高維凸體的體積非常困難?什麼是數學的純粹存在證明?

然而,因為還有一個計策可以繞過這個困難。可以定義一個凸體的序列K_0,K_1,…,K_m,使每一個凸體都包含於下一個凸體內,而從想要計算其體積的凸體開始(即想計算Ko的體積),而終於一個立方體(即K_m是一個立方體),並且使得K_i的體積至少是K+1的體積的一半。於是對每一個i,都要估計一下K_(i-1)與K_i的體積之比。這些比的乘積就是K_0與K_m的體積比。但是K_m(立方體)的體積是知道的,所以就得到 K_0的體積。

怎樣來估計K_(i-1)與K_i的體積之比呢?只需簡單地隨機取K_i的點,並且看有多少落入 K_(I-1)中。然而就是在這裡,問題的微妙之處出現了∶

怎樣從知之不多的凸體裡隨機取點呢?

在n維立方體裡隨機取點是容易的,只需要獨立地選取n個隨機數x_1,…,x_n,而每一個x_i都在 -1和 +1 之間。但是對於一個凸體這就非常不容易了。

這才是數學

[英] 喬·博勒

成功勵志

免費閱讀

有一個奇妙的聰明辦法來回避這個問題。這就是小心地設計一個

隨機遊動

,從凸體內的一點開始,而在每一步,移動到的點可以從幾個不多的可能性中隨機選擇。 隨著隨機的遊動步數越多,對於這點所到達的地方所知就越少。如果這個遊動是適當定義的,可以證明,在不多幾步以後,點的位置就是純粹隨機的了。然而,證明完非常難。