历史
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 )表示条件,用变迁表示事件。看下面的图,是一个简单计算机系统的例子:
 

 
参考:
James L. Peterson的《petri nets》。

petri网初步的更多相关文章

  1. petri网学习心得

    本文转载自duxw,如给您带来不便之处,请联系博主. 1.Petri网书籍:<petri网导论>,吴哲辉 非常适合初学者.概念清晰,容易理解. 2.工作流书籍:<Workflow M ...

  2. 《转》常用Petri网模拟软件工具简介

    本文转载自liusj2003,如给您带来不便之处,请联系博主. 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World: http://www.informatik.uni ...

  3. 基于Petri网的工作流分析和移植

    基于Petri网的工作流分析和移植 一.前言 在实际应用场景,包括PEC的订单流程从下订单到订单派送一直到订单完成都是按照一系列预先规定好的工作流策略进行的. 通常情况下如果是采用面向过程的编程方法, ...

  4. 常用Petri网模拟软件工具简介

    常用Petri网模拟软件工具简介 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World:       http://www.informatik.uni-hamburg. ...

  5. Petri网

    Petri网是一种适合于系统描述和分析的数学模型,主要描述异步和并发关系.(或者Petri网是对离散并行系统的数学表示,适用于描述异步的,并发的计算机系统模型.) Petri网模型自然,直观,简单易懂 ...

  6. Petri网的工具

    需要寻找 Petri 网的工具的朋友可以在 http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/complete_db.html 里面找一 ...

  7. 用于并发系统建模和验证的着色Petri网及其工具软件的CPN Tools(笔记整理)

    1.着色Petri网(CPNS)是一种建模和验证系统的语言,在这些熊中并发性,交互性和同步性扮演着主要的角色,着色Petri网是一种功能编程语言Standard ML结合起来的离散时间建模语言,Pet ...

  8. petri 网理论与研究(第一节140915)

    成绩 :70 大作业 和 30 的最后讨论 petri 是一个人的名字. 网状结构的信息流模型,和自动机有点像 理论体系发展比较慢  应用很远 1      EN,P/T,Pr/T,CPN,关系网……

  9. hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍

    1.如何访问hadoop官网?2.如何下载hadoop各个版本?3.如何查看hadoop API? 很多同学开发都没有二手资料,原因很简单觉得不会英语,但是其实作为软件行业,多多少少大家会英语的,但是 ...

随机推荐

  1. [转帖]IPV6取代IPV4之路 为何道阻且长?

    IPV6取代IPV4之路 为何道阻且长? 经济学人公众号 IPV6作为IPV4的续命神术,从被提出到现今,逾26年之久.而IPV6在中国更是犹抱琵琶半遮面,千呼万唤难出来,IPV6取代IPV4之路,为 ...

  2. PowerCLI

    最近需要用命令行操作VMWare,现将一些经常用的命令记录一下.安装VMWare命令很简单,不再像原来需要单独下载PowerCLI安装包,直接在Powershell Gallery里在线安装即可. # ...

  3. 设置session的过期时间

    1)修改php.ini文件中的gc_maxlifetime变量就可以延长session的过期时间了 session.gc_maxlifetime = 86400 然后,重启你的web服务(一般是apa ...

  4. 数据库性能优化之SQL语句优化(下)

    (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最 ...

  5. ZooKeeper-基础介绍

    What is ZooKeeper? ZooKeeper为分布式应用设计的高性能(使用在大的分布式系统).高可用(防止单点失败).严格地有序访问(客户端可以实现复杂的同步原语)的协同服务. ZooKe ...

  6. Luogu 5108 仰望半月的夜空(后缀数组)

    如果是要求左端点最大,直接求出SA,找前缀名次最小值就可以了.虽然现在要左端点最小,但我们已经知道了这个字典序最小的串是什么,找到名次数组上的合法区间求最小值即可.我也不知道为什么我会弃掉这个题,可能 ...

  7. mapreduce方式操作hbase

    一.导入数据到hbase 1.配置hbase-site.xml指向hdfs <configuration> <property> <name>hbase.rootd ...

  8. 快速配置java环境变量

    右键单击计算机--->属性 点击 “高级系统设置”--->"环境变量",出现环境变量设置窗口 系统变量--->新建 JAVA_HOME变量,变量值填写jdk安装路 ...

  9. 模板:快速傅里叶变换(FFT)

    参考:http://blog.csdn.net/f_zyj/article/details/76037583 如果公式炸了请去我的csdn博客:http://blog.csdn.net/luyouqi ...

  10. BZOJ1113 [Poi2008]海报PLA 【分治 + 线段树】

    题目链接 BZOJ1113 题解 显然只与高有关,每次选择所有海报中最低的覆盖所有海报,然后分治两边 每个位置会被调用一次,复杂度\(O(nlogn)\) \(upd:\)智障了,,是一道\(O(n) ...