复杂系统学习(九):Petri Nets I:基础

目录

1. Petri nets简介

1.1 网状结构的组成部分

1.2 网状结构

1.3 标识(Markings)

2. 初级网络系统

2.1 前序节点集和后序节点集​编辑

2.2 Enables的条件

2.3 Step rule

2.4 不确定的情况

2.5 热和冷的过渡

3. 总结


1. Petri nets简介

一个Petri网由place、transition和弧(arc)组成。弧从一个place运行到一个transition,或者反之亦然,而不是在place之间或transition之间。弧从一个place跑到一个transition,被称为transition的输入地;弧从一个transition跑到的place被称为过渡的输出地。

从图形上看,Petri网中的place可以包含一个离散的标记(token)。标记在地方上的任何分布将代表网的一个配置,称为标记。在与Petri网图有关的抽象意义上,Petri网的一个过渡如果被启用,即在其所有的输入位置上有足够的标记,就可以启动;当过渡启动时,它消耗所需的输入标记,并在其输出位置创建标记。触发是原子性的,即是一个不可中断的单一步骤。

除非定义了执行策略(例如过渡的严格排序,描述优先级),否则Petri网的执行是不确定的:当多个过渡同时被启用时,它们将以任何顺序发射。

由于发射是不确定的,而且多个标记可能出现在网的任何地方(甚至在同一个地方),因此Petri网很适合为分布式系统的并发行为建模。

为什么需要Petri nets?

  • 通常不可能预测一个递归函数的计算会消耗多少空间。
  • 如果可用的资源不足以完成计算,进行递归计算的数据处理系统应该是可扩展的。
  • 扩展一个系统比重新开始一个更大的系统更有效率。
  • 如何描述一个可以无限扩展的系统架构?
  • 这种可扩展系统的每一次扩展都扩大了系统的空间。
  • 因此,这样一个可无限扩展的系统必须具有以下特征:没有中心部件;没有中央同步时钟。

Carl Adam Petri在他的论文《Kommunikation mit Automaten》[1](与自动机的交流)中,展示了如何构建一个可无限扩展的异步系统架构。Petri系统是由本地封闭的组件组成,通过本地接口进行通信,执行具有本地因果关系的行动。后来,当Petri开始使用图形表示他的系统时,Petri nets一词才被创造出来。Petri nets是计算机科学中最流行的概念之一。

1.1 网状结构的组成部分

Petri网是一个有两类节点的有向图:places和transitions。

复杂系统学习(九):Petri Nets I:基础_第1张图片

Place

  • 一个palce p是一个被动的系统组件
  •  用图形表示为一个圆或椭圆。
  •  一个palce有离散的状态,可以储存东西。

复杂系统学习(九):Petri Nets I:基础_第2张图片

Transitions

  • transition t是一个活跃的系统组件
  • 用图形表示为一个正方形或长方形。
  • 一个过渡会消耗、生产或转移事物。

复杂系统学习(九):Petri Nets I:基础_第3张图片

Arcs(前两个是系统组件,ARC不是系统组件)

  • arc不是一个系统组件,而是一个系统组件之间的逻辑关系。
  • 用图形表示为一个箭头。
  • 一个arc把一个palce和一个transition联系起来,或者把一个transition和一个palce联系起来;因此,Petri net是一个有向二边形图。

1.2 网状结构

Place Set:P

Transitions Set:T

Arcs Set:F

F\subseteq \left ( P\times T \right )\cup \left ( T\times P \right )所有place和transition的笛卡尔积,F只能属于这个最大集。       

N=\left ( P,T,F \right )

Places和Transitions是N的元素,F是N的flow relation。

复杂系统学习(九):Petri Nets I:基础_第4张图片

1.3 标识(Markings)

标识是对系统状态的编码,是网状结构中各处tokens的排列。

Tokens

  • Token可以代表现实世界中可以被消费、生产或转移的事物,并通过过渡来实现。
  • 一个token可以表示一个过渡的发生所要满足的条件
  • Token被放置在描述地点的圆圈和椭圆内,在图形上表示为黑点。
  • 可以用一个符号标记代替黑点来指代一个具体的事物(例如 )。

复杂系统学习(九):Petri Nets I:基础_第5张图片

 初级网系统只使用黑点token(即token从它们所代表的事物的性质中抽象出来)。

2. 初级网络系统

一个初级网络系统S\left ( N,M_{0} \right ) 

M_0是初始时刻所有place的token的情况。

复杂系统学习(九):Petri Nets I:基础_第6张图片



2.1 前序节点集和后序节点集复杂系统学习(九):Petri Nets I:基础_第7张图片

2.2 Enables的条件

复杂系统学习(九):Petri Nets I:基础_第8张图片

2.3 Step rule

复杂系统学习(九):Petri Nets I:基础_第9张图片

ABBDDEFFF\rightarrow ^{z}ABBBCDDFF

2.4 不确定的情况

复杂系统学习(九):Petri Nets I:基础_第10张图片

如果我们选择右边的transition,

复杂系统学习(九):Petri Nets I:基础_第11张图片

2.5 热和冷的过渡

到目前为止,我们假设一个启用的过渡最终会变成禁用,或者发生。 对于返回硬币(b)和c的转换来说,这确实是真实的,它们是系统内部的。 例如,投币口中的硬币最终会被转移到硬币库或被退回。 我们把这种转换称为热转换。然而,在现实世界中,插入硬币(a)和取走饼干(d)的转换是由顾客(外部系统)触发的,而且不能保证它们是否会发生。 我们把这种过渡称为冷过渡,并用B表示。冷过渡很少见,经常出现在与环境的接口处。

复杂系统学习(九):Petri Nets I:基础_第12张图片

3. 总结

  • Petri网为描述分布式系统(例如,分布式数据库和异步通信协议)提供了一种自然的形式主义。
  • 一个Petri网描述了一个由组件组成的系统,这些组件执行具有本地原因和效果的行动。
  • 一个网状结构描述了系统的被动和主动组件,以及组件之间的逻辑关系,是一个双点有向图。
  • 一个网状系统是一个网状结构和一个代表系统当前状态的标记。
  • 一个网状系统的几个过渡可以同时被启用,但只有一个被启用的过渡会被非确定性地选择发生。
  • 一个过渡的发生会导致系统进入一个新的状态,这个状态是根据当前状态用确定性的步骤规则计算出来的。
  • 在验证描述为Petri网的系统的形式属性(如可达性、有界性、有效性)方面有丰富的知识体系。

你可能感兴趣的:(复杂系统建模,学习,Petri,net)