petri-hálók strukturális tulajdonságai. invariánsok és számításuk › sites › default ›...

53
Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk dr. Bartha Tamás dr. Majzik István dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

Upload: others

Post on 25-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Petri-hálók strukturális tulajdonságai.Invariánsok és számításuk

dr. Bartha Tamás

dr. Majzik István

dr. Pataricza András

BME Méréstechnika és Információs Rendszerek Tanszék

Page 2: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismétlés: Modellezés (példa: robotcella)

• Tevékenységek (préselés, fúrás)

• Tárolók (kapacitáskorláttal)

• Újrahasználható erőforrások (robot, szerelő)

• Meghibásodás (robot)

• Véges erőforrások (alkatrészek)

2

P

D S

Robot

I

O

P P

D

Page 3: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismétlés: Dinamikus tulajdonságok

• Példa: Munkafolyamat modellje

– Teendők + tevékenységek + erőforrások

• Vizsgálandó tulajdonságok

– Megáll-e a munkafolyamat? Holtpont

– Végrehajthatók-e egyes tevékenységek? Élőség

– Felgyűlnek-e a teendők? Korlátosság

– Visszatérhetünk-e a kezdőállapotba? Megfordíthatóság

– Kialakul-e feldolgozási ciklus? Visszatérő állapot

– Letilthatják-e egymást tevékenységek? Perzisztencia

– Van-e erőforráshoz nem jutó tevékenység? Fairség

• Probléma a verifikációhoz

– Nagy méretű állapottér bejárása szükséges3

Page 4: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismétlés: Vizsgálati lehetőségek

Az elemzés mélysége szerint:

• Szimuláció

• Állapottér teljes bejárása

– Elérhetőségi gráf analízise:

Dinamikus (viselkedési) tulajdonságok

– Modellellenőrzés

• Háló struktúrájának analízise

– Statikus analízis:

Strukturális tulajdonságok

– Invariáns analízis

Egy-egy trajektória bejárása

Minden trajektória bejárásaadott kezdőállapotból(kimerítő bejárás)

Kezdőállapottól függetlentulajdonságok(bármely kezdőállapotra,kezdőállapot létezésére)

4

Page 5: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

A strukturális analízis alapötlete

• Tulajdonságok megállapítása az állapottér felvétele és bejárása nélkül– Csak a modell struktúra (helyek, tranzíciók, élek) alapján

– Kezdőállapot-független vizsgálat

– A modell és a lehetséges végrehajtási szekvenciák jellemzőinek meghatározása

• A tulajdonság definíciójától függően kimondható:

– vagy minden korlátos kezdő tokeneloszlásra igaz,

– vagy létezik korlátos kezdő tokeneloszlás, amin igaz

• Egyes esetekben csak közelítő vizsgálat– Pl. ismert egy tulajdonság teljesítéséhez, hogy hányszor

tüzelnek egyes tranzíciók, de ezek sorrendje nem

5

Page 6: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: Strukturális tulajdonságok

• Strukturális korlátosság

• Vezérelhetőség

• Konzervativitás

• Hely invariáns

(P-invariáns)

• Strukturális élőség

• Ismételhetőség

• Konzisztencia

• Tüzelési invariáns

(T-invariáns)

Petri-hálók kezdőállapot-független tulajdonságai:

6

Pontos definíciókat lásd később!

Page 7: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismétlés: A struktúra leírása

• Súlyozott szomszédossági mátrix: W = [w(t, p)]• Dimenziója: t p = |T | |P | sor oszlop• w(t, p): Ha t tüzel, mennyit változik a p -beli tokenszám

7

t1 t2 t3

p1 2 0 -1

p2 1 1 -1

p3 -1 -1 1

WT =

p1 p2 p3

t1 2 1 -1

t2 0 1 -1

t3 -1 -1 1

W =

nyer veszít indul

játékban

üzemben

zseton

p1

p2

p3

t1 t2 t3

2

Példa: t1 tranzíció tüzelése hogyan módosítja a tokenek számát

Page 8: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismétlés: Az állapotegyenlet

• Petri-háló dinamikája: tokeneloszlás módosulása

– Az új tokeneloszlás egyenlettel felírható:

M’ = M + WTet

• Előfeltétel (egyértelműséghez): tiszta Petri-háló

– Nincs olyan tranzíció, amely egyazon helynek egyszerre

