在邊長為1的正方形中隨機取三個點,構成三角形的面積期望是多少?

問題來源:CodeVS交流群

自己重寫了驗證程序,答案確實在0.076左右。

另外,隨機選取點的方式是:

(x=rand[0,1],y=rand[0,1]),選取兩個實數。


答案是frac{11}{144}

更新了一個圓內三角形面積期望值是frac{35}{48pi} ,在最後。

第一步先想到的肯定是多重積分。

積分內部必然是一個用三點坐標寫成的面積公式,剛剛好有這個公式。

假設三點為A=(a_1,a_2), B=(b_1,b_2),C=(c_1,c_2),

則面積是S=frac{1}{2}left| {egin{array}{*{20}{c}}{{a_1}}{{a_2}}1\{{b_1}}{{b_2}}1\{{c_1}}{{c_2}}1end{array}} 
ight| =frac{1}{2}|{b_1}{c_2} - {b_2}{c_1} - {a_1}{c_2} + {a_2}{c_1} + {a_1}{b_2} - {a_2}{b_1}|.

但是這個積分

int_0^1 {int_0^1 {int_0^1 {int_0^1 {int_0^1 {int_0^1 {Sd{a_1}d{a_2}d{b_1}d{b_2}d{c_1}d{c_2}} } } } } }

是沒法手算的,因為絕對值所需區分的區間太多了。

積分內部應該還有一部分是probability density function(概率密度函數,簡稱pdf),因為這6個變數是獨立的,所以總的joint pdf就是各自的pdf相乘,但是他們都是1,所以可以忽略。

這條路走不通那就硬算,但是利用對稱性簡化一下計算量。

一. 分情況

這三個點的橫坐標的大小順序一共有六種,每種情況沒什麼區別,算其中一個積分就行,得到的答案乘以6就是最終答案。

下面只考慮a_1<b_1<c_1的情況,

換句話說,B點在A點和C點的中間那條x=b_1這條線上。

這時候考慮ACx=b_1D點,

b_1=(1-t)a_1+tc_1

那麼q=(1-t)a_2+tc_2

因為OD=(1-t)OA+tOC=(egin{array}{*{20}{c}}{{b_1}}\qend{array}) = (1 - t)(egin{array}{*{20}{c}}{{a_1}}\{{a_2}}end{array}) + t(egin{array}{*{20}{c}}{{c_1}}\{{c_2}}end{array}).

當然q也可以直接寫成關於a_1,a_2,b_1,c_1,c_2的函數

S = frac{1}{2}({c_1} - {a_1})|{b_2} - q|

二.按順序對6個變數積分

首先對b_2進行積分,在這裡q是常數。

E_1=int_{0}^{1} frac{1}{2}({c_1} - {a_1})|{b_2} - q|db_2=frac{1}{2}({c_1} - {a_1})(int_{0}^{q} q-b_2db_2+int_{q}^{1} b_2-qdb_2)=frac{1}{4}({c_1} - {a_1})(1-2q+2q^2)

再對b_1積分

E_2=int_{a_1}^{c_1} E_1db_1=int_{a_1}^{c_1} frac{1}{4}({c_1} - {a_1})(1-2q+2q^2)db_1(b_1=a_1+t(c_1-a_1),db_1=(c_1-a_1)dt)= frac{1}{4}(c_1-a_1)^2 int_{0}^{1}1-2q+2q^2dt

接下來因為q=a_2+t(c_2-a_2)a_2,c_2,t的函數而已,右邊那部積分部分跟a_1,c_1沒關係。

然後對a_10積分到c_1,再對c_10積分到1,再對a_2,c_2積分,寫成

E_3=frac{1}{4} int_{0}^{1} int_{0}^{c_1} (c_1-a_1)^2da_1dc_1	imesint_{0}^{1} int_{0}^{1}int_{0}^{1} 1-2q+2q^2dtda_2dc_2 int_{0}^{1} int_{0}^{c_1} (c_1-a_1)^2da_1dc_1=int_{0}^{1} frac{1}{3}c_1^3 dc_1=frac{1}{12}

int_{0}^{1} int_{0}^{1}int_{0}^{1} 1-2q+2q^2dtda_2dc_2=int_{0}^{1} int_{0}^{1}int_{0}^{1} 1-2(a_2+t(c_2-a_2))+2(a_2+t(c_2-a_2))^2dtda_2dc_2=int_{0}^{1} int_{0}^{1}int_{0}^{1} 1-2a_2+2a_2^2+t(-2c_2+2a_2+4a_2c_2-4a_2^2)+t^2(2a_2^2-4a_2c_2+2c_2^2)dtda_2dc_2=1 - frac{2}{2} + frac{2}{3} + frac{1}{2} 	imes ( - frac{2}{2} + frac{2}{2} + frac{4}{4} - frac{4}{3}) + frac{1}{3} 	imes (frac{2}{3} - frac{4}{4} + frac{2}{3})=frac{11}{18}

