摘要: 准备八卦Edmund等人算法时才想起,其1986年成名作是讨论用CTL (Computational Tree Logic) 作规范语言的模型验证算法,而第一篇八卦形式化只介绍了LTL。虽说也有算法对付Kripke结构上的LTL模型验证,但一来该算法的复杂度为P-SPACE,远不如在Kripke结构上玩儿CTL的算法复杂度来得震撼;二来经典的LTL模型验证方法是将LTL公式转换为Büchi Automata后表演自动机理论与搜索算法的花活。三来俺的初衷是介绍今年图灵奖得主Edmund等人的工作,铺垫半天后突然跳到跟自动机理论有关的LTL模型验证,大有相亲却看中女方伴娘的架势,不够厚道 阅读全文
posted @ 2011-04-26 14:19 牛皮糖NewPtone 阅读(1066) 评论(4) 推荐(0) 编辑
摘要: 接着八卦前先回答老大们直指灵魂的问题。不就是系统状态遍历的问题么?干嘛非得用什么时序逻辑、模型一类的形式化手段啊?搞得比陈凯歌还深沉。做人不能这么无耻不是?找个真正的程序员,放出手里的蝴蝶不就搞定了?嗯,很多程序的确可以靠程序达人强大的自觉和天才的排错能力搞定。问题是,模型检验的对象是高并发复杂系统(比如说1020个状态),目标是绝对可靠地查出系统的错误,既不错杀三千,也不放过一个。这些系统失败时的代价也高昂。奔腾94年的FDIV错误花掉Intel至少5亿美元。偏偏我们对并发系统编程也没有什么特别有效的手段,不然大家也不至于对Heisenbug津津乐道了。我们在这种情况下怎么能全靠自己的直觉? 阅读全文
posted @ 2011-04-26 14:14 牛皮糖NewPtone 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 好遗憾,直到最近才无意间在CSDN发现这么牛逼的一坨博客。我一直以为MC只是学术界的事情,工业界哪可能会有人静下心来研究这个呢?看完之后真是激动万分啊,这是一个很棒的科普系列文章。也正是我在做的课题。一直想自己弄个国内的模型检测的开源软件,以此为鞭策继续努力。废话不说了,看g9老大的文彩吧~2007年的图灵奖授予Edmund M. Clarke, E. Allen Emerson, and Joseph Sifakis,表彰他们在模型验证方面做出的开创性贡献。前段时间白天忙项目,晚上改简历准备面试,也就没有心情八卦。刘江老师在他的博客里做了详细介绍,在这里推荐一下。关于几位大牛,俺没有什么补. 阅读全文
posted @ 2011-04-26 13:36 牛皮糖NewPtone 阅读(782) 评论(0) 推荐(0) 编辑
摘要: Updated 1st:2011.8.7 Project2:解读percolation_provided这里咱们开始解读项目2中提供的percolation_provided.py,一共提供了4个函数,分别为:printgrid(grid): prints the grid represented by the nested list, one row per line (this module may be helpful in testing and debugging your code) printgrid(grid):输出用嵌套列表表示的网络,每排代表一行(这一模型可能对测试和调试你 阅读全文
posted @ 2011-04-26 00:18 牛皮糖NewPtone 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 1.利用Python中自带的help()查询,例如:2.利用Python自带的Pythonv2.6.2documentation,在PythonShell下选择help,选择PythonDocs3.去官网查询所需资料http://www.python.org/doc/4.Python(x,y)中配备了丰富齐全的帮助文档,你可以在document中找到它们。 阅读全文
posted @ 2011-04-25 16:07 牛皮糖NewPtone 阅读(11153) 评论(0) 推荐(0) 编辑
摘要: 给出a = [3, 3, 5, 7, 7, 5, 4, 2]使用a = list(set(a))a=[2, 3, 4, 5, 7]不光删除了重复元素,还进行了排序再来看看字符串吧,同样删除了重复元素,并进行了排序>>> a = set('abracadabra')>>> b = set('alacazam')>>> a # unique letters in aset(['a', 'r', 'b', 'c', 'd'])>& 阅读全文
posted @ 2011-04-25 15:30 牛皮糖NewPtone 阅读(996) 评论(0) 推荐(0) 编辑
摘要: 本来是不想玩NS的,这与我的研究方向完全无关,只是实验室的某个女生真的是太(以下省略300字)了...我一怒之下,装了个NS3,突然发现这玩意居然可以用Python来写脚本啊。要知道以前NS2可是用神马的Otcl语言写的...打开教程,按上面下载,解压缩,编译,花了好久时间才搞定。这里有好人写的中文教材:http://blogold.chinaunix.net/u3/105477/article_132571.html发现例子居然是C++的,还不讲如何用Python脚本。我先按照运行c++脚本的例子,尝试运行tutorial下的first.py,宣告失败。好吧,开始google,中文资料里翻来 阅读全文
posted @ 2011-04-23 15:49 牛皮糖NewPtone 阅读(8183) 评论(0) 推荐(0) 编辑
摘要: 在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。 Lua的语法比较简单,学习起来也比较省力,但功能却并不弱。 在Lua中,一切都是变量,除了关键字。请记住这句话。I.首先是注释 写一个程序,总是少不了注释的。 在Lua中,你可以使用单行注释和多行注释。 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止。相当于C++语言中的"//"。 多行注释中,由"--[["表示注释开始,并且一直延续到"] 阅读全文
posted @ 2011-04-21 23:51 牛皮糖NewPtone 阅读(10187) 评论(0) 推荐(0) 编辑
摘要: 感谢PyMOTW中文翻译小组,这是一个很棒的技术文摘,类似于cookbook。模块: ConfigParser目的: 读取/写入配置文件,类似于Windows的INI文件python版本: 1.5+1.1 描述 ConfigParser模块可以为你的应用程序创建用户可编辑的配置文件. 这个配置文件由一个个节组成,每个节可以包含配置数据的名字-值对.支持通过使用Python的格式化字符串进行值的插入, 以此来构建那些依赖于其他值的数据值(这对路径或URL来说是尤其方便的).在工作中,当我们把东西移动到svn和 trac 之前, 我们开发推出了自己的用于进行分布式代码复查的工具. 为了准备好需要复 阅读全文
posted @ 2011-04-21 21:54 牛皮糖NewPtone 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 此书是由图灵奖得主Milner 大牛写的目前关于π演算的第一本专著。然后由大牛林惠民院士翻译引进的。贴个当当的书图,有兴趣得童鞋可以去弄本看看。 阅读全文
posted @ 2011-04-20 00:16 牛皮糖NewPtone 阅读(726) 评论(0) 推荐(0) 编辑