当前课程知识点:Petri网:模型、理论与应用 >  第三章 Petri网 >  3-9 非线性网系统 >  Video

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

Video在线视频

Video

下一节:Video

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

Video课程教案、知识点、字幕

到现在我介绍完了

EN系统 P/T系统 高级网系统以后

属于Petri网的

网系统模型的一部分就没有了

Cybernet它是一个非线性的网系统

这个我还没搞清楚

哪些部分怎么就不合适了

这是Petri说的话我记住

我跟大家交代在这儿

但是我自己没仔细的去推敲这句话

就是Cybernet

它是非线性系统这个很清楚

理论部分为什么不实用

什么情况下不实用

这个我没有去推敲

你要有兴趣自己可以去研究研究

就Cyberne改变的其实很简单

咱们讲的权函数上面不是一个常数吗

你不管这个常数你是用谓词变迁系统来表示也好

你是用有色网系统也好

它消耗的资源的个数和种类始终是一样的

是一个常数

所以那个是线性系统

非线性系统呢就是允许它是可变的

我这个权呢在这个状态下我是1

在那个状态下我是2

在那个状态下我是3

不是一个固定的常数

所以这就是一个非线性的系统

那么怎么给出这个非常数呢

我们就用S元素来表示

所以这个弧上面的权

可以是个S元素的名字

或者说用一个小圆圈

把那个弧从那个库所引导到这条弧上

就表示这个库所就是我这个弧上面的权

也就是说这个弧上面的权

就是一个S元素的名字

什么意思呢

如果你在一个标识下面来考虑

这个变迁是不是可以发生

这个时候的权就是

当时在这个状态下S元素里面

有几个token那个权就是几

因为S元素里面的token数是在变化的

所以权也是在变化

这个变化是由系统在运行当中改变的

所以它是一个非线性的系统

我们下面看个例子

比方说这个

这是将来我们要讲的

电梯系统的一部分

这是什么部分呢

这个是表示这个电梯

是在上升方向处在i这一层

这个箭头这个符号是不需要的

应该是一条横线就表示u

一横线然后at

u表示是up上升方向

at是处于第i层楼

如果这个电梯在第i层楼处于上升的方向

你现在电梯里面这个l(i)

就是电梯里面的那个Button

说我要在第i层楼停下来

我要到第i层楼

Fu(i)是我在第i层

我要往上走我按了这个

所以这Fu(i)里面的token表示已经按下了

在楼层上面按下了上升的Button

那么这个Fu(i)里面就有一个token

如果我们用P/T系统来描述

这个电梯在i层要停下来开门

然后让人上或者下呢

就需要三个变迁

这三个变迁是什么

第一个最上面的一个是说

电梯里面有人要在i层下

但是楼层上没有人按

所以是一个约束弧这个地方

第二个是说楼层上也有人要上电梯 上去

电梯里面也有人要下来在这个i层

第三个变迁是说电梯里面没有人要下来

但是楼层上面有人要上去

所以在这三种情况下

我这个电梯都得在i层停下来开门

这个就是开门

如果我们用传统的

线性的Petri网系统

你得用三个变迁来描述

分别的描述

三种不同的情况

这个地方有一个token

落在网系统的外面了

这表示什么呢

楼层上有一个人

他还没来得及摁

他摁了那就是这个发生

他不摁那就是这个发生

所以要用三个不同的变迁来描述

开门 停下来 开门这同一个动作

这个就显然阶段性太多了

如果我们要用Cybernet呢

我们就可以这样来描述

你看 我刚才讲了这就表示什么

从这个有一条弧

然后这个前面的是一个小圆圈

这就表示什么

这条弧上面的权就是S元素l(i)

所以底下这个也一样

这条弧上面的权就是Fu(i)

自空网系统什么意思

我们要在这个状态下面

看看电梯是不是需要停下来

那我们就看

这条弧上面是有一个权函数是它

它里面有一个token

所以这就是说他的权就是1

