当前课程知识点:Petri网:模型、理论与应用 > 第四章 网论 > 4-12 汉诺塔问题 > 第二部分
所以这就是它的规律
要说旋转几次呢
就是这个m这个基数
除以三它的余数
因为你旋转零次旋转一次旋转二次
然后在旋转的又是零次
所以只要计算它的余数就行
所以这样一来你给了一个L以后
我把这L分解成2的开次方乘以m
有了这个k我知道他在第几层
N减k层N减k是个偶数
那么他的第一个操作一定是acb
如果a减k是基数
那么他的这个第一个操作应该就是abc
然后这个m如果除3的余数是零
那么它就是abc或者是acb
那么如果她是余数是一那就旋转一次
abc旋转一次就变成cab
acb旋转一次变成bac
如果它的余数是2那就旋转两次
这样一来给了一个L以后
我通过分解这个L这个整数我就知道
它一定是这样操作
从哪个柱子移到哪个柱子
所以我们的目的就达到了
我们就可以写出我们的程序了
对不对这个程序我们刚才讲C net
它本身就是程序下面这两页呢
就是用C net写的汉诺塔
的程序我这就不去细说了好吧
有了这两个程序
我们就可以计算了你给我一个m
我告诉你这一步怎么样移
你给我一个m我判断一下它只要是
大于等于1小于等于2n减一的话那么我就来算
它在第几层它是第几个
然后旋转多少次从abc或者是acb
就把它算出来了
这就是用ARM
来找准目的然后完整的解决
这个汉诺塔问题而且最后我们把他写成了程序
当然也就我们整个分析过程
你可以回过头来用这个
数学方法来证明我觉得没有必要再去证明了
对吧所以这个方法比较简单我们把它变成程序
这个程序效率高比那个递归程序的效率要高得多
而且我们真是可以并行的一塌糊涂你可以用
二的n次方减一个机器
计算所有的
这个部署每一步怎么移
实践当中刚才我已经说过了这个ARM
并没有被人理解
我记得是哪一年呢
三年以前在上海东华大学
我去介绍这个ARM
当时有一个澳大利亚回来的吧
杨教授
就说我们就是这样做的呀
我们这个程序设计
就是从这个抽象开始的
但是底下的学生都知道
没有他没有这个我下面会讲的
所以programming没有从目的
出发来分析问题因此它的programming
就存在着问题以至于我们现在无法来验证
程序的正确性
另外业务管理流程
目的也不清楚
搞不清楚为什么我们要建个模型
就匆匆忙忙的建模了
那么提出来的什么呢
最早流传最广
就是WF_net我会给大家介绍一下
WF_net为什么错
错在了什么地方下面就把这个ARM用来
讨论这个业务流程管理就是BPM问题
这个业务流程呢它的起源是工作流
早在2000年左右吧
这工作流就已经有了一个国际工作流联盟
他们出版了一本叫做reference model
在那个里面给这个工作流或
工作流管理系统给了个定义
我这上面写出来了大家可以看看
所以这个工作流是怎么定义的呢就是
The computerized facilitation or
automation of a business process
in whole or part
然后就工作流系统呢我就不念了
这个比较长
有3行大家自己去看
那么这个定义里面他对这个要点是什么呢
一个是automation
就是business process automation
一个就是execution of aoftware
软件的执行
再一个就是driven by process logic
这是权威的国际工作流联盟提出来的
正式的文字提出来的
那个定义里面的要点
这个要点怎么样
这个要点其实是不明确的
你看看他的这个目的
目的是automation是什么措施
execution of software好像是有目的有措施
另外还有基础process logic是它的基础
要追问process logic
但是呢
目的明确吗
这个process logic明确吗
我们看目的不明确
权威的国际工作流联盟提出的这个刚才我说了
有目的有措施有基础但是目的不明确
基础欠缺准确的定义因此措施呢
也就不能落实
为什么说它目的不明确
因为一个business process
到底哪些成分是能够自动化的
哪些成分是不能够自动化的
我们自动化到底要干什么
不清楚他只是说in whole or part
Not part
所以这个目的是不清楚
下面我们来分析他的目的以后就
搞清楚哪些能自动化哪些不能自动化
有了这个以后我们才能定义准确的定义
process logic它现在只提出了一个概念
叫做process logic
但是到底什么是process logic
process logic是什么东西的logic
不清楚
既然logic不清楚你怎么来设计这个software
设计不出sofeware怎么execution of software
所以呢从不明确的目的不准确的目的
到不明确的logic到无法设计或执行的software
这个我倒是要多说两句
就是现在软件工程当中的一个共性
就是给出来的定义都是非形式化的
然后定义你也不能说他错
但是你也不能说他对
不同的人会有不同的理解
所以我在讲课的时候说
我们那里有硕士生答辩
答辩完了老师讨论的时候有两个老师
尤其是固定的有两个老师
因为他们都是教软件工程的
他们会吵起来
因为有人说是这么理解的这个定义
另外一个人是那么理解的这个定义所以呢
我们要克服软件工程的这个
非形式化所以刚才我讲的理工科学生的
这个基本功要能够形式化
要能够形式化的建模
也没有形式化说的话不准确理解起来
就有歧义了
所以刚才这个国际组织定义的这个东西
就有这个特点
说的不清楚你说他错也不错你说他对
你也不同的人会有不同的理解而且你
没法准确的给出他一个理解
好这个wf net我刚才说了
就是最早的流行最广的
一个以Petri网为基础的工作流模型
这个模型呢就是在
我相信就是在这个工作流联盟这个定义底下
起源于这个定义的
我们为什么用Petri网这点是对的
我是同意的因为工作流里面的特点就是流动
工作在流动
那么这个工作的流动为特征这才是最大的特征
就叫工作流
所以Petri网就是以流动为特征
这最适合用Petri网模拟
所以选Petri网是没问题的
但是wf net因为没有搞清楚
哪一些东西那个automation
能够自动化
所以它给出的那个模型
不能够完全描述所有的business process
business process而且里面有许多问题那么
下一次课呢我用一个具体的例子
来给大家说wf net
错在哪里哪里有问题
然后我们反过头来再来分析
这个业务流程管理他的目的是什么
然后从这个目的着手我们重新开发出一套
prtri网络模型这一套模型没有了它这些缺点
而且是对概念的理解很有帮助什么叫工作流
什么叫bp什么叫bpm什么叫bpma
就是business process
business process automation
这些概念我们都能够搞得很清楚
好这些内容我们下次再讲今天就讲到这谢谢大家
-概述
--Video
-有向网
--Video
-3-1 Petri网定义
--Video
-3-2 Petri网层次系统
--Video
-3-3 基本网(EN)系统
--第一部分
--第二部分
--第三部分
--第四部分
-第三章 Petri网--3-3 基本网系统课后思考题
-3-4 条件-事件(C-E)系统
--Video
-第三章 Petri网--3-4 条件-事件系统课后习题
-3-5 库所-变迁(P-T)系统
--Video
--Video
--Video
--Video
--Video
-3-5 库所-变迁(P-T)系统课后习题--作业
-3-6 网系统层次
--Video
-3-7 高级网系统
--Video
-3-8 化简网系统
--Video
-3-9 非线性网系统
--Video
-3-10 小结
--Video
-4-1 前言
--Video
-4-2 网拓扑
--Video
-4-3 并发论
--Video
-4-4 网逻辑
--Video
-4-5 信息流网
--Video
--Video
-4-6 同步论
--Video
--Video
-4-7 同步论-合同实例
--Video
-4-8 同步论-婚礼教堂实例
--Video
-4-9 同步论 同步器
--Video
-第四章 网论--思考题1
-4-10 实例与方法——电梯控制
--第一部分
--第二部分
--第三部分
--第四部分
-4-11 建模方法论
--Video
-4-12 汉诺塔问题
--第一部分
--第二部分
-第四章 网论--思考题2
-5-1 工作流管理联盟
--Video
-5-2 工作流网(WF_net)
--Video
-5-3 Artifacts
--Video
-5-4 BPMN2.0
--Video
-5-5 学界
--Video
-5-6 业务流程管理(BPM)
--Video
-5-7 BPM建模
--A of ARM
-5-8 流程举例
--第一部分
--第二部分
-5-9 流程之外
--Video
-Petri网小结
--Video
--Video
-6.1 过程挖掘基础
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-6.2 过程挖掘工具
--Video
--Video
-6.3 过程挖掘算法介绍
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-6.4 未来研究方向
--Video
-7.1 科研三要素
--Video
-7.2 Program today
--Video
-7.3 Program yesterday
--Video
-7.4 Theory of Programming
--Video
-7.5 A of ARM
--Video
-7.6 R of ARM
--Video
-7.7 M of ARM
--Video
-7.8 OESPA
--Video
-第七章 科研思考--习题
-8.1 树个靶子
--Video
-8.2 八卦与自然
--Video
-8.3 结束语和感谢
--Video
-第八章 总结--习题