所以最終期望是

E_4=6E_3=6cdot frac{1}{4} cdot frac{1}{12} cdot frac{11}{18} =frac{11}{144} approx 0.07638888

貼一個模擬,

模擬結果是0.0762564,相當接近。

==========================================================================

下面簡寫一下在單位圓內取三角形。

只要思考稍微久一點,利用圓的對稱性,基本上都能想到把情況簡化到以下這種,

固定點C(1,0)

先計算出這時期望值,假設為s,

M=max{|A|,|B|,|C|},如果你稍微懂一些概率分布,應該知道CDF是x^6,那麼PDF是6x^5.

mathbb{E}(A)=int_0^1mathbb{E}(A|M=r)	imes6r^5dr=int_0^1sr^2	imes6r^5dr=frac{3s}{4}

那麼問題只剩下算出s,這時我們要尋找一下能夠利用角度表示三角形面積的公式。

第一個進入腦海中的自然是frac{1}{2}absin(alpha),這裡a,b指的是三角形兩條邊的長度然後alpha指的是這兩條邊的夾角。

我們思考下如何利用這個公式,比較直接的想法是,考慮	riangle AOB,	riangle AOC,	riangle BOC等等,但是要分圓心是否在三角形內兩種情況,如果再仔細思考會發現還有更多種情況,很麻煩,放棄。

那麼暴力一點就是考慮frac{1}{2} AC	imes BCsin(angle ACB),這個公式只分兩種對稱情況alpha >etaeta >alpha ,但是用我們的坐標表達出來特別麻煩,這時候狠下心,把坐標系改成以C點為原點的極坐標那麼就很好表達了。

剩下的就是寫下表達式然後計算我就不說了,Mathematica積分算出來是s=frac{35}{36pi} .

總期望是frac{3s}{4} =frac{35}{48pi} approx 0.232101

再貼一個模擬,

模擬的結果是0.232216,挺接近的。

在圓內能否用四條直線割成九塊面積相等的部分? - Lancewu 的回答

圓內能否用四條曲線割成九塊面積相等的部分? - Lancewu 的回答

在一個平面內n條直線和1個圓最多能把一個平面分成幾部分? - 數學


感謝 @Lancewu 很優雅的證明。

我來驗證這個證明是對的:%三行蒙特卡羅[MATLAB]

n=100000000;
area=@(x1,x2,x3,y1,y2,y3)((1/2)*(x1.*y2+x2.*y3+x3.*y1-x1.*y3-x2.*y1-x3.*y2));
mean(abs(area(rand(1,n),rand(1,n),rand(1,n),rand(1,n),rand(1,n),rand(1,n))))

其中 area 是求面積的 依照下式定義

area=frac{1}{2}left| {egin{array}{*{20}{c}}
{{x_1}}{{x_2}}1\
{{y_1}}{{y_2}}1\
{{z_1}}{{z_2}}1
end{array}} 
ight| =frac{1}{2}|{y_1}{z_2} - {y_2}{z_1} - {x_1}{z_2} + {x_2}{z_1} + {x_1}{y_2} - {x_2}{y_1}|.

n是所取的三角形個數,取過面積之後求平均

運行了三遍

結果分別是:

0.076386375473171105876524222821899

0.076382214877171686340240341905883

0.076386090994591787639578228663595

而解析的期望11/144 = 0.07638888888.....

已經非常接近了


The expected area of a triangle formed by three points randomly chosen from the unit square

Expected area of triangle formed by three random points inside unit circle


按照這個題目下的回答

有界二維平面內任意四點形成凸四邊形的概率? - Aria 的回答

Sylvester"s four-point problem 在正方形下的情況,知道正方形內隨機4點構成凸四邊形的概率是25/36.

就是說任取四點,有一點在另外三點內的概率有11/36. 那麼任意四點,其中一點落在另外三點的三角形內的概率就只有11/36的四分之一,就是11/144.


其實用excel就能算出,前6列,每兩列表示一個點坐標=Rand()

第GHI列,勾股定理求三邊長度=sqrt(A1*A1+B1*B1)

第J列用GHI列求半周長

第K列用已知三邊求面積公式

取1000組

求K列平均值。


推薦閱讀:

對於數學研究生來說,(在你的方向)"打基礎"到什麼地步可以開始做研究了?
你為什麼選擇讀基礎數學?
e^x的定義問題?
任給平面上一點, 如何判斷它是否在指定雪花分形圖案的內部?

TAG:數學 | 幾何學 | 概率 |