当前课程知识点:Petri网:模型、理论与应用 >  第四章 网论 >  4-12 汉诺塔问题 >  第二部分

返回《Petri网:模型、理论与应用》慕课在线视频课程列表

第二部分在线视频

第二部分

下一节:Video

返回《Petri网:模型、理论与应用》慕课在线视频列表

第二部分课程教案、知识点、字幕

所以这就是它的规律

要说旋转几次呢

就是这个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

这些概念我们都能够搞得很清楚

好这些内容我们下次再讲今天就讲到这谢谢大家

Petri网:模型、理论与应用课程列表:

第一章 概述

-概述

--Video

第二章 有向网

-有向网

--Video

第三章 Petri网

-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

--R of ARM:物理对象相关性

--R of ARM:同步器回顾

--R+M of ARM:业务逻辑

--M of ARM:化简规则

--R+M of ARM:案例语义

--R+M of ARM:管理逻辑

--M of ARM:BPMA

-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

-第八章 总结--习题

第二部分笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。