|||
张学文快刀斩乱麻实验
假设有一根长为10,000m的绳子被随机地切了999刀,我们可以按照下面的步骤模拟:
在0-10000范围内产生999个随机数。 |
在Excel 软件中,只要打开一个空白的表,利用RAND 函数功能就可以在第一列的最上端产生一个随机数。把鼠标选在那里按住鼠标向下拉,立刻得到999个随机数(在第一列)。
这样得到的随机数是界于0到1之间的。把它们都乘以10000,就得到了999个界于0到10000之间的随机数。这些随机数服从0-10000的均匀分布,它们就是乱麻被斩后的断点。
将这些随机数从小到大排列,并将0和10000分别加入首和尾,这样就得到一个新的序列A。它代表了999刀在10000 m长的线上的排列位置。 | |
计算序列A的相邻数值的差。这些差值就应当是“被切后的1000根绳的长度”。 | |
统计这些线段的长度的分布。即在0-5 m,5-10 m等区间的线段的个数占总个数(1000)的百分比。统计不同长度的线段各有多少(%),就得到了“斩乱麻”的具体的线段长度的分布函数。 |
把上面得到的线段长度的分布与理论预测比较。根据理论预测,这些绳段长度的分布应服从:f(x)=0.1exp(-0.1x). 因此长度在a 到b 范围的绳子占的个数的百分比F 应为这个函数在(b-a)区间的积分。 |
(这里用F 表示f 的积分,它与介绍拉格朗日方法中的F 含义不同),下边是模拟试验的数据:
A rope, which is 10,000 meter long, is cut for 999 times. The cutting point is uniformly distributed along the rope. Thus we get 1,000 small ropes. The distribution of the length of the ropes is listed below. |
rope length /meter | simulation % | theoretical % |
0-5 | 39.70 | 39.35 |
5-10 | 25.10 | 23.87 |
10-15 | 13.90 | 14.47 |
15-20 | 7.40 | 8.78 |
20-25 | 4.80 | 5.33 |
25-30 | 4.30 | 3.23 |
30-35 | 1.70 | 1.96 |
35-40 | 1.00 | 1.19 |
40-45 | 0.90 | 0.72 |
45-50 | 0.30 | 0.44 |
50-55 | 0.10 | 0.27 |
55-60 | 0.30 | 0.16 |
60-65 | 0.20 | 0.10 |
65-70 | 0.00 | 0.06 |
70-75 | 0.30 | 0.04 |
比较模拟试验的数据和理论值,发现模拟数据吻合预测值。这样我们就证明了用最复杂原理解决斩乱麻问题的思路是正确的。下面是对应的图。
图12.2斩乱麻的数值试验数据(兰色)与理论数据(深红)的对比
图的横坐标是绳的长度(米,m),纵坐标的该长度的绳子的数量占的百分比
参考文献
【1】张学文,组成论
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-24 04:21
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社