Petri ağı

Vikipedi, özgür ansiklopedi
Şuraya atla: kullan, ara

Bir Petri ağı (yer/geçiş ağı, yerleşim/geçiş ağı veya Y/G ağı olarak da bilinir) sistemlerin incelenmesi için kullanılabilecek bir araçtır. Petri ağları, sistemin matematiksel bir modelle modellenebilmesine izin verir. Bir Petri ağı, geçiş ve yerleşim düğümlerinden oluşan tek yönlü iki parçalı graf olarak da tanımlanabilir. Ok şeklinde gösterilen yönlü eğriler, bir geçişten önce ve sonra hangi yerlerin olduğunu tanımlarlar.

Bazı kaynaklar Petri ağlarının 1939 Ağustos'unda, henüz 13 yaşında olan Carl Adam Petri tarafından, kimyasal prosesleri tarif etmek amacıyla bulunduğunu belirtirler.

Petri ağları, UML, BPMN ve EPC gibi endüstri standartlarına benzer şekilde seçim, tekrarlama, eşzamanlı çalışma gerektiren adımlı prosesler için bir grafiksel notasyon sunar. Ancak bu standartların ötesinde, proses analizi için geliştirilmiş matematiksel teorisiyle ilgili proseslerin çalışmasını matematiksel bir kesinlikte modelleyebilir.

(a) Petri ağ yörüngesi örneği

Petri ağ temelleri[değiştir | kaynağı değiştir]

Bir petri ağı yerler, geçişler ve eğrilerden oluşur. Yerler ve geçişler, graf teorisindeki düğümler ve kenarlar ile eşdeğerdir. Eğriler bir yerden bir geçişe veya bir geçişten bir yere doğru koşarlar. İki yer arasında veya iki geçiş arasında bir eğri olamaz. Geçişe giriş yapan eğri hangi yerden çıkış yaptıysa, bu yere geçişin giriş yeri; Geçişten çıkış yapan eğri hangi yere giriş yaptıysa, bu yere geçişin çıkış yeri denir.

Grafiksel olarak bir Petri ağındaki bir yer ayrık sayıdaki işaretler içerebilir. Bu işaretler jeton olarak adlandırılır. Jetonların herhangi bir anda yerler üzerindeki dağılımı işaretleme, jeton dağılımı veya konfigürasyon olarak adlandırılır.

Bir geçişin giriş yerlerinde yeterli jeton var ise, bu geçiş etkinleştirilmiş veya tetiklenebilir denir.

Etkinleştirilmiş bir diğer ifade ile, tetiklenebilir bir geçiş tetiklendiğinde, giriş yerlerinden ihtiyaç duyulan miktarda jeton tüketir ve çıkış yerlerinde üretilmesi gereken miktarda jeton üretilir. Bu 'gereken' miktarlar, ilgili geçişin ağırlığı, ayrık sistemler için özelleştirirsek geçişin üzerinde yazan rakam, ile gösterilir.

Tetikleme atomiktir. Yani anlık olarak, tek bir seferde gerçekleşir ve yarıda bırakılamaz.

Bir çalışma kuralı tanımlanmadığı sürece, Petri ağlarının çalışması nondeterministictir: Aynı anda birden fazla geçiş tetiklendiğinde, hangisinin tetikleneceği bilinemez ya da bir başka deyişle, geçişlerin herhangi birisi tetiklenebilir.

Tetikleme deterministik olmadığından ve ağda herhangi bir yerde birden fazla sayıda jeton bulunabileceğinden, Petri ağları dağıtılmış sistemlerin eşzamanlı davranışını modellemek için uygundur.

Resmi tanım ve temel terminoloji[değiştir | kaynağı değiştir]

Petri ağları basit ağ olarak adlandırılan ağların kapsamını genişleten durum-geçiş sistemleridir.[1]

Tanım 1. Bir ağı üç parametrelidir, öyle ki:

  1. ve  sırasıyla yerlerin ve geçişlerin ayrık sonlu kümeleridir.
  2.  ya da akış ilişkilerinin(graflardaki eğrilerin) bir kümesidir.

Tanım 2. Verilen bir N = (P, T, F ) ağındaki bir konfigürasyon C kümesiyle gösterilir, öyle ki  C P.

Aktifleştirilmiş bir geçişe sahip bir Petri ağı
Geçiş tetiklendikten Petri ağının durumu. (geçiş tetiklenmeden önceki hali yukarıda)

Tanım 3. Bir basit ağ EN = (N, C ) formundaki ağdır, öyle ki:

  1. N = (P, T, F ) bir ağdır.
  2. CC P olan bir konfigürasyondur.

Tanım 4. Bir Petri ağı, PN = (N, M, W ) formundaki ağdır ve basit ağın kapsamını genişletir, öyle ki:

  1. N = (P, T, F ) bir ağdır.
  2. M : P Z Z'nin sayılabilir küme olduğu bir yerler multisetidir. M(not:marking), konfigürasyon konseptini genişletir ve Petri ağlarında genellikle işaretleme(jeton dağılımı) olarak tanımlanır.
  3. W : F Z bir eğri multisetidir. Öyle ki, W(not: weight) her eğrinin üzerindeki sayı(yahut eğrinin ağırlığı) eğri 'multiplicity'sinin(multiset içerisinde kaç defa görüldüğünün) bir ölçüsüdür.