如果l(i)里面有两个token

那这个就是2

反正把你所有的token都拿掉

当然l(i)里面不可能有两个token

因为有人向你摁几次

那个灯都是一个亮的

不可能两个人摁就有两个灯亮

所以那里边最多也就只有一个token

有token就表示有人摁了

没token表示没人摁

这个图就只有一个变迁

就能够表示在i层的电梯需要开门

只要l(i)里面有一个token

或者Fu(i)里面有个token

或者这两个里面都有token

我就把它都拿掉

反正有我就拿掉

需要说明的是

如果两边都没有呢

我们要求这种弧至少有一条

权不是零

这个才有发生权

它才能够发生

否则如果都是零的话

没有意义对吧

你什么都没有

你也不知道它发生了几次

所以呢这两个控制弧

这种弧上面

至少要有一条上面的权

在标示底下不是零

它就能够发生了

这个就是suber light

我们是不是看到了它的作用

suber light非线性的

0也行 1也行

所以这个就大大的减少了

变迁的个数

使得我们描述一个实际的系统呢

大大的简略了

将来我们讲电梯系统的时候

会回到这儿来再继续讲这个

suber light在文献里面

已经存在了很长时间

就我的记忆好像是

上个世纪的80年代就有

在文献里面可以找到它的定义

但是一直没有怎么很好的用

为什么呢

因为它虽然是非线性的

但是它增加的功能并不多

我们说增加的功能

就是我们用起来比较方便

如果从模拟力来说

不需要非线性

那么有人证明了

说Petri网跟图灵机的模拟能力是一样的

所以我们说的能力增加

不是说它就模拟能力增强了

而是说我们用起来方便了

它增加的毕竟不是很多

为什么我们这样说呢

因为

归根到底库所里面的所有的只是一个token

而我们能够处理的数量

就是一个正整数

变迁的发生改变的是token的数量

要么是减法要么是加法

所以数据类型很简单

只有正整数这个类型

数据操作很简单

只有加法和减法

不管你是suber light

还是我们一般的Petri的系统

所以它们都不能够处理

复杂的数据结构和复杂的数据操作

因为Petri网它的目标应用就是计算机

计算机里面处理的就是大量的数据

如果没有数据的话

那么用起来我们会很不方便

就像让你写程序的时候

直接用机器语言写程序

用零 一 二进制来编程序

这个我是做过的

我刚开始学计算机的时候

就是用机器语言来写程序

写一个简单的小程序都是很复杂的

而且它的可读性很差

你发现错误改正错误都很不容易

所以计算机语言的出现

就是要增加语言的可读性

减少人的负担

既然petri网目的是用来解决计算机的问题

所以能不能够

直接让人能够使用复杂的数据结构和

数据结构的操作

这就是一个很关键的问题

虽然不用它也能做得到

但是人 那就是自己背上一个很重的包袱

而且很容易出错

所以我就在Petri网里面引进了变量

这一类新的S元素

为什么我叫它C_net

C有两层含义

一个是communication 通讯

一个是computation 计算

其实最早的计算机并不单单是计算

计算完了

还是要有人来读还是要交流

所以computation不仅仅是计算

它也有传输的功能

那么communication

你不能是一样东西不加改变的传来传去

它必须要经过每一个计算机的接连

加工处理以后再传输

所以这两个东西有共同的地方 有区别的地方

从computation的角度来讲

我们把计算机里面的东西看成是数据

因为它是要对数据

它的结构

它的值进行操作

从传输的角度来讲

我们把这些东西看成是信息

我不知道大家有没有思考过这个问题

数据和信息到底是不同的东西呢

还是一样的东西呢

我们信赖它的作用就是在Petri网上面

引进能够表示允许数据结构和数据操作的

一对新的元素叫做变量

这样一来我们就不局限于正整数了

我们回过头来问问看

数据和信息到底是两回事还是一回事

以我的看法

数据和信息

它是同一个东西从不同的角度来认识

