估算小技巧

求问交大图书馆有多少把椅子?
要是我回答我只能说期末考试的时候图书馆坐了多少人大约就有多少把椅子,因为期末坐满了。当然我更愿意乘上系数1.25,总之我是不愿意紧邻的坐在秀恩爱的情侣旁边的…
至于系数1.25如何得出的:交大男女7比1,一对情侣三对基,8个在图书馆学习的人当中,2人是【正常】情侣,他们两边的椅子我都不想坐,所以8个人占了10张椅子…

—【言归正传】—

特地去维基上查了金融学上的72法则:
假设最初投资金额为100元,复息年利率9%,利用“72法则”,将72除以9(增长率),得8,即需约8年时间,投资金额滚存至200元(两倍于100元),而准确需时为8.0432年。
《Programming Pearls》这本书上举出这样一个例子,如果一个盘子里的菌群以每小时3%速率增长,那么其数量每天都会翻倍(72/3=24)。
然后假设一个程序解决规模n=40的问题需要10s,且n增加1时运行时间会增加12%,72法则告诉我们,n增加6(72/12=6),运行时间就翻倍。n若加了60,运行时间就是1000倍(准确的话是1024)…
这里又有一个很经典的程序员专属经验法则:
1byte= 8bits,然后1KB=1024B…10^3 1MB=1024*1024B…10^6 1GB=1024*1024*1024B…10^9
这里2^10=1024约等于10^3
10次翻倍约是1000倍,20次翻倍就是100万(10^6),30次就是10亿(10^9)…

还有一个很有意思的便捷估算法则来自Tom Duff:
π秒就是一个纳世纪
一年计算来有3.155*10^7秒
一个纳世纪相当于:纳10^-9,世纪100年,纳世纪10^-7年
π*10^7s约等于1年,这里π的3.14和实际误差很小

Little定律
参考《Programming Pearls》:Little定律指出,系统中物体的平均数量等于物体离开系统(或进入系统)的平均速率和每个物体在系统中停留的平均时间的乘积。
比如交大坑爹的澡堂
在火爆的时段,进去洗澡更本排不上号,本来洗澡是一件很休闲的事,不过有时队伍长到我瞬间没有任何洗澡的欲望。对于三餐澡堂来说(我说的男澡堂…),每一个大隔间里面大约有15个人,每个人洗澡的平均时间大约是5分钟,那么我们进入澡堂的速率大约是3分钟/人。此时若我前面排队的有4个人(这很正常!!),那么我大约要12分钟才能洗上澡,就是说我得光着身子站12分钟就为了最后洗5分钟…所以选一个好的时间洗澡是多么重要!

当然这个定理严肃的应用可以是在计算多用户系统的响应时间上,参见《Programming Pearls》。

Tags :

3 thoughts on “估算小技巧”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Click the right image To submit your comment: