tft每日頭條

 > 生活

 > 數學公式建模

數學公式建模

生活 更新时间:2024-10-11 22:58:42

蘇格拉底(公元前469年~公元前399年),古希臘時期的思想家、哲學家和教育家,出身貧寒,是一位個性鮮明、從古至今被人毀譽不一的著名曆史人物。蘇格拉底是柏拉圖的老師,他一生未曾著述,其言論和思想多見于柏拉圖和色諾芬的著作,如《蘇格拉底言行回憶錄》。蘇格拉與柏拉圖、亞裡士多德并稱"希臘三賢"。

數學公式建模(數學家的相親模型)1

01 麥穗問題的由來

蘇格拉底的妻子是個心胸狹窄、冥頑不化,喜歡唠叨不休,動辄破口大罵的女人,而且常使堂堂的哲學家蘇格拉底困窘不堪。一次,别人問蘇格拉底"您當初為什麼要選擇這樣一位妻子?"時,他回答說:"擅長馬術的人總要挑烈馬騎,騎慣了烈馬,駕馭其他的馬就不在話下了。我如果能忍受得了這樣女人的話,恐怕天下就再也沒有難于相處的人了。" 在西方,"蘇格拉底的妻子"是悍婦、壞老婆的代名詞。

有一天,柏拉圖問蘇格拉底:"什麼是愛情?"蘇格拉底說:

"前面有一片麥田,你走一趟,選最大最漂亮的一根麥回來,但選一根後不能改變主意,也不準走回頭路。"

結果柏拉圖空手而歸:"我每次看見一根好麥,總覺得之後會遇上更好的,三心兩意下,走完麥田都沒拿到。"蘇格拉底告訴柏拉圖:"這便是愛情"。

又有一天,柏拉圖又問老師蘇格拉底:"什麼是婚姻呢?"蘇格拉底這次讓柏拉圖去森林,按照上次的規則,要其選最大最漂亮的一棵樹回來。這次,柏拉圖果然有收獲:"經過上次失敗的教訓,我選了一棵不特别漂亮的樹便算了。"蘇格拉底笑了:"這便是婚姻"。

數學公式建模(數學家的相親模型)2

兩位哲學家用麥穗和樹枝問題來形象地比喻了愛情和婚姻的不同:前者是錯過了的美好,後者是人生旅途中權衡之後某個時候的抉擇。

1611年,偉大的天文物理學家約翰尼斯·開普勒的妻子去世,兩年後科學家準備續弦,重新組建家庭。由于開普勒的上一段婚姻并不幸福,所以這次他對交往的女士詳細考察,力求找到完美的對象。開普勒像面試一樣挨個交往相親對象,在見到第5名女性時,他眼前一亮,被對方的勤儉持家、善良忠誠所打動。他本想就此收手,但"下一個是不是更棒?"的想法,最終驅使他繼續去尋找更優秀的。

數學公式建模(數學家的相親模型)3

最後,開普勒一共交往了11名女士,但他并沒有找到更好的,反而一直對第5名女士牽腸挂肚。在某天去演講的途中,他突然下定決心,調頭前往第5名女士的家裡,厚着臉皮向這位被他拒絕過的女士求婚。幸運的是,對方答應了。就這樣,開普勒跟這名叫做蘇珊·羅伊特林格的女子結婚了,兩人生育了6名子女,生活幸福,攜手到老。可是,并不是每個人都能像開普勒這樣幸運,回頭時那個人剛好還在等你,更多是至尊寶式的遺憾:"曾經有一份真誠的愛情擺在我面前,我沒有珍惜,等我失去之後,我才追悔莫及。人世間最痛苦的事莫過于此。" 人生沒有最優解,隻有滿意解。

數學公式建模(數學家的相親模型)4

02 數學家對于"麥穗問題"給出了合理解釋

人文學者及公衆都為這段頗富哲理的名人小故事津津樂道,但數學家們卻另辟蹊徑,從完全不同的、概率及統計的角度來解讀它。