给一点时间你思考一下

到底数据和信息应该怎么来理解

我刚才说的是一样东西不同的理解

到底是这个理解有什么不同呢

一会儿我再回到这个问题来

我们刚才讲了在Petri网里面

引进一类新的S元素

也就是变量

那么这样一来

Petri网的就有两类的S元素

一类叫做变量

一类叫做原来的Place或者是库所

变量集合由V来表示

库所集合还是由S来表示

既然有了两种S元素

那么它就有了两种标识

一种标示还是原来的

就是token的分布

在S元素里面的分布

在库所上的分布

另外一种就是变量的值

所以就有两种标识

一种是变量标识

一种是库所上的token标识

这样一来一个变迁能不能够发生

就有两种发生权

一个是token允许不允许它发生

它需要消耗的token有没有

我们讲了

从P/T系统讲起

我们已经把所有的容量函数看成是无穷了

因为有S补可以技术上改造成无穷

所以不考虑容纳的下 容纳不下

所以它所要消耗的库所里面

是不是有足够的token

这是token的发生权

或者叫做库所发生权

另外一个变量里面的值

我需要值是有没有

符合不符合我这个操作的条件

这种叫做变量发生权

所以一个变迁在两个条件都符合的情况下

才有发生权

一个是库所发生权

一个是变量发生权

它都有那么它才能够发生

发生的时候它改变的是什么呢

改变的是两种东西

既改变库所里面token的分布

也改变变量的值

改变变量的值就是赋值语句

改变库所里面的token数

就是按照我们P/T系统里面所讲的那样来改变

所以它的一个变迁发生的时候

它的后继又分两部分

一个是库所后继

一个是变量后继

用什么来表示呢

图示

因为Petri网都是可以用图来表示

变量为了跟库所有所区别

我是采用了两个圆圈

套在一起的双环来表示一个变量

变量上面允许两种操作

一个是读操作

一个是写操作

当然也可以读写同时对一个变量都对它进行操作

如果是读操作

小箭头指向的是变迁

就像我们的约束弧一样的

约束弧不就是从库所指向变迁的吗

那个也只是起到读的作用

看看里面是不是有token

所以我们还继承下来

所以要多一个变量就是用

从变量到变迁的一个

以小圆圈作为箭头的

这样一个箭头来连接

写就是把箭头倒过来

库所那边是由小圆圈作为箭头的

从变迁指向变量

如果是读写操作

我对一个变量既读又写

就像电梯

你去读出这个button有没有被摁下去

楼上有没有人呢

你读了的话

这个灯也就写了

就是我知道了

有人读我要来提供服务了

这个读写对于楼层的button来说

是既读又写的

这个我们就用

两头都有小圆圈

或者两头都没有

这就表示

读写操作对同一个变量同时操作

所以C_net是写并行程序的网系统

C_net跟P/T系统一样

跟所有的Petri网系统一样

它没有全局的控制

也没有局部的控制

但是如果你的应用需要有这种控制的话

你可以借用token来实现它的token的流动

来描述控制流的流动

所以也可以实现

我们这个系统本身没有

但是如果你应用需要的话

可以用token的流动

来体现控制的流动

另外我们刚才讲的有两类S元素

有两类状态元素

一类的是库所 一类的是变量

每一个变迁不一定一定要跟这两个都有关系

一个变迁可以只跟一类

比方只跟库所有关系

它就是纯粹的原来Petri网里面的变迁

也可以只跟变量有关系

没有库所相连

也就是没有控制流

所以这两个都是允许的

一个变迁可以跟库索和变量同时相关

也可以只跟其中一类相关

下面我们看到的这个

就是一个简单的例子

这还是像suber light描述的那样

这是一个楼层上面

电梯在上升方向

到达了第i层

如果这个时候l(i)是电梯里面的这个button

有人想要在这一层下

这个Fu是楼层上面的button

有人想要在这上电梯

这个是用C_net来描述

有一个变迁就描述成这样