Eğer bir Petri ağı, basit ağa eş ise, Z {0,1} sayılabilir kümesi olabilir ve P 'deki M'nin altındaki 1'e karşılık gelen elemanlar, bir konfigürasyon oluşturur. (not: özetle her yerde en fazla 1 jeton bulunur). Benzer olarak, eğer bir Petri ağı, bir basit ağ değilse, M multiseti konfigürasyonların non-singleton bir kümesi olarak ifade edilebilir. Bu bağlamda, M, basit ağlardaki konfigürasyon konseptini Petri ağlarına genişletir. (not: özetle basit bir ağda her yer sadece tek bir jeton içerebilirken, Petri ağında böyle bir kısıtlama bulunmamaktadır.)

Bir Petri ağı diyagramında (sağ üst köşeye bakın), yerler genellikle çemberler tarafından, geçişler genellikle uzunca ve dar dikdörtgenler tarafından ve eğriler yerlerden geçişlere yahut geçişlerden yerlere bağlantıları gösteren tek yönlü oklar tarafından modellenir. Eğer diyagram basit bir ağa ait olsaydı, yerler yine çemberler tarafından gösterilecekti. Ancak bu defa, her bir çember bir jeton içerebilecekti. Yukarıda sağda gözüken Petri ağında, bir konfigürasyonda bir yerin kaç defa gözüktüğünün ifadesi olarak yer birden fazla jeton içermektedir. Tüm Petri ağına dağıtılmış jeton konfigürasyonuna, işaretleme adı verilir.

Yukarıda sağdaki resimde, p1 yeri, t geçişinin giriş yeridir; p2 yeri ise aynı geçişin çıkış yeridir. Üst resimde bulunan PN0 Petri ağı, M0 işaretlemesi ile alt resimde bulunan PN1 ağı ise M1 işaretlemesi ile konfigüre edilmiş(yahut işaretlenmiş) olsun. PN0'ın konfigürasyonu, tüm giriş yerleri yeteri kadar sayıda jeton içerdiği (resimlerde noktalar olarak gösteriliyor) içerdiği için t geçişini etkinleştirir. bir yerin "yeteri kadar jeton" içermesi demek, o yerden geçişe giden eğrinin ağırlığına eşit veya daha fazla sayıda jetona sahip olması demektir. Bir geçiş, sadece ve sadece etkinleştirilmiş ise, tetiklenebilir. Bu örnekte, t 'nin tetiklenmesi(ateşlenmesi) M0' konfigürasyonundan M1 konfigürasyonuna bir geçiş yapılmasını sağlar ve PN1 Petri ağına ulaşılması ile sonuçlanır (sağ üstte, alttaki resim).

Hatırlatma 1. "büyük veya eşittir" tabirinin kesin anlamı, tetikleme kuralındaki toplama işleminin cebirsel kesinliğine bağlıdır. Cebirsel özelliklerdeki farklı varyasyonlar bizi farklı Petri ağı sınıflarına götürebilir. Örneğin: Cebirsel Petri Ağları.

Sıradaki resmi tanım, (Peterson 1981)'in tanımıdır. Birçok alternatif tanım da mevcuttur.

Sentaks[değiştir | kaynağı değiştir]

Bir Petri ağı grafı(bazıları tarafından Petri ağı olarak da söylenir ancak aşağıya bakın)  olarak ifade edilecek şekilde, üç elemanlıdır(tuple). Öyle ki:

  • S yerlerin sonlu kümesidir.
  • T geçişlerin sonlı kümesidir.
  • S ve T ayrıktır. herhangi bir nesne, hem bir geçişte hem de bir yer olamaz.(bir nesne ya geçiştir ya yerdir).
  •  eğriler multisetidir.. Her bir eğriye, negatif olmayan bir tam sayı(Eğri ağırlığı) ataması yapar.

Akış ilişkisi eğrilerin bir kümesidir: . Birçok kitap, eğrilerin ağırlığının yalnızca 1 olabileceğini yazar. Bu yazılar genellikle Petri ağlarını W yerine F' ile tanımlarlar. Bu yaklaşım kullanıldığında, bir Petri ağı iki parçalı multigraf haline dönüşür.

Bir geçişin girdi kümesi(preset) t, o geçişe ait giriş yerlerinin kümesidir: ; Geçişin çıktı kümesi(postset) geçişe ait çıkış yerlerinin kümesidir: . yerlerin girdi çıktı kümelerinin tanımları benzerdir (analoji).

Bir Petri ağının(grafının) işaretlemesi onun yerlerinin bir multisetidir.Yeni, . adreslemesi için, işaretleme her yere belirli sayılarda jeton ataması yapar deriz. .

A Petri ağı (bazıları tarafından işaretli Petri ağı olarak da adlandırılır - yukarıya bakın) 4 elemanlı bir kümedir. , Öyle ki:

  • bir petri ağıdır.
  • (Petri ağına ait bir işaretleme olan) ilk işaretlemedir.

Çalışma mantığı[değiştir | kaynağı değiştir]

Kelimelerle ifade edersek:

  • M işaretlemesindeki(konfigürasyonundaki) t geçişinin ateşlenmesi, geçişin giriş yerlerinden(s) adet jetonun tüketilmesine, ve geçişin çıkış yerlerinde(s) adet jetonun üretilmesine sebep olur.
  • M işaretlemesindeki(konfigürasyonundaki) bir geçiş için, sadece ve sadece koşulu sağlanıyorsa, yani geçişin giriş yerlerinde tüketim için yeterli jeton varsa geçiş etkinleştirilmiştir (tetiklenebilir/ateşlenebilir).

Bizler, genellikle tetiklerin rastgele zamanlarda tetiklendiği durumlarda neler olabileceği ile ilgileniriz.

Bir adımda ulaşılabilirlik[değiştir | kaynağı değiştir]

Eğer ise, M işaretlemesinden bir adımda işaretlemesine ulaşılabilir deriz. (Ya da , M'den bir adımda ulaşılabilirdir)

Ulaşılabilirlik[değiştir | kaynağı değiştir]

'nin 'nin reflexive transitive closure'u olduğu durumlarda ; ise, herhangi bir adım sayısında ulaşılabiliyorsa, , M 'den ulaşılabilirdir deriz.

, işaretli bir Petri ağı olmak üzere, ilk işaretlemesinden itibaren gerçekleştirilebilecek ateşemelerle(tetiklemelerle) ilgileniriz. Bu, ulaşılabiir işaretlemeler kümesidir ve şeklinde gösterilir.

Ulaşılabilirlik grafı[değiştir | kaynağı değiştir]

N'nin ulaşılabilirlik grafı , onun ulaşılabilir işaretlemeleri ile sınırlanmış geçiş ilişkileridir . Bu, ağın durum uzayıdır. (özetle, ağın alabileceği tüm durumları gösteren kümedir)

G grafına ve' 'ilk durumuna sahip bir Petri ağındaki ateşleme sekansı (ya da sıralı ateşleme kümesi)' 'ile gösterilir. Öyle ki;'. Burada ateşleme sekanslarının kümesi ile gösterilmiştir.

Tanımlardaki farklılıklar[değiştir | kaynağı değiştir]

Daha önce de belirtildiği gibi, tanım farklılıklarının en genel olanı, eğri ağırlıklarını göz ardı etmek ve W ile gösterilen eğriler multisetini, ile gösterilen ve akış ilişkisi olarak adlandırılan bir basit küme ile değiştirmektir. Bu ifade gücünü (expressive power) sınırlandırmaz, her ikisi de birbirleri yerine kullanılabilir.

Genel olarak kullanılan bir diğer farklılık da, Desel ve Juhás (2001)'ın da kullandığı üzere,[2] kapasitelerin yerler üzerinde tanımlanmış olmasına izin verilmesidir. Aşağıda ekler bölümünde bu konu tartışılmıştır.

Vektör ve matris şeklinde formülasyon - vektörizasyon[değiştir | kaynağı değiştir]

Bir Petri ağına ilişkin işaretlemeler(jeton dağılımları) , negatif olmayan tam sayıların boyutlu vektörleri olarak ifade edilebilir.

Vektörün geçiş ilişkisi, * boyutundaki bir çift matrisle gösterilebilir:

  • , öyle ki
  • , öyle ki

Ardından farkları olan

ifadesi, ulaşılabilir jeton dağılımlarını matris çarpımı şeklinde göstermek için aşağıdaki şekilde kullanılabilir.

Herhangi bir w ateşleme(geçiş/tetikleme) sekansı için, her geçişe kendi ağırlığını w atayan bir yazalım. Bu durumda

  • , 'ye ait bir ateşleme sekansı'dır..

w'nin bir ateşleme sekansı olması gerektiğine dikkat edin; geçişlerin rastgele tetiklenmesine izin vermek, genellikle daha büyük bir küme oluşturur.

(b) Örnek bir Petri ağı

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Rozenburg, G.; Engelfriet, J. (1998). "Elementary Net Systems". Reisig, W.; Rozenberg, G.. Lectures on Petri Nets I: Basic Models - Advances in Petri Nets. Lecture Notes in Computer Science. 1491. Springer. ss. 12–121. 
  2. ^ Desel, Jörg; Juhás, Gabriel (2001). "What Is a Petri Net? Informal Answers for the Informed Reader". Ehrig, Hartmut; et al.. Unifying Petri Nets. LNCS. 2128. Springerlink.com. ss. 1–25. http://www.springerlink.com/content/a6lmwqye66ll5w56/. Erişim tarihi: 2014-05-14.