麥穗問題雖然很普通,但也連得上貌似高深的"随機過程"。每棵麥穗的大小都可以看作是随機的,因此當柏拉圖在麥田中走一圈時,碰到一個又一個排成序列的随機變量,這不就是一個随機過程嗎?

在麥田的前1/e部分不要做決定(其中e為自然對數的底數,約等于2.71),隻是把它作為參考,看看這1/e部分中哪個最大,然後在後面的部分如果能遇到一個相似大小的,這就是我們理論上能尋求到的最大的麥穗。

理論上,你可以獲得一個最優解,但現實中我們很多人都會成為"柏拉圖"。

近日蘇黎世大學的一項研究表明,人們在等待決策的過程中,标準會越來越低。

他們招募了129名參與者來進行模拟購物實驗,他們需要盡可能以最少的錢下單機票。起飛日期确定,但機票的價格存在波動(像極了我每天在做的事)。

數據顯示,人們決策時使用的是一個"線性阈值模型":越接近起飛日期,你能夠接受的心理價位就越高(它也意味着,人們所設定的标準越來越低了)。

數學公式建模(數學家的相親模型)5

研究人員表示,這一原則不僅适用于采購決策,也适用于選擇去哪家公司、挑選伴侶等情況

"剛開始的時候,你的擇偶标準可能很高。但随着時間推移,它可能會慢慢降低,以至于你答應一個當初會拒絕的人。"

數學公式建模(數學家的相親模型)6

03 "傻博士相親"的故事來诠釋這一麥穗問題本質

 英國倫敦大學學院的美女講師漢娜·弗萊博士最近出了本《真愛中的數學》,用數學模型幫"單身狗"們尋找真愛。

  抛開書中那一串串同樣令人目眩神迷的數學公式,不妨直接看看弗萊博士給出了哪些建議。

首先是相親的策略,帶一位顔值低于你的朋友同行,相親成功的幾率會大大提高,這似乎是某種不太地道的"常識",但弗萊博士卻通過複雜的計算,證實了它的科學性。

  其次是最佳的結婚時間,計算發現,人們應該在計劃婚期之前所有約會時間過完37%之後再結婚。也就是說,如果一個人打算在35歲結婚,而他從15歲開始約會,那麼22.4歲之前所有的約會對象,都将不幸地成為他人幸福路上的墊腳石。

  可别以為結了婚就萬事大吉,好事兒的數學家們對婚姻能否持續另有一套數學模型。據說,這套模型曾用于預測國家之間的軍備競賽。

利用數學的觀點抽象之後的麥穗問題,等效于概率及博弈論中著名的秘書問題。它還有多種變換版本:未婚夫問題、止步策略、蘇丹嫁妝問題,等等。

數學公式建模(數學家的相親模型)7

下面我們用"傻博士相親"的故事來叙述它。并借助微積分的基本概念用于求解分析這一問題過程。

且說幾年前留學人員中有一位外号"傻博士"的學生,精通數學,小有成就,唯有一老大難問題尚未解決:将近40歲還沒有交上女朋友。于是,那年他奉母命回國相親,據說半個月之内來了100名佳麗應召。後來,這位傻博士經過嚴格的數學論證,采用了一種他認為的"最佳策略",終于百裡挑一,赢得美人歸。

這裡還需加上一段話,描述傻博士母親設定的條件。母親要求他在15天之内,要對這100位佳麗一個一個地面試,每位佳麗隻能見一次面,面試一個佳麗之後立即給出"不要"或"要"的答案。如果"不要",則以後再無機會面試該女子;如果答案是"要",則意味着博士選中了這位女子,相親過程便到此結束。

看到這裡,你也許已經能領會到這個"博士相親"與"麥穗問題"本質上是一緻的了。那麼,對于母親這種"見好就收,一錘定音"的要求,傻博士的"最佳策略"又是怎麼樣的呢?

