FORMÁLIS MÓDSZEREK NGM_IN003_1

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Események formális leírása, műveletek
Potenciál játékok A játékoknál minden játékosnak saját nyereménye van és azt kívánják maximálni. A potenciál játékoknál létezik egy V(s1, …, sN) potenciálfüggvény,
Készítette: Kosztyán Zsolt Tibor
KÉSZÍTETTE: Takács Sándor
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Kötelező alapkérdések
Kalman-féle rendszer definíció
Vektormező szinguláris pontjainak indexe
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
Gazdaságmatematika 6.szeminárium.
Algoritmusok Az algoritmus fogalma:
Bayes hálók október 20. Farkas Richárd
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Halmazok, relációk, függvények
Papp Róbert, Blaskovics Viktor, Hantos Norbert
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
Szoftvertechnológia előadás
Alapfogalmak - rendszermodellek
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
Halmazok Összefoglalás.
Készítette: Kosztyán Zsolt Tibor
Lineáris algebra.
Gráfok Készítette: Dr. Ábrahám István.
Objektumorientált tervezés és programozás II. 3. előadás
Algoritmusok II. Gyakorlat 3. Feladat Pup Márton.
Hálózati réteg.
Halmazműveletek.
GRÁFELMÉLET Alapfogalmak 1..
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Gazdaságstatisztika 11. előadás.
Gazdaságstatisztika 10. előadás.
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
Petri-hálón alapuló modellek analízise és alkalmazásai a reakciókinetikában Papp Dávid június 22. Konzulensek: Varró-Gyapay Szilvia, Dr. Tóth János.
Gráfok 1. Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
Háló- (gráf-) algoritmusok
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Szimuláció.
előadások, konzultációk
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
PPKE ITK 2004/05 tanév IV. évfolyam Őszi félév Távközlő rendszerek forgalmi elemzése Tájékoztatás GY. - 7.
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
HÁLÓZAT Maximális folyam, minimális vágás
GRÁFOK Marczis Ádám és Tábori Ármin. Kőnig Dénes ( ) Magyar matematikus Az első tudományos színvonalú gráfelmélet könyv írója.
Szimuláció. Mi a szimuláció? A szimuláció a legáltalánosabb értelemben a megismerés egyik fajtája A megismerés a tudás megszerzése vagy annak folyamata.
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
HÁLÓZAT Maximális folyam, minimális vágás
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Szekvenciális hálózatok
Kockázat és megbízhatóság
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Számítógépes algoritmusok
Strukturált és nem strukturált programok
Előadás másolata:

FORMÁLIS MÓDSZEREK NGM_IN003_1 PETRI HÁLÓK

Történelmi áttekintés Carl Adam Petri (1926-2010) német matematikus a Petri hálók jelölésrendszerét 1939-ben találta ki a Petri hálók matematikai alapjait a doktori disszertációjában dolgozta ki 1962-ben eredetileg kémiai folyamatok leírására szánta

Alapok automataelmélet logika

Mire használhatók? konkurens: ha benne egyidejűleg működő, önálló egységek kommunikálnak egymással úgy, hogy ezen egységek egymáshoz képest tetszőleges működési fázisban vannak aszinkron: eseményvezérelt rendszer elosztott: egyes rendszerelemek között funkcionális tagolódás van párhuzamos: nagyon hasonlítanak a konkurensekre, lényeges különbség azonban, hogy párhuzamos esetben a rendszerelemek között szoros szinkronizáció áll fenn nemdeterminisztikus: egy-egy adott állapotából nem egyértelmű, melyik állapot lesz a következő és/vagy sztochasztikus rendszerek modellezésére.

Alapvető tulajdonságok Egyidejűleg grafikai matematikai reprezentáció Struktúrával fejezi ki vezérlési struktúra adatmodell

Felépítése a Petri hálók építőelemeit 3 csoportba soroljuk helyek élek átmenetek / tranzíció működésükhöz szükség van tokenekre is

Struktúrája Strukturálisan: irányított, súlyozott, páros gráf Két típusú csomópont: hely: p ∈ P, jelölése: kör tranzíció: t ∈ T, jelölése: téglalap Élek e ∈ E = (P × T) ∪ (T × P) (páros gráf!): hely – tranzíció tranzíció – hely jelölése: nyíl