bemenő és kimenő tranzíciója:

– Ebbe beletartozik: Nincs „hurokél”

• A tüzeléskor a tokeneloszlás nem változik

(szomszédossági mátrixban 0)

• De a tüzelési feltételben szerepet játszik

(van-e ott token)

:t T t t

8

Page 9: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: Egy tranzíció tüzelése

Állapotváltozás:

M’ = M + WTet

9

t1 t2 t3

p1 2 0 -1

p2 1 1 -1

p3 -1 -1 1

WT =

nyer veszít indul

játékban

üzemben

zseton

p1

p2

p3

t1 t2 t3

2

2 0 -1

1 1 -1

-1 -1 1

0

0

1

t3 tranzíció tüzelése a fenti (2 1 0)T állapotból:

2

1

0

M’ = + = 1

0

1

Page 10: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismétlés: Tüzelési szekvencia

• Jelölés: Tüzelési szekvencia

• Jelölés: Állapot (tokeneloszlás) elérhetősége

• Tüzelési szekvencia végrehajthatósága:

– tj tranzícióhoz minden ptj bemenő helyen elég token

i i nM M

1, , , , , vagy , ,i i i i n i n i i nM t M t M t t

, : ( ) ( , )j j j jt p t M p w p t

10

Page 11: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Állapotegyenlet alkalmazása

• Tokeneloszlás módosulása a tüzelési szekvenciában

– Engedélyezett tj tranzíció tüzelése (ej egységvektor)

• Minden p helyen w(p, tj) a tokenek számának változása

– Engedélyezett tüzelési szekvencia esetén:

• Tüzeléseket „összeadva” adódik a tokeneloszlás módosulása:

• T tüzelési szám vektor: az egyes tranzíciók tüzeléseinek

száma a tüzelési szekvenciában

– Az állapotegyenlet alapján az elért állapotra kiszámolható

T

1i i jM M e W

T

0n TM M W

11

Page 12: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Állapotegyenlet alkalmazása tüzelési szekvenciára

1

1

2 1 2

1 2

T

1 0

behelyettesítésével

T T T

2 1 0

T T T T

1 0i i

t

M

t t t

i i t t t t

M M e

M M e M e e

M M e M e e e

W

W W W

W W W W

1 2

T T T T

0 0

1összevonva

T

0

n i

n

n t t t t

i

n T

M M e e e M e

M M

W W W W

W

12Tüzelési szám vektor: A tüzelő tranzíciók egységvektorainak összege

Page 13: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Tüzelési szám vektor

• Tüzelési szekvencia: tüzelő tranzíciók szekvenciája

• Tüzelési szám vektor: tüzelő tranzíciók száma

Kevesebb információ T, mint a tüzelési szekvencia!

– Sorrend elveszik

– Adott kezdőállapotból nem minden sorrendben lesznek végrehajthatók az adott tüzelési szám vektor szerinti tüzelések

• De minden sorrendhez lehet megfelelő kezdőállapotot rendelni

13

1, , nt t

1 2...

nT t t te e e

Page 14: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: A tüzelési szám vektor szerinti tüzelés

• (2,1,0)T kezdőállapotból egy (0,2,2)T tüzelési szám vektorra: Állapotegyenlet alapján: (0,1,0)T = (2,1,0)T + WT(0,2,2)T

<t3, t2, t3, t2> szekvencia tüzelhet

<t3, t3, t2, t2> szekvencia nem tüzelhet

nyer veszít indul

játékban

üzemben

zseton

p1

p2

p3

t1 t2 t3

2

t2

t3

14

Page 15: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: A tüzelési szám vektor elérhetőséghez

• A modellre:

• Az állapotegyenletből:

• Kiszámolható tüzelési szám vektor (0,1,0)T állapotból (1,1,0)T eléréséhez:

t1 t2 t3

p1 2 0 -1

p2 1 1 -1

p3 -1 -1 1

WT =

(1,1,0) (0,1,0) (1,0,1)T T T TW

0

T

j TM M W nyer veszít indul

játékban

üzemben

zseton

p1

p2

p3

t1 t2 t3

2

• Tüzelési szám vektor: (1,0,1)T csak egy lehetőséget ad

• Itt: sem t1, sem t3 nem tüzelhető a (0,1,0) kezdőállapotban

15