既然是"最佳",那應該用得上微積分中的最優化、求極值的技巧吧。果然如此!我們首先看看,傻博士是如何建造這個問題的數學模型的。

這看起來是個概率的問題。假設,按照傻博士對女孩的标準,他将100個女孩做了一個排行榜,從1到100編上号,"#1"是最好的,然後,"#2"、"#3"……當然,傻博士并不知道當時每一次面試的女孩是多少号。這些号碼随機地分布在傻博士安排的另一個面試序列(1,2,3,…,r,…,i,…,n)中,見圖3-5-1。傻博士的目的就是要尋找一種策略,使得這"一錘定音"定在"#1"的概率最高。

數學公式建模(數學家的相親模型)8

設想一下,傻博士可以有好多種方法做這件事。比如說,他可以想得簡單一點,預先随意認定一個數字r(比如将r固定為等于20),當他面試到第r個人的時候,就定下來算了。這時候,因為r是100中挑出來的任意一個,所以,這個人是"#1"的概率應該是1/100。這種簡單策略的概率很小,傻博士覺得太吃虧。比如說,當他面試到第20個人時,如果看到的是個醜八怪(或者瘋女子)也就這麼定下來嗎?顯然這不是一個好辦法。那麼,将上面的方法做點修正吧:仍然選擇一個數字(比如r=20),但這次的策略是:他從第20個人開始認真考察,将後面的面試者與前面面試過的所有人加以比較。比如說,如果傻博士覺得這第20個面試者比前面19個人都好,那便可以"見好就收"。否則,他将繼續面試第21個,将她與前面20人相比較;如果不如前面的,繼續面試第22個,将她與前面21人相比較……如此繼續下去,直到面試到比前面的面試者都要更好的人為止。

根據圖3-5-1,總結一下傻博士策略的基本思想:對開始的r-1個面試者,答複都是"不要",等于是"忽略"掉這些佳麗,隻是了解一下而已,直到第r個人開始,才認真考慮和比較。如果從r開始面試到第i個人的時候,覺得這是一個比前面的人都要更中意的人,便決定說"要",從而停止這場遊戲。圖3-5-1中還标出了一個"臨時最佳者",這和實際上隐藏着的排行榜中的"#1"是不同的。"臨時最佳者"指的是傻博士一個一個面試之後到達某個時刻所看到的最好的佳麗,是随着傻博士已經面試過的人數的增加而變化的。

這裡便有了一個問題:對100個人而言,到底前面應該"忽略"掉多少個人,才是最佳的呢?也就是說,對n個面試者,r應該等于多大,才能使得最終被選定的那個面試者,是"#1"的概率最大?r太小了當然不好,比如說,如果令r=2,那就是說,隻忽略第一個,如果第二個比第一個好的話,就定下了第二個。當然也可能繼續下去,但很有可能使你的決定下得太快了,似乎還沒有真正開始面試,過程就結束了!r太大顯然也不行,比如說令r=99,那就是說,從第99個人才開始比較。如此辦法,因為忽略的人數太多,當然,"#1"被忽略掉的可能性也非常大,面試了這麼多的人,将傻博士累得半死,選出#1的概率隻是大約為2/100而已。

也許,應該忽略掉一半,從中點開始考察?也許,這個數k符合黃金分割原則:0.618?也許與另外某個有名的數學常數(π或e)有關?然而,這都是一些缺乏論據的主觀猜測,傻博士是科學家,還是讓數學來說話吧。

我們首先粗略地考察一下,如果使用這種方法的話,對某個給定的r,應該如何估算最後選中"#1"的概率P(r)。對于給定的r,忽略了前面的r-1個佳麗之後,從第r個到第n個佳麗都有被選中的可能性。因此,在圖3-5-1下方的公式中,這個總概率P(r)被表示成所有的P(i)之和。這裡的i從r到n逐一變化,而P(i)則是選中第i個佳麗的可能性(概率)乘以這個佳麗是"#1"的可能性。

