为什么不添加令牌?

时间:2015-06-16 08:14:00

标签: petri-net

阅读this文章说:

  

启用转换的触发会从每个输入中删除一个令牌   放置并为每个输出位置添加一个标记。

现在,如果我有以下网,所有单个弧

enter image description here

在发射T1之后,我希望P2包含2个令牌 - 来自P1和P4。但结果是P2中的一个标记。没有太深入数学,如何解释它?

2 个答案:

答案 0 :(得分:2)

考虑Petri网的一种方法是将它们视为谓词/事件网络,其中地方代表谓词和转换表示改变谓词真值的事件。令牌表示在给定的事件序列之后哪些谓词成立。

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

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

并且

 T1 = "A book is dispatched to a student"

只有当T1P1为真时,才可以触发P4,即持有令牌。点击T1后,我们会到达P1P4条件失效且P2成为真的状态。

以这种方式解释Petri网很容易说服自己令牌是无关紧要的,因此系统中的令牌数量,即在给定状态下为真的谓词数量,可以在没有任何特定干预的情况下改变。

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

答案 1 :(得分:0)

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

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

  1. 一个地方是圆形或椭圆形。
  2. 过渡是正方形或矩形。
  3. 输入是从圆(椭圆)到正方形(矩形)的箭头。
  4. 输出是从正方形(矩形)到圆形(椭圆形)的箭头。
  5. 标记为1的地方有一个黑点。标记为0的地方为空。
  6. [启用的转换或启用的输入没有事实上的标准图形。]
  7. 事实上的标准逻辑注释:

    1. 输入是:

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

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

    2. 输出是计算逻辑:将1添加到输出位置的标记。计算输出是触发输出。

    3. 过渡是:

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

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

    4. Petri网的典型解释是收集所有已启用的转换,选择一个启用的转换以触发,并触发所选的转换。在这种情况下,解释是选择并触发转换T1。在触发T1之后,位置P1和P4的标记应为0,位置P2的标记为1.

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