Petri háló állapota Állapotjelző: token Helyek állapota: ezeket a helyek közepébe tett pontok jelölik Helyek állapota: a bennük található tokenek száma A rendszer állapota tokeneloszlás, az egyes helyek állapotainak összessége állapotvektor: a π = |P| komponensű M token eloszlás vektor

Példa Petri hálóra helyek

Példa Petri hálóra átmenet / tranzició

Példa Petri hálóra token token

Példa Petri hálóra Állapotvektor Általánosan M = 𝑚1 ⋮ 𝑚𝜋 P2 P1 Jelen esetben P3 M = 1 0 3 P1 P2 P3 A kezdőállapotot mindig az M0 állapotvektor jelöli

Matematikai reprezentáció Petri-háló: PN=(P,T,E,W, M0) Helyek halmaza: P={p1, p2, …} Átmenetek halmaza: T={t1, t2, … } Élek halmaza: E⊆(PXT) ∪ (TXP) Súlyfüggvény: W:E→ N+ Tokeneloszlás: M:P → N+ Kezdeti tokeneloszlás: M0:P → N+ Ősök és utódok: ●t, t●, ●p, p●

Működés Nem más mint állapotváltozás Állapot megváltozása: átmenetek „tüzelése” Mikor mehet végbe állapotváltozás? Engedélyezettség ellenőrzése Tüzelés Token elvétele a bemeneti helyről Token kirakása a kimeneti helyre Tokeneloszlás megváltozik új állapot -> új állapotvektor

Működés Engedélyezettség ellenőrzése Bemeneti helyek / tokenek / bemenő élek Bemeneti helyeken van-e elég token?

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Példa működésre

Jellemzők - Azonnali tüzelések nem külön - külön vánszorognak a tokenek egyik tüzelési oldalról a másikra, hanem egyszerre – elemi (atomi) esemény

Jellemzők - Aszinkron tüzelések egymással párhuzamos tüzelések lehetnek, azok sorrendje nem függ egymástól. Pakolás a bőröndbe Utazás külföldre Mozijegy vásárlás Film nézés

Jellemzők - Nem determinisztikus nem hogy nem függ egymástól a sorrend, de fogalmunk sincs hogy úgy amúgy mi lesz az repülő hajtogatás papír firkálás toll

Jellemzők - Két tranzíció nem tüzel egyszerre tej tejes kávé kávé Ír kávé whiskey

Jellemzők - Neminterpretált nem feltétlenül kell nekünk a világmindenséget leírni, tudni, van amit csak megnevezünk, és nem mondjuk el, hogy mit is csinál pontosan alvás hibás hibátlan munka

Jellemzők - Absztrakció és finomítás bármelyik tranzíció helyére berakhatunk egy fél világmindenséget leíró részt alvás késésben munka öltözés reggeli utazás

Jellemzők - Összefoglalás Petri hálók jellemzők Modellezési tulajdonságok azonnali „tüzelések” elemi (atomi) esemény aszinkron tüzelések események szekvenciájának függetlensége nem determinisztikus konkurencia két tranzíció nem tüzel egyszerre konfliktus neminterpretált absztrakt tulajdonságok absztrakció és finomítás hierarchikus modellezés

Többszörös élek Bármely e  E élhez rendelhető w*(e)  N+ súlyt lehet rendelni A w*(e) súlyú e él ugyanaz, mint we darab párhuzamos él => nem rajzolunk párhuzamos éleket, élsúlyt használunk 3

Topológia példa Határozzuk a következő hálózat topológiáját!

Topológia példa megoldás

Szomszédossági mátrix Súlyozott szomszédossági mátrix: W = ||w(t, p)|| Dimenziója: τ × π = |T| × |P| Ha t tüzel, mennyit változik a p-beli tokenszám w(t,p) = w+(t, p) − w−(p, t) ha (t, p) ∈ E 0 ha (t, p) /∈ E Tipp írjuk fel külön w+ és w- majd vonjuk össze a kettőt

Szomszédossági mátrix w+ azok a számok kerülnek, amiket egy átmenet „belebakol” a helybe w- azok, amiket egy átmenet kivesz a helyből W mátrix összeáll ha a w+ ból kivonjuk a w- mátrixot

Szomszédossági mátrix Határozzuk meg az ábrán látható hálózat szomszédossági mátrixát!

Szomszédossági mátrix

Szomszédossági mátrix Határozzuk meg az ábrán látható hálózat szomszédossági mátrixát!