選中第i個佳麗的可能性是多少?取決于第i個佳麗被選中的條件,那應該是當且僅當第i個佳麗比前面i-1個都要更好,而且前面的人尚未被選中的情形下才會發生。也可以說,第i個佳麗被選中,當且僅當第i個佳麗比之前的"臨時最佳者"更好,并且這個臨時最佳者是在最開始被忽略的r-1個佳麗之中。因為如果這個臨時最佳者是在從r到i之間的話,她面試後就應該被選中了,然後就停止了"相親過程",第i個佳麗不會被面試。

此外,這第i個佳麗是"#1"的可能性是多少呢?實際上,按照等概率原理,每個佳麗是"#1"的可能性是一樣的,都是1/n。因此根據上面的分析,我們便得到了圖3-5-1所示的選中"#1"的概率公式。

從公式可知,選中"#1"的概率是薩博士策略中開始認真考慮的那個點r的函數。讀者不妨試試在公式中代入不同的n及不同r的數值,可以得到相應情況下的Pn(r)。比如說,我們前面所舉的當n=100時候的兩種情形:P100(2)大約等于6/100;P100(99)大約等于2/100。

數學公式建模(數學家的相親模型)9

下面問題就是要解決:r取什麼數值,才能使得Pn(r)最大?如果我們按照圖3-5-1中的公式計算出當n=100時,不同r所對應的概率數值,比如令r分别為2,8,12,22,…,将計算結果畫在Pn(r)圖上,如圖3-5-2(a)所示。我們可以将這些離散點連接起來,成為一條連續曲線,然後估計出最大值出現在哪一個點r。這是求得P(r)最大值的一種實驗方法。

數學公式建模(數學家的相親模型)10

然而,我們更感興趣從理論上分析更為一般的問題,那就要用到微積分了。如果能給随機變量建立一套類似于普通微積分的理論,讓我們能夠像對普通變量做微積分那樣對随機變量做微積分就好了。

在普通微積分裡面,最基本的理論基礎是"收斂"和"極限"的概念,所有其他的概念都是基于這兩個基本概念的。對于随機過程的微積分,在數學家們建立了基于實分析和測度論的概率論體系之後,就可以像當初發展普通微積分那樣先建立"收斂"和"極限"這兩個概念。與普通數學分析不同的是,現在我們打交道的是随機變量,比以前的普通變量要複雜得多,相應建立起來的"收斂"和"極限"的概念也要複雜得多。

在随機微積分中的積分變量是随機過程,比如說無規行走。無規行走是時間的一個函數,卻有一個特殊的性質:處處連續但是處處不可導,正是這個特殊的性質使得随機微積分與普通微積分大不相同。

實際上,随機微積分一般都既牽涉到普通變量時間t,又牽涉到随機變量W(t)。所以,進行随機微積分時,如果碰到跟t有關的部分就用普通微積分的法則,而碰到跟W(t)有關的部分時就使用随機微積分的法則。

數學公式建模(數學家的相親模型)11

04 變式---炮灰模型

來源于1949年的一個數學家提出的未婚妻模型。兩者本質是一樣的。下面介紹下未婚妻模型。

先做幾個假設:

1. 相親男在打算談戀愛到結婚的這段時間裡([0,m],m是時間點),假設可以遇到N個女生。比如,N = 0,1,2,3...這個N個人中的某一個,就是你的未婚妻。

2. 這N個女生,雖有優劣,均是随機的被相親男碰到的。

3. 相親男碰到的每一個女生,均有兩種選擇,要麼表白,要麼拒絕。一旦表白,則結束這個"征婚遊戲";一旦拒絕,則繼續考慮下一個女生。(根據事件獨立性原則,不考慮腳踏兩隻船的情況)。

一般情況下,相親男會跟前幾個女生都接觸下,試試水,同時逐漸了解下自己的需求,再開始認真考慮,從下一個開始,隻要一碰到一個女生比自己之前遇到的人都合适,那麼就表白,其發展關系。

