用户中心 贡献查询
  • 团队成员贡献查询平台
  • 姓   名:
  • 密   码:
网站统计
    • ·共有文章:1633篇
    • ·文章阅读:449465人次
    • ·总共留言:条

说说估算(二)——误差、计算复杂性与估算的评价

发布时间:2016-05-30 23:46 点击数: 【字体:

    前面的估算(一)说到了估算及其价值。这里谈谈误差、计算复杂性与估算的评价。

    常有老师问这样的问题:XX题目,可以这样估算吗?
    比如:

 

 
    这就涉及到对估算的评价的问题。
    简单地说,评价估算,主要不是用“对”与“不对”来评价,而是以“好”与“不好”来评价。
    评价一个估算好还是不好,通常有两个维度。一个维度叫计算复杂程度,另一个维度的精确程度。

    这里说说精确程度,精确程度就是误差大小。误差有多种,慢慢说来:

    用数学解决实际问题,通常要对实际问题进行简化,进行抽象,简化与抽象后的问题,总是对实际问题的近似。
    比如要解决从甲地到乙地要多长时间的问题,就得知道速度,知道路程。速度通常不会是均匀的,但为了处理方便,我们当匀速处理,这就是近似。近似就产生了误差。这类误差通常叫做模型误差。是说把实际问题抽象成数学模型后带来的误差。
    另一类误差叫观测误差或量测误差。指解决问题过程中,总要测量一些量,比如长度,时间,温度等,测量的过程难免产生误差,由测量而生产的误差就叫观测误差或量测误差。
    从产生的原因上说,以上两类误差与计算无关,也就与我们今天的主题无关,放到这里,只是想保持关于误差的讨论的完整性。

    与计算有关的误差通常有两类,一类叫“截断误差”,稍稍有点复杂,通常指用无穷级数的有限项来代替这个无穷极数而产生的误差(截断嘛,就是砍尾巴,就是把后面一截不要了)。
    比如正弦函数sin(x),可以用一长串(长到无限)x指数形式来表示(有点象多项式,只是项数无限,多项式的计算比别的函数来得机械,简单,所以数学中有一个学问,研究如何把复杂的函数表示成象多项式的东东),当x很小时,大体上可以用把表示sin(x)的无限多项的“多项式”后面的项都去掉,只留下第一项,这一项是x,即用x表示sin(x),由此带来的误差就称为截断误差。

    您如果不太熟悉这个,不要紧,下面这个我们就好懂了。
    这个好懂的误差叫凑整误差,也叫舍入误差。
    我们在计算时,把无理数(如圆周率)按有限小数(如3.14)算,把无限循环小数当有限小数处理,把非整十、整百、整千数当整十、整百、整千数算,这个过程带来的误差,就是凑整误差。它的另一个说法,我们也很熟悉,叫“舍入误差”。

    定量的说,误差就是近似值与准确值的差。有时候也称绝对误差。当然,这个差可正可负,也就是近似值可能偏大,也可能偏小。偏大的称作强近似值,偏小的自然叫弱近似值。

    误差是客观存在的,但要知道误差到底是多大,往往是个麻烦事。因为要知道误差的值,就要知道准确值。可恰恰是不知道准确值才要估算的!您看到这里的问题了吗?

    正因为要准确的搞清楚误差是困难的(准确的误差搞清楚了,就意味着准确值得到了,也就意味着估算被取消了,是不是有点哲学?),所以估计一下误差的范围(估计!又来了!!)是很重要的。这个范围叫误差限。就是误差的绝对值的上限(您一定可能理解,为什么取绝对值,而不直接取误差本身)。有了误差限,我们就可以知道准确值的范围。
    比如我们估算到一个结果为100,研究准定误差限为10,那么准确值就在990和1010之间。这个其实我们很熟悉:四舍五入到哪一位,就是控制误差限。
    我们还有这样的题:一个三位小数,四舍五入保留两位小数的结果是3.25,这个数最大是多少,最小是多少。在这个问题中,我们就是要通过近似值与误差限来确定准确值的范围。

    关于误差,最后啰嗦一句:两个估算,误差限同样是10,但有一个的准确值是10,另一个的准确值是100000,你肯定知道,第一个估算的精确程度没有第二个好。因此,绝对误差有时候不能刻画一个估算的精确程度,于是有了相对误差,就是绝对误差与准确值的比。

    终于可以来说说估算的评价标准了。误差肯定是一个方面,但也不能只看误差,因为如果只看误差的话,那就是“精算”最好!(精算有专门的意义,还有精算这个专业、有精算师呢!精算师是世界级的牛人,这里借用这个词,意义大家都懂)。
    除了误差,还要考虑计算的复杂程度(定量刻画计算的复杂性有专门的学问,我们这里说不了,只能有个大体的定性把握)。

    我们画一个坐标,把精确程度和计算复杂性两个维度表示出来:

 

    我们来分析A、B、C、D四个区域。
    B区域表示计算的复杂性高,但精确程度低,显然是糟糕的估算。我们都不太好意思作出这样的估算。
    C区域表示计算的复杂性低,但精确程度高,显然是非常好的估算。但这种马儿跑马儿不吃草的事,很难得。
    A区域表示计算的复杂性低,但精确程度也低(粗略的估一估,快则快矣,奈何准确程度低)。
    D区域表示计算的复杂性高,但精确程度也高(趋于精算)。

    我们的估算,通常就是在A到D的这个范围内找个合适的平衡位置,如果能偏向C就比较好一些,偏向B就比较差一些。
 
    好了,今天讲得够多的了,也许还没涉及您关心的具体问题。明天继续……

    欢迎扫描下面的二维码!
 



 

顶一下
(0)
0%
踩一下
(0)
0%
[收藏>] [打印] [挑错] [推荐] 作者:张新春 来源:湖南省长沙市教育科学研究院 查看所有评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片