我们知道用P/T系统是需要三个变迁

而C_net只需要一个

这个时候它有两种发生权

我们刚才讲了

从库所的角度来讲

它就输入

也就是u_at(i)那个i那里有一个token

所以呢它是具有库所发生权的

那么从变量的角度来讲

变量它符合什么条件这个变迁能够发生

这个电梯需要停下来开门呢

就需要l(i)里面有token

或者是Fu里面有token

这是过去我们说的

现在我们用变量来说

l(i)或Fu用的都是布尔变量

它的值要么是1要么是0

要么是真要么是假

在变迁里面有一道杠

这个杠的上面就是这个变迁发生的条件

它写的是l(i)或者Fu(i)

也就是说这两个布尔变量里面

只要有一个成真

就符合发生的条件

也就具有了变量发生权

这个变迁是有库所发生权的

一旦它有了变量发生权

就可以发生了

发生以后的结果呢

从库所来讲

它会在u_open那个地方

那个库所里面放上一个token

表示现在电梯是处在开门的状态

赋值这一部分 变量这一部分怎么改变呢

那当然就是把这两个

凡是成真的

有人要上或者有人要下的

已经服务完毕

门一开服务就完毕了

所以都它们赋值成零

也就是说都不真了

没有人再要求了

所以在Fu上面有一杠 一个OverBar

就表示是写这个变量

这个变量名字上面的这一Bar表示写操作

写操作后面有一个圆括号里面的那个值 那个零

就是赋值表达式里面的数学表达式

用这个表达式的值来给这个变量赋值

所以OverBar是一个二元操作

一个是写谁

就是OverBar下面变量的那个名字

第二个元就是用什么来写

就是小括号里面的那个数学表达式

这种赋值语句的写法

我正在写一本书在介绍

这就是

我们现的程序语言

它是把程序里面的语法和语意

是分别研究的

所以现在的程序语言

写出来的程序

你没有办法证明它是正确

所以只能够用testing

用数据来测试

测试没有发现错误

你也不能说我这个程序对了

你发现了一个错误改正这个错误

你还是不能说这个程序对了

因为你改了一个错

可能引进了两个错

而 研究的是什么呢

就是把语意和语法联合起来

然后来提出来的

像我这里给出的这种赋值

这样我们可以

用公理来计算一个程序的性质

它到底做了什么

所以程序正确性的证明呢

就是可能的了

这个 我会在以后

在咱们课的后面跟大家讲

因为既然咱们用到C_net

C_net里面需要 里面的赋值语句

以及它的性质的计算

语意的公理

所以这个我到以后再讲

这是一个例子

这个地方我只对C_net做一个简单的介绍

就是用这一个变迁来给大家看看

C_net到底是个什么样子的

刚才我说了

咱们应该考虑一下数据和信息

到底有什么不同

计算机里处理的东西都是一样

你可以说它是数据

当我对它进行操作的时候它是数据

但是数据它是有语意的

如果没有语意我们在那瞎算

那计算机就没有存在的必要了

所以从结构和操作的角度来讲

我们所处理的对象是数据

从应用的角度来讲

我们所处理的对象是信息

我们对信息进行处理

得到新的信息

所以同一个东西

从不同的角度来说

它既是数据又是信息

我下面有个问题

有没有不是数据的信息

有没有不是信息的数据

你说这个数据没有任何的语意

那是什么

那是乱码

只有一种可能性

我考古学家挖出了一个乌龟壳

乌龟壳刻了一些符号

我不知道它是什么意思

我需要研究

你不知道不等于它没有

所以信息和数据

从计算机的角度来讲是一回事儿

不同的角度来理解

乌龟壳上的东西你就不能说它是数据

因为你一个数也看不见

但是如果你要是想用计算机来处理他的话

你就必须把它数字化

所以那个时候它就是数据

这个非线性系统

我就讲到这

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

-第八章 总结--习题

Video笔记与讨论

也许你还感兴趣的课程:

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