Szomszédossági mátrix

Előző órán Mi is az a PETRI háló? Működése Jellemzői Topológia meghatározás Szomszédossági mátrix

A továbbiakban Tüzelési szemantika módosítása Tulajdonság modellek strukturális és dinamikus tulajdonságok Dinamikus tulajdonságok vizsgálata Speciális topológiájú Petri hálók

σ = 〈Mi0 ti1 Mi1 … tinMin 〉 → 〈ti1 … tin 〉 Tüzelési szekvencia Állapot átmeneti trajektória egymást követő tüzelések hatására felvett állapotok Tüzelési szekvencia σ = 〈Mi0 ti1 Mi1 … tinMin 〉 → 〈ti1 … tin 〉 Ha az összes tranzíció kielégíti a tüzelési szabályt: – Min állapot Mi0-ból elérhető a σ tüzelési szekvencia által: Mi0 [σ > Min

Tüzelési szemantika módosítása Miért is lesz jó nekünk ha ez? Hogyan módosítunk tüzelési szemantikát?

Tüzelési szemantika módosítása Korábbiakban volt szó a Petri hálók nemdeterminisztikus működéséről A nemdeterminisztikus működés nem előnyős, mert nem tudjuk megmondani melyik állapot következik Cél: ezen működés korlátozás

Tüzelési szemantika módosítása Hogyan érhető ez el? Prioritás rendelése a tranzíciókhoz Tiltó élek bevezetése Kapacitás rendelése a helyekhez

Prioritás rendelés a tranzíciókhoz Az engedélyezett tranzíciók közül egy alacsonyabb prioritású mindaddig nem tüzelhet, amíg van engedélyezett ÉS magasabb prioritású tranzíció Azonos prioritási szinten továbbra is nemdeterminisztikus választás! Prioritás bevezetése a formális definícióba Π:T→N

Tiltó élek bevezetése Klasszikus Petri hálónál: Tiltás Ponált tüzelési feltételek Bemenő helyeken a feltételek megléte Tiltás Tiltó él bevezetése Ha a feltételek megfelelőek a tüzelés akkor se hajtódhat végre

Tiltó él Tiltó él használatakor a tüzelési szabályt a következő képen kell egészíthetjük ki: ha a t tranzícióhoz kapcsolódó bármely (p, t ) tiltó él p bemenő helyén a w− (p, t ) élsúlynál nagyobb vagy egyenlő számú token van ⇒a tüzelés nem hajtható végre

Helyek kapacitáskorlátja Minden egyes p helyhez K(p) kapacitás hozzárendelése Ez a kapacitás lesz az adott helyre maximálisan betölthető tokenek száma A tüzelési szabály újabb kiegészítése: a tranzíció egyetlen kimenő p helyre sem tölthet a hely K(p) kapacitásánál több tokent

Tüzelés véges kapacitású Petri hálóban Egy t ∈ T tranzíció tüzelése akkor engedélyezett, ha elegendő token van a bemeneti helyeken: ∀ p ∈ •t : mp ≥ w− (p, t ) Kapacitáskorlát (M[t > M’ tüzelés után): ∀ p ∈ t• : m’p = mp + w + (t, p) ≤ K(p) Engedélyezett tranzíció tetszés szerint tüzelhet A tüzelés után: ∀ p ∈ P : m’p = mp + w + (t, p) - w− (p, t )

A kapacitáskorlát kiküszöbölése Hogyan szüntetjük meg a P2 kapacitáskorlátját? T1 2 P1 P2 K(P2)=4 T2

Kiegészítő helytranszformáció Minden egyes korlátos véges kapacitású p helyhez rendeljünk hozzá egy járulékos p’ adminisztrációs helyet a p’ adminisztrációs hely kezdőállapota M0(p’) = K(p) - M0(p) azaz a p hely még kihasználatlan kapacitása.

Kiegészítő helytranszformáció 2 P’ P1 P2 K(P2)=4 T2

Kiegészítő helytranszformáció A p’ hely és a t ∈ •p ∪ p• tranzíciók között kiegészítő éleket húzunk be Az élek iránya attól függ, hogy t tüzelése növeli vagy csökkenti-e a p helyen levő tokenek számát: a t tranzíció és p’ hely között (t, p’ ) élet húzunk be |w(t, p)| súllyal, ha w(t, p) < 0, azaz a tüzelés elvesz tokent a p helyről a p’ hely és a t tranzíció között (p', t) élet húzunk be w(t, p) súllyal, ha w(t, p) > 0, azaz a tüzelés berak tokent a p helyre

Kiegészítő helytranszformáció 2 2 P’ P1 P2 K(P2)=4 T2

Tulajdonság modellek Tulajdonság modellek két csoportra oszthatók: strukturális tulajdonságok: ezek a kezdőállapottól függetlenek elemzése a hely-tranzíció, topológia, illetve tüzelési szabályok alapján dinamikus tulajdonságok: kezdőállapottól függenek elemzés egy adott állapotból

Strukturális tulajdonságok Strukturális élőség Vezérelhetőség Strukturális korlátosság Konzervatívság Ismételhetőség Konzisztencia

Dinamikus tulajdonságok - általános tulajdonságok Elérhetőség Adott állapot, ill. állapothalmaz elérhető-e? Korlátosság Létezik-e a tokenek számának felső korlátja? Élő tulajdonság A tüzelések engedélyezetté válnak-e? Holtpontmentesség vizsgálata.

Dinamikus tulajdonságok - ciklikus működés jellemzése Megfordíthatóság, ill. visszatérő állapot Van-e a rendszer működése során ciklus? Fedhetőség Van-e a rendszer működése során egy korábbi állapotot magában foglaló állapot?

Dinamikus tulajdonságok - párhuzamos működés jellemzése Perzisztencia Engedélyezett tranzíciók letiltják-e egymást? Párhuzamos működés vizsgálatára. Fair tulajdonság Tranzíciók tüzelése mennyire függ egymástól – hányszor tudnak egymás nélkül tüzelni. Párhozamos működés vizsgálatára. Típusai: Korlátozott fairség Globális fairség

Elérhetőség Jelölés (marking) = állapot Tokeneloszlás = állapotváltozó Tüzelés = állapotátmenet Tüzelési sorozatok hatására M0, M1, …, Mn állapotsorozat Állapotsorozat: trajektória az állapottérben Mn állapot elérhető az M0 kiinduló állapotból: ∃σ :M0 [σ > Mn

Elérhetőségi analízis Az M0 kiinduló állapotból az N Petri hálóban Elérhető állapotok Állapotra vonatkozó kérdések Végrehajtható tüzelési sorozatok Állapotátmenetekre (eseményekre) vonatkozó kérdések

Elérhetőségi probléma Petri hálók elérhetőségi problémája: Mn állapot elérhető-e valamilyen M0 kiinduló állapotból Rész-tokeneloszlási probléma: helyek egy részhalmazára korlátozva elérhető-e Mn állapot az adott helyekre megadott tokeneloszlással?

Elérhetőségi probléma megoldhatósága Az elérhetőségi probléma elvileg megoldható azonban (legalább) exponenciális az általános esetben Az egyenlőségi probléma megoldására nem létezik algoritmus feladat: két Petri-háló lehetséges tüzelési sorozatai azonosságának eldöntése Az egyenlőségi probléma eldönthető (exponenciális időben) 1-korlátos (tokenek száma a helyeken ≤ 1, ún. biztos) Petri hálókra

Korlátosság k -korlátosság (korlátosság) bármely állapotban minden helyen maximum k token lehet (M0 kiinduló állapot függő!) Biztos Petri háló: korlátosság speciális esete (k = 1) végesség kifejezése korlátosság ⇔ véges állapottér erőforrás használat, illetve általános értelemben vett feladatkezelés modellezése

Élőség Holtpont (deadlock) -mentesség Élő tulajdonság Minden állapotban legalább egy átmenet tüzelhető Élő tulajdonság Átmenet egyszer/többször/végtelenszer tüzelhet-e? Gyenge élő tulajdonságok egy t átmenetre: L0-élő (halott): t sohasem tüzelhető egyetlen L1-élő: t legalább egyszer tüzelhető valamely L2-élő: bármely adott k > 0 egészre t legalább k-szor tüzelhető valamely L3-élő: t végtelen sokszor tüzelhető valamely L4-élő: t L1-élő bármely állapotban állapot -trajektóriában

Élőség Egy (P, T, Mo) Petri háló Lk-élő ha minden t ∈T átmenete Lk-élő L4-től L1-ig az élő tulajdonságok tartalmazzák egymást Egy (P, T, Mo) Petri háló élőnek nevezünk ha L4-élő, azaz minden t ∈T átmenete L4-élő Bejárási úttól függetlenül garantáltan holtpontmentes köztes állapottól függetlenül minden átmenet újra tüzelhető holtpontmentesség ⇐ élőség Bizonyítása költséges lehet szerencsés esetben nem (invariánsok!) ideális rendszert tételez fel

Élőség példa t0 L0 élő (halott) t1 L1 élő t2 L2 élő t3 L3 élő

Megfordíthatóság és visszatérő állapot A kezdőállapot bármely követő állapotból elérhető Gyakran ciklikus működésű hálózat Visszatérő állapot: Van olyan, a kezdőállapotból elérhető állapot, amely bármely őt követő állapotból elérhető Gyakran ciklikus (rész)hálózat inicializáló szekvenciával

Fedhetőség Fedhetőség definíciója: Létrejön-e korábbi működést magában foglaló állapot? M’ állapot fedi M állapotot, ha M állapot fedhető M’ állapottal M’ ≥ M jelentése: M a t átmenetet engedélyező minimális tokeneloszlás t akkor és csak akkor nem L1-élő, ha M nem fedhető le tehát M lefedhetősége garantálja t L1-élő voltát

Perzisztencia Perzisztencia elemzés: Tüzelések kölcsönhatásának vizsgálata Két tetszőleges engedélyezett átmenet közül egyik tüzelése sem tiltja le a másik engedélyezettségét engedélyezett átmenet engedélyezve marad tüzelésig! Rendszerbeli funkcionális dekompozíció megmarad-e? Párhuzamos működések befolyásolják-e egymást?

Fair tulajdonság Fair tulajdonság: Az irodalomban nem egységes a fairség definíciója Korlátozott fairség (B-fairség) egy tüzelési szekvencia korlátozottan fair, ha bármely átmenet maximum korlátos sokszor tüzelhet másik tüzelése nélkül Globális fairség egy tüzelési szekvencia globálisan fair, ha az összes átmenet végtelen sokszor szerepel benne, amennyiben nem véges Párhuzamos folyamatok nem tartják-e fel egymást? Valamennyi folyamat végbemegy-e (előbb-utóbb)?

Dinamikus tulajdonságok vizsgálata Lehetséges módszerek Állapottér bejárása: elérhetőségi gráf analízise Algebrai megközelítés Gráf-redukciós algoritmusokra alapuló módszerek Szimuláció

Állapottér bejárása Elérhetőségi gráf: M0 kezdőállapotból induló állapotgráf csomópontok: tokeneloszlások, állapotátmenetek: tüzelések legfeljebb annyi új csomópont, ahány engedélyezett átmenet Szélességi típusú bejárás az állapotból tüzelések mentén Nem korlátos Petri háló → végtelen sok állapot a térben Fedési gráf: végtelen állapottér esetére is Hasonló felépítés: M0 kezdőállapot, élek: tüzelések Kritikus részek: token „túlszaporodás” trajektória: M0 … M”… M’ és M” ≤ M’ → fedett állapot! speciális szimbólum: ω a végtelenség kifejezője

Fedési fa generálása Lvizsgálandó := { M0 } Amíg Lvizsgálandó ≠ ∅ 1. A következő M ∈ Lvizsgálandó állapot kiválasztása 2. Ha M a gyökértől idáig vezető úton már szerepelt Akkor M -et „régi állapotként” jelöljük ↵ (ciklus) 3. Ha M-ben nincs engedélyezett tüzelés Akkor M -et „végállapotként” (halott állapot) jelöljük ↵ (ciklus)

Fedési fa generálása Egyébként, (van M -ben engedélyezett átmenet) Minden egyes t engedélyezett átmenetre: Az M’ rákövetkező állapot meghatározása: Ha létezik az M0-tól M -ig vezető úton olyan M”, amelyet M’ fed Akkor M” fedett állapot M’ állapotot jelölő tokeneloszlásban a fedett helyek jelöléseit -val helyettesítjük M’ új állapot: Lvizsgálandó := Lvizsgálandó  M’ M -ből M’ -höz egy t -vel jelölt élet húzunk  (ciklus)

Példa Petri háló Petri háló fedési fája

Példa Petri háló Petri háló fedési gráfja

Fedési fa analízise Közvetlenül is leolvasható tulajdonságok: Petri háló korlátos  R (N, M0) elérhetőségi gráfja véges  Fedési fában  nem jelenik meg címkeként Petri háló biztonságos  Csak 0 és 1 jelenik meg csomópont címkeként a fedési fában Petri háló egy átmenete halott  átmenethez tartozó tüzelés nem jelenik meg élcímkeként a fedési fában

Redukció Redukció: Érthető modellből kompakt modell redundancia eliminálása Modellezés: szempont a valósághűség és érthetőség Elemzés: szempont a tulajdonságok egyszerű és gyors kimutatása További egyszerűsítés: modell kifejezőereje csökken ellenőrzött változtatások, de a funkcionalitás megváltozik a kiválasztott tulajdonságokat megőrzi! eredeti modellt a tulajdonságok szerint „fedő” modell jön létre Sokféle tulajdonságmegőrző transzformáció létezik

Transzformációk Egyszerű tulajdonságmegőrző transzformációk: soros helyek összevonása soros tranzíciók összevonása párhuzamos helyek összevonása párhuzamos tranzíciók összevonása önhurkot alkotó helyek törlése önhurkot alkotó tranzíciók törlése Megőrzik az élő, korlátos és biztos tulajdonságokat.

Soros összevonások Soros helyek összevonása (FSP) Soros tranziciók összevonása (FSP)

Párhuzamos összevonások Párhuzamos helyek összevonása (FPP) Párhuzamos tranziciók összevonása (FPT)

Önhurok törlése önhurkot alkotó helyek törlése (ESP) önhurkot alkotó tranzíciók törlése (EST)

Példa t1 tüzel t1 és t2 összevonása, soros tranzíciók p1 -> t12

Példa (folyt.) t12 önhurok tranzíció törlése p4 önhurok hely törlés

Példa (folyt.)

Speciális topológiájú Petri hálók Állapotgép (State Machine, SM) minden átmenetnek pontosan egy be és kimeneti helye van van konfliktus, nincs szinkronizáció

Speciális topológiájú Petri hálók Jelölt gráf (Marked Graph, MG) minden helynek pontosan egy be- és kimeneti tüzelése van szinkronizáció, nincs konfliktus

Speciális topológiájú Petri hálók Szabad választású háló (Free-Choice Net, FC) minden helyből kifelé mutató él vagy egyedüli kimenő él, vagy egyedüli bemenő él egy átmenetbe lehet konkurencia és konfliktus is, de nem egyszerre dekomponálható MG és SM komponensekre

Speciális topológiájú Petri hálók Kiterjesztett szabad választású háló (EFC) többszörös szinkronizáció is lehetséges

Speciális topológiájú Petri hálók Aszimmetrikus választású háló (AC) lehetséges az (aszimmetrikus) konfúzió is

Speciális topológiájú Petri hálók Állapotgép (SM) nem enged meg szinkronizációt Jelölt gráf (MG) nem enged meg választást Szabad választású háló (FC) nem enged meg konfúziót Aszimmetrikus vál. háló (AC) megenged aszimmetrikus konfúziót, de nem enged meg szimmetrikus konfúziót

Invariánsok a Petri hálókban Petri hálók különböző jellemzőiből számíthatók nagy segítség az elemzésben Két féle invariáns létezik T- (tranzíció-) P- (place-)

T-invariáns olyan tüzelési szekvencia, amely végrehajtása nem változtatja meg a Petri-háló tokeneloszlását bizonyítható a rendszer ciklikus működése ha létezik: rendszer élő holtpontmentes

P-invariáns általa kijelölt helyeken a tokenek súlyozott összege nem változik azaz a tokenek egy részhalmaza (vagy akár teljes halmaza) a helyek egy (rész)halmazában kering A P-invariánsok által meghatározott helyeken biztosan nem nő a tokenek száma - > a háló korlátos el sem veszik token -> a háló élő

Martinez-Silva algoritmus Példa

Martinez-Silva algoritmus

Martinez-Silva algoritmus

Martinez-Silva algoritmus

Martinez-Silva algoritmus

Martinez-Silva algoritmus

Felhasznált irodalom Benyó Balázs – Formális módszerek (2008) BME MIT (Pararicza, Gyapay, Bartha,… ) NetAcademia-tudástár – (Petri-hálók modellezése és analízise, Formális módszerek az informatikában (1), Formális módszerek az informatikában (2)