Page 16: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Tüzelési invariánsok (T-invariánsok)

Page 17: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Definíció: Tüzelési invariáns (T-invariáns)

• A T tüzelési szám vektor T-invariáns, ha végrehajtása nem változtatja meg a tokeneloszlást

– A T -nek megfelelő tüzelési szekvenciák végrehajtása esetén ciklus van az állapottérben:

• T-invariáns számítása:

• Jellemzők:

– Nem minden, a T tüzelési szám vektornak megfelelő tüzelési szekvencia végrehajtható adott kezdőállapotból

– De: bármely tüzelési szekvenciához megadható olyan M0 kezdőállapot, amelyből végrehajtható

• Pl. annyi token van, hogy minden tranzíciója tüzelhető

T 0T W

i iM M

17

alapján, ha : T

j i T j iM M W M M

Page 18: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa T-invariánsra

T-invariáns: (1,1)T

t1, t2 után a tokeneloszlás ugyanez

Nem T-invariáns:t3, t1, t2 tüzelési szekvencia nem ismételhető

18

Page 19: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

T-invariánsok halmaza

• Egyenletrendszer megoldásaiként számíthatók ki

– Egy megoldás többszöröse is megoldás

• Ha végrehajtható, akkor többször is befuthatja a ciklust

– Megoldások összege is megoldás

• Ha végrehajtható, akkor több ciklus kombinációját is befuthatja

Megoldások lineáris kombinációi is megoldások

• A megoldásokhoz bázis kereshető

– Az összes megoldást előállító minimális halmaz

T 0T W

19

Page 20: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Minimális alapú T-invariáns

• Jelölés: A tüzelési szekvencia alapja: sup()

– Azon tranzíciók T’ = {ti |i > 0} halmaza,

amelyek szekvenciában előfordulnak

• A T tüzelési invariáns minimális alapú

– Ha nincs olyan T-invariáns, amelynek alapja

T alapjának valódi részhalmaza, vagy

– ha részhalmaza azonos, annak tüzelési számai kisebbek

1 T 1 1 1: 0 sup( ) sup( )T T T T T T W

20

Page 21: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Hely invariánsok (P-invariánsok)

Page 22: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Definíció: Hely invariáns (P-invariáns)

• A P nemnegatív súlyvektor által kijelölt helyek, ahol a

tokenek súlyozott összege nem változik a működés során

A tokenek súlyozott száma a helyek egy részhalmazában állandó

(pl. erőforrások nem fogynak / keletkeznek)

• P-invariánsok számításának levezetése:

0P W

T állandóP M

T T0

T

T T T T

legyen

minden esetén

T T T T: 0 0

P j P

j i T

P j P i P T

M M

T P T P

M M

M M

W

W

W W

22

Page 23: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa P-invariánsra

P-invariáns:

(1 1 2)T

Elérhetőségi gráf:

Nincs P-invariáns(nem is korlátos háló)

Fedési gráf:

23

Page 24: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Invariánsok alkalmazásai

• T-invariánsok alkalmazásai

– Folyamatok modellje esetén: Ciklikusság

• Lehetséges végrehajtási szekvenciák azonosítása

– Dinamikus tulajdonságok

• Ciklikusan tüzelhető megfordíthatóság, visszatérő állapot

• Később is tüzelhető élő tulajdonság, holtpontmentesség

• P-invariánsok alkalmazásai

– Folyamatok modellje esetén: Erőforrások állandósága

• Végrehajtás során megőrzött elemek

– Dinamikus tulajdonságok

• Token nem termelődik korlátosság

• Token nem vész el24

0P W

T 0T W

Page 25: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Invariánsok számítása

Page 26: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

• P-invariánshoz: 𝐖 ∙ 𝜇𝑃 = 0

𝐖 ∙ 0, 1, 1 T = 0

• T-invariánshoz: 𝐖T ∙ 𝜎𝑇 = 0

𝐖T ∙ 1, 1, 2 T = 0

Van-e a példában invariáns? p1 p2 p3

t1 2 1 -1

t2 0 1 -1

t3 -1 -1 1

W =

nyer veszít indul

játékban

üzemben

zseton

p1

p2

p3

t1 t2 t3

2

26

t1 t2 t3

p1 2 0 -1

p2 1 1 -1

p3 -1 -1 1

WT =

Page 27: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Megoldási módszerek (kitekintés)