這個問題就變成了數學問題:先拒絕前k個人(k<=N-1),從k 1個人開始,一旦看到比之前所有人都要好的人,就毫不猶豫地選擇。

那麼,這個問題就變成了,如何确定k值,使得未婚妻出現的概率最大(即P(k)最大)。

算法如下:

我們假設,未婚妻出現在第i個位置。

一般情況下,每個人被選擇的概率,是1/N。

因為要拒絕掉前k個人,那麼k <i<=N,以及 k<=i-1。

又因為,未婚妻比前k個人都要好,這種選擇的概率為k/(i-1)。

未婚妻出現的總概率為

P(k) = Σ(1/N)(k/(i-1)) = (k/N)Σ(1/(i-1))。

其中求和從i=k 1開始。

(後面實際上是一個調和平均數)。啰嗦一句,調和平均數的本質在于總體等效。比如,初中時候的并聯電阻。其關鍵一點在于,在一個等效系統中,最重要的是考慮弱小的一方。有點類似短桶效應。

舉例子:比如,相親男要進行20次相親,即N = 20,他打算與前3個進行試探下,并不打算表白。即k=3。那麼P(k=3) = (3/20)[1/(4-1) 1/(5-1) 1/(6-1) ... 1/(20-1)]=我就不計算了。

用 x 來表示 k/n 的值,從極限角度考慮,當N = 無窮大時,上述P(k)可以用微積分寫:P(x) = x∫(1/t)dt = -xlnx

求最大值嘛,那麼就求導,對P(x)求導,就是對-xlnx求導,求導後令x=0,得到P(x)的最大值就是P(k)。

這個最大值為:(1-1/e) = 1/2.718 = 1- 0.3679 = 0.6321

換句話說,如果相親男拼命去相親(N = 無窮大),最多有63.21%的概率,碰到自己認為最合适的未婚妻。

但是建議量力而行,根據自己的實際情況确定N的值。。

最後,再說下這個模型的非常明顯的缺點:如果最佳人選本來就在這前36.79%的人裡面,錯過這 36.79% 的人之後,再也碰不上更好的了。(終身遺憾)

05 數據挖掘算法

決策樹是直觀運用概率分析的樹形分類器,是很常用的分類方法,屬于監管學習,決策樹分類過程是從根節點開始,根據特征屬性值選擇輸出分支,直到到達葉子節點,将葉子節點存放的類别作為決策結果.

如圖1-11所示的樹狀圖展現了當代女大學生相親的決策行為。其考慮的首要因素的是長相,其他考慮因素依次為專業、年齡差和星座,同意與否都根據相應變量的取值而定。

決策樹算法模拟了上述的決策行為,按照這些要求,可以對候選相親男性的數據進行分類預測,然後根據預測結果找出女大學生心儀的男性。

數學公式建模(數學家的相親模型)12

決策樹以女性相親為例,那麼對于一個在婚戀交友網站注冊的男性,如何預測該男性的相親成功率呢?這裡使用KNN算法(K-NearestNeighor,最鄰近算法)進行預測。

數學公式建模(數學家的相親模型)13

這裡采用三個變量或屬性來描述一個男性,即收入、背景和長相。

在已有的數據中,深灰色點代表相親成功的人,白點代表相親不成功的人,中間連接線條的黑點代表一個新來的男性,KNN算法在預測這個新人相親是否成功時,會找到他和附近的K個點,并根據這些點是否相親成功來設定新人約會成功的概率。

比如圖1-12中黑點與兩個深灰色點、一個白點最近,因此該點相親成功的可能性占2/3。

KNN算法屬于惰性算法,其特點是不事先建立全局的判别公式或規則。當新數據需要分類時,根據每個樣本和原有樣本之間的距離,取最近K個樣本點的衆數(Y為分類變量)或均值(Y為連續變量)作為新樣本的預測值。該預測方法體現了一句中國的老話"近朱者赤,近墨者黑"。

參考文獻:張天榮,《從擲骰子到阿爾法狗:趣談概率》

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved