1.13k likes | 1.34k Views
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
E N D
FORMÁLIS MÓDSZEREKNGM_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 • 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 = P2 P1 Jelen esetben P3 M = 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, …} • Átmenetekhalmaza: 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?
Jellemzők - Azonnali tüzelések • nem külön - különvá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. Utazás külföldre Pakolás a bőröndbe Film nézés Mozijegy vásárlá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 utazás reggeli
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!
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) = • 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 • Határozzuk meg az ábrán látható hálózat szomszédossági mátrixát!
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