计算能否组成三角形的概率

计算概率

问题描述: 在一条线段上任意取两点,则被这两点划分的线段能组成三角形的概率是多少?

假设线段长度为1,两点为$x_1$, $x_2$, 同时不妨假设$x_1 < x_2$.这样线段被分为三段, 长度分别为: $x_1,x_2-x_1,1-x_2$.根据三角形的规则:

$$
x_1+x_2-x_1>1-x_2\\
x_1+1-x_2>x_2-x_1\\
简化得到:\\
x_2>0.5\\
2x_1+1>2x_2
$$

根据这样一个简单线性规划问题, 画一个二维图,求出面积,即可知道概率多少

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import matplotlib.pyplot as plt
import numpy as np
x1 = np.linspace(0.0, 1.0, 100)
const_1 = np.ones(100, dtype=np.float)
# 边界1
x2 = x1 + 0.5
# 边界2
x2 = const_1
plt.figure(figuresize=(8, 8))
plt.xlabel("$x_1$", fontsize=20)
plt.ylabel("$x_2$", fontsize=20)
plt.fill_between(x, 0, 1, alpha=0.2)
plt.fill_between(x, con1, x2)
plt.show()

如图,黄色的就是满足线性规划条件的区域,计算面积是 $\frac 1 8$

但是考虑假设是$x_1 < x_2$, 这样真实概率应该是 $\frac 1 4$

人艰不拆,生活不易