Kérdések:

– T bázis komponenseinek értelmezési tartománya?

– A lineáris kombinációk együtthatóinak értelmezési tartománya?

Szint Tartomány Együttható Lineárisan

független?

Egyértelmű? Algoritmus

1 x Z Q Igen Nem Gauss elimináció

2 x Z Z Igen Nem Hermite redukció

3 x N0 Q0Nem biztos Igen Martinez-Silva

4 x N0 N0Nem biztos Igen Pascoletti

5 x B B Nem biztos Igen Jaxy

27

Page 28: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: processzor adatátvitel

• Processzor

– várakozik (idle - üresjárat)

– busz hozzáférési jogot kér

– címet tesz ki a címbuszra

– adatot tesz ki az adatbuszra

• Busz(ok)

– szabad (nem használja senki)

– foglalt (processzor/periféria)

• Petri-háló

– n = 4 darab átmenet

– m = 6 darab hely

28

Page 29: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

P-invariánsok: Keressük meg fejben a megoldást!

Négy P invariáns található29

Page 30: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: Szomszédossági mátrixok

p1 p2 p3 p4 p5 p6

-1 1 0 0 0 0 t1

0 -1 1 0 -1 1 t2

0 0 -1 1 0 0 t3

1 0 0 -1 1 -1 t4

W =

31

t1 t2 t3 t4

-1 0 0 1 p1

1 -1 0 0 p2

0 1 -1 0 p3

0 0 1 -1 p4

0 -1 0 1 p5

0 1 0 -1 p6

WT =

Page 31: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: inicializálás

i 1

Ti { t T }

A WT, D 1n // n = |P|

Qi [D | A] // egységmátrix és tr. szomszédossági mátrix

Lp a Qi mátrix p. sora

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

1 0 0 0 0 0 -1 0 0 1 p1

0 1 0 0 0 0 1 -1 0 0 p2

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

Q1 =T1 = { t1, t2, t3, t4 }

33

Page 32: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: ciklus

while Ai ≠ 0 // amíg a mátrix jobb oldala nem nulla

if tj Ti // válasszunk egy eddig nem vizsgált oszlopot

Ti+1 Ti \ { tj }

Ldelete

Qi+1 Qi

for all u, v : Ai(u, j) ≠ 0 Ai(v, j) ≠ 0 u, v +: u Ai(u, j) + v Ai(v, j) = 0

Qi+1-hez adjuk hozzá a u Lu+v Lv sort

Ldelete Ldelete { Lu, Lv }

end for

Qi+1-ből töröljük az Ldelete halmazbeli sorokat

i i + 1

end while

34

Keressük a j. oszlopban nem nulla értékek olyan párosait, amik adott pozitív súlytényezőkkel összegezve 0-t adnak

Új sor a súlytényezők szerinti összegzéssel

Eredeti sorok törlése

Page 33: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: 1-1. lépés

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

1 0 0 0 0 0 -1 0 0 1 p1

0 1 0 0 0 0 1 -1 0 0 p2

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

Q1 =

35

Egységmátrix a helyekszáma alapján

WT súlyozott szomszédossági

mátrix

Page 34: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: 1-2. lépés

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

1 0 0 0 0 0 -1 0 0 1 p1

0 1 0 0 0 0 1 -1 0 0 p2

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

Q1 =

1 0 0 0 0 0 -1 0 0 1 p1

0 1 0 0 0 0 1 -1 0 0 p2

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

1 1 0 0 0 0 0 -1 0 1 p1+2

Q1’ =

36

Page 35: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: 1. részeredmény

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

1 1 0 0 0 0 0 -1 0 1 p1+2

Q1” =

37

Page 36: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: 2-1, 2-2. lépés

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

1 1 0 0 0 0 0 -1 0 1 p1+2

Q2 =

0 0 1 0 0 0 0 1 -1 0 p3

0 0 0 1 0 0 0 0 1 -1 p4

0 0 0 0 1 0 0 -1 0 1 p5

0 0 0 0 0 1 0 1 0 -1 p6

1 1 0 0 0 0 0 -1 0 1 p1+2

1 1 1 0 0 0 0 0 -1 1 p1+2+3

0 0 1 0 1 0 0 0 -1 1 p3+5

1 1 0 0 0 1 0 0 0 0 p1+2+6

0 0 0 0 1 1 0 0 0 0 p5+6

