petri网初步
历史:
Petri网的概念是德国的Carl Adam Petri早在1962年提出来的。他在他的论文里提出了一个新的信息流模型,这个模型基于系统各部分的异步并发的操作,并把各部分之间的关系用网状的图来描述。
Petri net graph:
Petri网用于描述和分析系统中的控制流和信息流,尤其是那些有异步和并发活动的系统。
圆圈表示位置( place ),圆圈中有标识( token )表示条件( condition )满足。线段( bar)表示变迁( transition )。一个Petri net graph如下图所示:
因为petri网中的弧是有方向的,所以petri网图是有向图。又因为petri网中的节点可以分为两个集合:place和transition,并且每条弧都是从一个集合中的元素连到另一个集合中的元素,所以petri网图是一个有向二分图。
Petri网的结构:
用四元组表示:位置的集合P,变迁的集合T,输入函数I,输出函数O。C = ( P, T, I, O)。下面是一个例子:
C = ( P, T, I, O)
P = {p1, p2, p3, p4, p5}
T = {t1, t2, t3, t4 }
I(t1) = {p1} O(t1) = {p2, p3, p5}
I(t2) = {p2, p3, p5} O(t2) = {p5}
I(t3) = {p3} O(t3) = {p4}
I(t4) = {p4} O(t4) = {p2, p3}
上面是petri网的形式化描述,通常使用简明直观的petri net graph来阐明petri网的许多概念。
Marked Petri net:
一个petri网的标识可以用一个向量表示μ= (μ1, μ2, …μn)。μi代表pi的token数目。一个标识的petri网叫做marked Petri net,M = ( P, T, I, O, μ)。
任何时候,在任何位置( place )有不多于一个的标识的Petri网,叫做安全网( safe net )。推广之,在任何位置同时不多于k个标识的Petri网,叫做k-bounded net。如果不知道k的值,简单地叫做bounded net。“有界”代表着petri网在物理上的可实现。
如果Petri网中token的总数保持不变,称这个petri网是保守( conservative )的。它隐含着,每个可触发的变迁( transition )输入的数目等于它输出的数目。
Petri网的执行和可达性问题:
如果一个变迁的每个输入都至少有一个token,则这个transition被enabled。变迁发生时,会从它的每个输入移去一个token,在它的每个输出放置一个token。
一个petri网的状态是它的所有标识的集合(向量μ)。当一个变迁发生时引起的状态变化由一个局部函数δ来定义,叫做下一状态函数。
从一个标识μ可以同时发生一组变迁。如果从μ同时发生一些变迁可以得到μ’,称μ’是立即可达( immediately reachable )的。可达集合( reachability set )R(M)被定义为M = (P, T, I, O, μ)从μ出发可以得到的所有状态的集合。
给定一个标识的petri网,标识记作u。给定一个标识u’。是否可以从u得到u’是petri网的可达性问题。可以看作集合可达性问题的一个特例,很多问题都可以归约到可达性问题。
如果没有一个变迁激活序列可以触发一个变迁,我们称这个变迁是死的( dead );反之,变迁是活的( live )。为了研究操作系统的死锁问题,在Perti网中定义了变迁的deadness和liveness。
用Petri网建模的例子:
Petri网适合对存在并发、并行的事件的离散事件系统进行建模。一般用位置( place )表示条件,用变迁表示事件。看下面的图,是一个简单计算机系统的例子:
petri网初步的更多相关文章
- petri网学习心得
本文转载自duxw,如给您带来不便之处,请联系博主. 1.Petri网书籍:<petri网导论>,吴哲辉 非常适合初学者.概念清晰,容易理解. 2.工作流书籍:<Workflow M ...
- 《转》常用Petri网模拟软件工具简介
本文转载自liusj2003,如给您带来不便之处,请联系博主. 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World: http://www.informatik.uni ...
- 基于Petri网的工作流分析和移植
基于Petri网的工作流分析和移植 一.前言 在实际应用场景,包括PEC的订单流程从下订单到订单派送一直到订单完成都是按照一系列预先规定好的工作流策略进行的. 通常情况下如果是采用面向过程的编程方法, ...
- 常用Petri网模拟软件工具简介
常用Petri网模拟软件工具简介 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World: http://www.informatik.uni-hamburg. ...
- Petri网
Petri网是一种适合于系统描述和分析的数学模型,主要描述异步和并发关系.(或者Petri网是对离散并行系统的数学表示,适用于描述异步的,并发的计算机系统模型.) Petri网模型自然,直观,简单易懂 ...
- Petri网的工具
需要寻找 Petri 网的工具的朋友可以在 http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/complete_db.html 里面找一 ...
- 用于并发系统建模和验证的着色Petri网及其工具软件的CPN Tools(笔记整理)
1.着色Petri网(CPNS)是一种建模和验证系统的语言,在这些熊中并发性,交互性和同步性扮演着主要的角色,着色Petri网是一种功能编程语言Standard ML结合起来的离散时间建模语言,Pet ...
- petri 网理论与研究(第一节140915)
成绩 :70 大作业 和 30 的最后讨论 petri 是一个人的名字. 网状结构的信息流模型,和自动机有点像 理论体系发展比较慢 应用很远 1 EN,P/T,Pr/T,CPN,关系网……
- hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍
1.如何访问hadoop官网?2.如何下载hadoop各个版本?3.如何查看hadoop API? 很多同学开发都没有二手资料,原因很简单觉得不会英语,但是其实作为软件行业,多多少少大家会英语的,但是 ...
随机推荐
- 手动解析Excel获取文件元数据
工作中有遇到需要获取上传的Excel文件的列明.最大行数.大小等元数据信息.通常做法是通过Apache的POI工具加载文件然后再读取行列进行处理.这种方法很大的弊端就是需要把excel文件加载到内存, ...
- [BUAA2017软工]个人作业week-1
一.快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上. 1.在第二章个人技术和流程,邹欣老师提到了一张表格,主要解释了效能分析的一些名词,其中有这么几个概念: 调用者:函数Foo ...
- wpf后台设置颜色(背景色,前景色)
有时候你是不是也会遇到要在wpf后台给某个控件设置背景色或者给文字设置前景色的情况? 本人最近看到一个从自定义的combobox读取系统字体和颜色的实例,该实例实现了随字体combobox选项改变而改 ...
- 移动web适配利器-rem
移动web适配利器-rem 前言 提到rem,大家首先会想到的是em,px,pt这类的词语,大多数人眼中这些单位是用于设置字体的大小的,没错这的确是用来设置字体大小的,但是对于rem来说它可以用来做移 ...
- php错误报告和调试
3. 错误报告和调试 常常犯的一个错误是忘记关闭 PHP 错误和数据库错误报告,这样做是有风险的.在任何一个公开的站点,error_reporting 应该设置为0 ,最多只能设置为 E_ERROR, ...
- delphi手动创建dataset并插入值
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...
- bzoj2302-Problem c
题意 有 \(n\) 个人,从 1 到 \(i\) 编号.给每个人一个值 \(a_i\) ,他们会按编号从小到大进行如下操作:查看 \(a_i\) 有没有人,若没有就坐进去,否则查看 \(a_i+1\ ...
- BZOJ5123 线段树的匹配(树形dp)
线段树的任意一棵子树都相当于节点数与该子树相同的线段树.于是假装在树形dp即可,记忆化搜索实现,有效状态数是logn级别的. #include<iostream> #include< ...
- Candies CodeForces - 991C(二分水题)
就是二分暴力就好了 为什么要记下来 呵呵....emm你说为什么... 行吧 好吧 我一直以为我的二分出问题了 原来不是 依旧很帅 统计的时候求的减了多少次 然后用次数乘了mid 这样做会使那个人获 ...
- MT【142】Bachet 问题,进位制
问题: 满足下面两种限制条件下要想称出40以内的任何整数重量,最少要几个砝码: i)如果砝码只能在天平的某一边; ii)如果砝码可以放在天平的两边. 提示:对于 i)先证明如下事实: \[\textb ...