用概率来计算鱼塘中鱼的数量和质量
利用概率来计算一种未知
以下文章来自图书《程序员的数学思维修炼》。
老李在农贸市场开了一个鲜鱼销售店,经常要到乡村去整塘购买渔民养的鱼,并每天从池塘中打鱼到门店中进行销售。
在购买整塘的鱼时,需要根据鱼的重量与渔民签订合同,计算合同金额。可是,该怎么估算鱼塘中鱼的重量呢?
在估算时,应使鱼的损失尽量小,并能尽量准确地估算出鱼的重量,并且这种方法要让买卖双方都接受。
通常能想到的办法有以下几种。
第一种方法:首先想到的方法就是称重。将池塘中的鱼全部打捞上来,再称重,这样可以得到比较精确的重量。可是,将鱼全部打捞上来称重后再放回池塘,会造成很大一部分鱼会死掉。
第二种方法:可考虑一种将问题规模缩小的方法。即将鱼塘划分成相等的多个区域,然后将一个区域中的鱼打捞上来,进行称重。再将该区域中鱼的重量乘以划分的区域数量,即可得到总的重量。
可是这种方法的缺点也是很明显的。划分的区域通常不能达到均匀相等;另一方面,对划分的区域进行打捞时,由于鱼会四处游动,并不能保证可以将所划分区域中的鱼全部打捞上来。
由于这些缺点,导致最终计算出来的结果误差很大,从而使买卖双方不容易认可、接受。
第三种方法:使用概率来估算。本节我们将详细介绍这种方法。
用概率来计算
用概率来估算鱼塘中鱼的重量,可以达到比较准确并能被买卖双方接受的结果。下面介绍具体的实现方法,可按以下步骤进行操作。
(1)从鱼塘中捞出100条鱼进行称重。
(2)将这100条鱼做上标记,然后放入池塘中。
(3)等一段时间后,在池塘的不同位置随机撒网打捞,将一网打捞上来的鱼进行称重,并记录第(2)步中做好标记的鱼的数量,以及未做标记的鱼的数量。
(4)多次重复第(3)步。
(5)将记录的数据进行计算,计算出做了标记的100条鱼被打捞上来的概率。
(6)根据得到的概率即可估算出整个池塘中鱼的数量和重量。
下面以一个实际操作来看看这种通过概率估算池塘中的鱼重量的方法。
(1)首先从池塘中打捞出100条鱼,称出这100条鱼的重量为216公斤。
(2)在这100条鱼的鱼尾涂上红色油漆,然后将这些鱼放入池塘中。
(3)一小时之后,在池塘的不同地方多次撒网打鱼,并记录每次打捞上来的鱼的数量,包括有标记和无标记的鱼的数量。10次打捞后的结果如表6-3所示。
表6-3
有了以上表格中的数据,接下来就可以进行估算了。首先估算鱼塘中鱼的数量,将10次打捞的鱼中有标记的鱼的数量相加,得到:
2+3+1+3+4+3+1+2+2+1=22
而打捞了10次,一共捕鱼数量为:
22+25+23+18+。。。+13=205
那么有标记的鱼的数量与打捞上来的鱼的数量的比可以计算为一个概率:
22/205=0.1073
那么我们是投放了100条有标记的鱼在鱼塘的,可以估算出鱼塘中总的鱼的数量约为:
100/0.1073=932
计算出鱼的总数量之后,接下来再来估算鱼的重量。100条做了标记的鱼的重量为216公斤,则每条鱼的平均重量为2.16公斤。所以,池塘中鱼的重量估算为:
932*2.16=2013
就是说这个池塘总的鱼的重量约2013公斤。每条鱼大约重2.16公斤,大约有鱼932条。
后记
这个利用概率来解决问题的思路需要掌握,在生活中有些地方可以使用的上。
概率思路也是区分对于问题的抽象和理解到了一种程度后的人与人的差距。
能够将问题拆分为组合,计算组合的概率,然后得到一个比较接近实际的值,是一种非常强大的逻辑思路。