Come trasformare una rete di Petri generale in ordinaria
Una qualsiasi rete generale di Petri può essere trasformata in rete ordinaria, sostituiendo gli archi di peso non unitario e i cappi con uno schema equivalente.
L'algoritmo
Per ogni posto pi della rete N
- Individuo il massimo peso (m) degli archi pre e post del posto pi
- Sostituisco il posto pi con un ciclo di m posti e m transizioni.
- Sostituisco ogni arco post di peso k>1 con k archi post verso altrettanti k posti del ciclo.
- Sostituisco ogni arco pre di peso k>1 con k archi pre provenienti da altrettanti k posti del ciclo.
Attenzione. Il numero delle marcature M(p) presenti nella rete modificata deve essere sempre lo stesso rispetto alla rete originale.
Qual è la differenza tra una rete generale e ordinaria
- La rete generale è composta da archi con peso k≥0
- La rete ordinaria è composta da archi con peso k≥0≤1
Un esempio pratico
Ho la seguente rete di Petri con un posto e 4 transizioni.
Le transizioni t2 e t3 hanno molteplicità superiore a 1.
Individuo il massimo peso degli archi in entrata (pre) e uscita (post) nel posto p1. In questo caso il massimo peso è 3.
$$ m = \{ 2 , 3 \} = 3 $$
Sostituisco il posto p1 con un ciclo di m=3 posti e m=3 transizioni.
Ora sostituisco l'arco in uscita (post) dalla transizione t2 che ha un peso uguale a 2 con due archi (post) verso due posti del ciclo.
Poi sostituisco l'arco in entrata (pre) sulla transizione t3 che ha un peso uguale a 3 con tre archi (pre) provenienti da tre posti del ciclo.
Il risultato finale è una rete ordinaria con tre posti e sette transizioni.
Ogni arco ha peso unitario.
In questo modo ho trasformato la rete generale in una rete ordinaria.
E così via.