Q2’ =

38

Page 37: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: 2. részeredmény

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

0 0 0 1 0 0 0 0 1 -1 p4

1 1 1 0 0 0 0 0 -1 1 p1+2+3

0 0 1 0 1 0 0 0 -1 1 p3+5

1 1 0 0 0 1 0 0 0 0 p1+2+6

0 0 0 0 1 1 0 0 0 0 p5+6

Q2” =

39

Page 38: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: 3-1, 3-2. lépés

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

0 0 0 1 0 0 0 0 1 -1 p4

1 1 1 0 0 0 0 0 -1 1 p1+2+3

0 0 1 0 1 0 0 0 -1 1 p3+5

1 1 0 0 0 1 0 0 0 0 p1+2+6

0 0 0 0 1 1 0 0 0 0 p5+6

Q3 =

0 0 0 1 0 0 0 0 1 -1 p4

1 1 1 0 0 0 0 0 -1 1 p1+2+3

0 0 1 0 1 0 0 0 -1 1 p3+5

1 1 0 0 0 1 0 0 0 0 p1+2+6

0 0 0 0 1 1 0 0 0 0 p5+6

1 1 1 1 0 0 0 0 0 0 p1+2+3+4

0 0 1 1 1 0 0 0 0 0 p3+4+5

Q3’ =

40

Page 39: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: végeredmény

• Algoritmus befejezése:

– Ha Ai = 0

(jobb oldali rész-mátrix nulla)

• P-invariánsok:

– A végső Qm= [Dm|0] mátrix alapján a

Dm mátrix soraiban található együtthatók

• Az invariánshoz tartozó tokenösszeg

a helyek kezdő jelöléséből adódik

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

1 1 0 0 0 1 0 0 0 0 p1+2+6

0 0 0 0 1 1 0 0 0 0 p5+6

1 1 1 1 0 0 0 0 0 0 p1+2+3+4

0 0 1 1 1 0 0 0 0 0 p3+4+5

Q3” =

41

Page 40: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Martinez-Silva algoritmus: végeredmény

• Kiszámított P-invariánsok:

1. m(p1)+m(p2)+m(p6) = 1

2. m(p5)+m(p6) = 1

3. m(p1)+m(p2)+m(p3)+m(p4) = 1

4. m(p3)+m(p4)+m(p5) = 1

e1 e2 e3 e4 e5 e6 t1 t2 t3 t4

1 1 0 0 0 1 0 0 0 0 p1+2+6

0 0 0 0 1 1 0 0 0 0 p5+6

1 1 1 1 0 0 0 0 0 0 p1+2+3+4

0 0 1 1 1 0 0 0 0 0 p3+4+5

Q3” =

42

Page 41: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: T-invariánsok számítása W alapján

t1

p1

p2

t4

p3

p4

p5

t2

t3

t5

2

2

3

2

2

43

Page 42: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Összefoglalás invariáns számításokhoz

P-invariánsok:

• Számítás, ellenőrzés:

• Martinez-Silvaindulása:

Q1 [1p | WT]

• Súlyok helyekhez:

Qm= [Dm|0] soraiban

T-invariánsok:

• Számítás, ellenőrzés:

• Martinez-Silvaindulása:

Q1 [1t | W]

• Tüzelési számok:

Qm= [Dm|0] soraiban

44

0P W T 0T W

Page 43: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Petri-hálók strukturális tulajdonságai

Page 44: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Strukturális élőség, strukturális korlátosság

• Egy N Petri-háló strukturálisan élő,

ha létezik olyan M0 kezdőállapota, amelyben élő

– Egy Petri-háló élő, ha L4-élő,

azaz minden tT tranzíció L4-élő

• Egy tranzíció L4-élő: bármely elérhető állapotból legalább

egyszer tüzelhető valamely trajektória mentén

• Egy N Petri-háló strukturálisan korlátos,

ha bármely korlátos M0 kezdőállapotra korlátos

46

Page 45: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Vezérelhetőség

• Egy N Petri-háló teljesen vezérelhető,

ha bármely korlátos M0 kezdőállapot esetén:

ha két állapot elérhető M0-ból,

akkor egyikük elérhető a másikból és viszont,

azaz

0, : , ( , ) ( , ) ( , )i j i j i j j iM M M M R N M M R N M M R N M

47

Page 46: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Konzervativitás

