Petri net 为什么不添加代币?

Petri net 为什么不添加代币?,petri-net,Petri Net,阅读文章,它说: 激活已启用的转换将从每个输入中删除一个令牌 放置并向每个输出位置添加一个标记 现在如果我有下面的网,所有的单弧 在触发T1之后,我希望P2包含2个令牌——来自P1和P4。但结果是P2中有一个标记。在不深入数学的情况下,如何解释它呢?思考Petri网的一种方式是将它们视为谓词/事件网,其中位置表示谓词,转换表示改变谓词真值的事件。标记表示在给定的事件序列之后哪些谓词为true 例如,您的网络可以是大学图书馆以下情况的模型 P1 = "A book is available a

阅读文章,它说:

激活已启用的转换将从每个输入中删除一个令牌 放置并向每个输出位置添加一个标记

现在如果我有下面的网,所有的单弧


在触发T1之后,我希望P2包含2个令牌——来自P1和P4。但结果是P2中有一个标记。在不深入数学的情况下,如何解释它呢?

思考Petri网的一种方式是将它们视为谓词/事件网,其中位置表示谓词,转换表示改变谓词真值的事件。标记表示在给定的事件序列之后哪些谓词为true

例如,您的网络可以是大学图书馆以下情况的模型

 P1 = "A book is available at the library"
 P4 = "A book is needed by a student"
 P2 = "The student has the book"

然后,只有当
P1
P4
为真,即持有令牌时,才能触发
T1
。触发
T1
后,我们到达一个状态,
P1
P4
条件无效,
P2
变为真

以这种方式解释Petri网很容易让自己相信令牌是非物质的,因此系统中的令牌数量,即在给定状态下为真的谓词数量,可以在没有任何特定干预的情况下改变


Petri网提供了不同的解释。很容易看出,为了确保令牌的数量保持不变,Petri网应该具有一个属性,其中每个转换具有相等数量的传入和传出弧。

Petri网是根据网络元素和注释对系统的描述。网络元素有四种类型:位置、转换、输入和输出。输入将一个位置连接到过渡。输出将过渡连接到某个位置

事实上的标准图形(注释):

  • 一个地方是一个圆形或椭圆形
  • 过渡是正方形或矩形
  • 输入是从圆形(椭圆形)到正方形(矩形)的箭头
  • 输出是从正方形(矩形)到圆形(椭圆形)的箭头
  • 标记为一的地方有一个黑点。标记为0的位置为空
  • [对于启用的转换或启用的输入,没有事实上的标准图形。]
  • 事实上的标准逻辑注释:

  • 一个输入是:

    a) 确定输入是否可能触发的测试条件:如果输入位置的标记大于或等于1,则输入被启用–它可能触发。否则,输入未启用–可能不会触发

    b) 计算逻辑:从输入位置的标记中减去1。计算输入就是激发输入

  • 输出是一种计算逻辑:在输出位置的标记上加1。计算输出就是激发输出

  • 一个过渡是:

    a) 确定转换是否可能触发的测试条件:如果转换的每个输入都已启用,则转换已启用–它可能触发

    b) 计算逻辑:触发转换的每个输入和每个输出

  • Petri网的典型解释是收集所有启用的转换,选择一个启用的转换进行激发,然后激发所选的转换。在这种情况下,解释是选择并触发过渡T1。点火T1后,位置P1和P4的标记应为0,位置P2的标记应为1


    因此,令牌未按预期添加的原因可能是因为输出的实际标准逻辑注释与您认为与输出关联的逻辑注释不同。

    Dmitri,非常好的解释。这很有道理+我同意你的回答。我还问了另一个问题,如果你有机会,请查收
     T1 = "A book is dispatched to a student"