负暄琐话

我的email: rot47('649@ 6(hF+`hd"w=92vhG{>}G3"@l M >:>6?4@56 \F')

囧囧ID:g9yuayon
868561次访问,排名32好友26人,关注者30
姓名:g9yuayon
前世:夜郎国厚脸皮神棍
魅力指数:0
名气:1
宠物:一只从来不对生人叫的看门狗
g9yuayon的文章
原创 244 篇
翻译 4 篇
转载 48 篇
评论 862 篇
g9的公告
最近评论
gaoning87:if(坨="堆")
{
return 1;
}
RonoTian:不好意思,也是O(n)的。。。
RonoTian:“第二道算法题是一坨任意整数数组。写一个函数,把数组里的奇数放前面。偶数放后面。比如[1, 2, 3, 4, 5],处理后得到[1, 3, 5, 2, 4]。这次我学乖了,先演算了几个例子,然后问了他顺序重要不。他说不重要。我说,俺决定从最简单的开始,试一试顺序做,放一坨下标,指向数组起始元素。说到这里,算法出来了。然后分析复杂度,时间O(n),空间O(1)”

这坨好像……
turingbook:文字真强啊。成语一砣一砣的……
mmcjr:已阅
文章分类
收藏
    相册
    旅游
    计算机科学
    Lambda the Ultimate
    软件开发
    Reddit编程专栏(RSS)
    正在读的书
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 谁来验证验证程序?收藏

    新一篇: JavaScript写的Unix | 旧一篇: LISP编程风格指南

    这大概是初学自动验证(Automated Verification)者常问的问题吧? SMV也好,SPIN也好,写出来的代码并不清楚直白,一个简单的多路电梯就够人写上几天(不然也不至于有LTL Patterns一类的东西了)。我们怎么才轻松地知道自己写的验证程序本身没有错误呢?我只知道有人在Vacuity问题上做文章,可惜那只是一种错误。就算有meta verfication, 又有谁来验证meta verification呢?推而广之,如果有meta^(n-1) verification, 是不是得有meta^{n} verification呢?另一方面,能随时验证自己的工作也是编程的乐趣之一。现在的程序当然也不容易验证,但至少写来颇有乐趣,因为我们有单元测试。每写几行代码,就可以运行一下,看看是不是所写即所想。如果几小时都能不能验证自己写的东西,那岂不会无聊到死?

    发表于 @ 2005年11月06日 11:44:00|评论(loading...)|编辑

    新一篇: JavaScript写的Unix | 旧一篇: LISP编程风格指南

    评论

    #xiang 发表于2005-11-08 11:34:00  IP: 202.175.118.*
    验证到最后就是数理逻辑了呀,只要相信hoare logic的正确性~model checking理论的正确性~就够了,呵呵

    不过meta verification的确是个问题,pvs就是因为太复杂,有时会出问题……
    #g9 发表于2005-11-09 03:01:00  IP: 199.246.40.*
    数理逻辑(或者其它理论)只是提供了验证的基础,让我们有可能推断出我们的系统是否正确,但理论并不能保证我们的写的验证代码,我们写的逻辑表达式,或者我们的推导过程是正确的。不然的话,干嘛有人要检查vacuity啊?干嘛形式化理论的论文和工具要同行评审啊?干嘛考试,做作业,或者做项目的时候我们很有可能写错CTL/LTL/\mu-calculus等等的公式啊?:-)
    #middle 发表于2008-03-20 08:51:02  IP: 221.220.20.*
    实践是检验真理的唯一标准。否则time-proven也不是不可替代的市场卖点了。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © g9