• Egy N Petri-háló konzervatív, ha bármely korlátos

M0 és M R(N, M0) állapotra minden pP helyhez

található egy p pozitív egész súlytényező, hogy

– Példa: Bármely kezdőállapot esetén, bármely elérhető

állapotra minden hely eleme egy P-invariánsnak

• Részlegesen konzervatív, ha a fentiek csak néhány

helyre vonatkoznak

– Példa: Bármely kezdőállapot esetén, bármely elérhető

állapotra néhány hely eleme egy P-invariánsnak

48

0 állandóM M

Page 47: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Ismételhetőség

• Egy N Petri-háló ismételhető, ha létezik olyan

M0 kezdőállapot és M0-ből induló tüzelési

szekvencia, hogy minden tT tranzíció végtelen

sokszor tüzel -ban

– Példa: Létezik olyan kezdőállapot, hogy minden tranzíció

eleme egy visszatérő tüzelési szekvenciának

(ciklusnak, T-invariánsnak)

• Részlegesen ismételhető, ha a fentiek csak néhány

tranzícióra vonatkoznak

– Példa: Létezik olyan kezdőállapot, hogy néhány tranzíció

eleme egy visszatérő tüzelési szekvenciának

49

Page 48: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Konzisztencia

• Egy N Petri-háló konzisztens, ha létezik olyan

M0 kezdőállapot és M0-ből induló és M0-ba

visszavezető tüzelési szekvencia,

hogy minden tT tranzíció legalább egyszer tüzel

-ban.

• Részlegesen konzisztens, ha a fentiek csak néhány

tranzícióra vonatkoznak

50

Page 49: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Strukturális B-fairség

• Tranzíciókra: Két tranzíció strukturálisan B-fair, ha bármely M0 kezdőállapot esetén a két tranzíció B-fair

– Két tranzíció B-fair: Az egyik maximum korlátos sokszor tüzelhet anélkül, hogy a másik tranzíció tüzelne

• Hálóra: Egy N Petri-háló strukturálisan B-fair, ha bármely M0 kezdőállapot esetén bármely két tranzíció B-fair

– Egy (N, M0) Petri-háló B-fair, ha bármely két tranzíciójaesetén a B-fair reláció teljesül

– Strukturális B-fair reláció B-fair reláció

51

Page 50: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Példa: B-fair, de nem strukturálisan B-fair háló

B-fair M0 Nem B-fair M0

52

Page 51: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

A tulajdonságok feltételei (kitekintés)

Tulajdonság Szükséges és elégséges feltétel

SB Strukturálisan korlátos

CN Konzervatív

PCN Részlegesen konzervatív

RP Ismételhető

PRP Részlegesen ismételhető

CS Konzisztens

PCS Részlegesen konzisztens

T0, 0 (vagy 0, 0)

W W

T0, 0 (vagy , 0)

W W

0, 0

W

T0, 0 W

T0, 0

W

T0, 0 (vagy , 0)

W W

T0, 0

W

53

Page 52: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Tulajdonságok levezetése (kitekintés)

Ha … akkor …

N strukturálisan korlátos ésstrukturálisan élő

N konzervatív és konzisztens.

Létezik nem élő M0 N -hez. N nem konzisztens.

(N, M0) nem korlátos egy élő M0

esetén. N nem konzisztens.

Létezik nem élő M0 strukturálisan korlátos N –hez. N nem konzisztens.

N nem strukturálisan korlátos.N nem konzervatív.

T0, 0

W

0, 0

W

T0, 0

W

0, 0

W

54

Page 53: Petri-hálók strukturális tulajdonságai. Invariánsok és számításuk › sites › default › files › materials › ... · 2020-04-22 · Petri-hálók strukturális tulajdonságai

Összefoglalás

• Strukturális analízis alapötlete

• T-invariánsok

– Definíció: Tüzelési szám vektor tranzíciókra; T-invariáns tüzelésével a tokeneloszlás nem változik

– Ciklikus végrehajtás lehetőségeit adja meg

– Számítás: WTT=0 megoldásával

• P-invariánsok

– Definíció: Súlyvektor helyekre;súlyozott tokenösszeg állandó marad a tüzelések során

– Tokenek „megmaradásának” lehetőségeit adja meg

– Számítás: WP=0 megoldásával

• Strukturális tulajdonságok definíciói55