L'idea si basa su una discussione che ho avuto con Grégoire Sutre questo pomeriggio.
Il problema è decidibile come segue.
Una rete Petri è un insieme finito di coppie in chiamato transizioni. Data una transizione , denotiamo con la relazione binaria definita sul set di configurazioni con se esiste un vettore tale che e . Indichiamo con la relazione di raggiungibilità ad un passo . La chiusura riflessiva e transitiva di questa relazione è indicata daN d × N d t = ( → u , → v ) t → N d → x t → → y → z ∈ N d → x = → u + → z → y = → v + → z T → ⋃ t ∈ T t → T ∗ →TNd×Ndt=(u⃗ ,v⃗ )→tNdx⃗ →ty⃗ z⃗ ∈Ndx⃗ =u⃗ +z⃗ y⃗ =v⃗ +z⃗ −→T⋃t∈T→t−→T∗ .
Let tramite il componente per componente ordine classico parziale sulle e definita da se esiste tale che . La chiusura verso l'alto di un insieme di è l'insieme dei vettori . La chiusura verso il basso di un insieme è l'insieme dei vettori .N d → u ≤ → x → z ∈ N d → x = → u + → Z → X N d ↑ → X { → v ∈ N d | ∃ → x ∈ → X .≤Ndu⃗ ≤x⃗ z⃗ ∈Ndx⃗ =u⃗ +z⃗ X⃗ Nd↑X⃗ → X ↓ → X { → v ∈Nd∣∃ → x ∈ → x .{v⃗ ∈Nd∣∃x⃗ ∈X⃗ .x⃗ ≤v⃗ }X⃗ ↓X⃗ {v⃗ ∈Nd∣∃x⃗ ∈x⃗ .v⃗ ≤x⃗ }
Notare che se per un set finito di e se è una rete di Petri, possiamo calcolare una nuova rete di Petri tale che per ogni configurazione , abbiamo e if, e solo se, . Infatti, se è una transizione, allora per ogni , lascia che dove è il vettore in→ B NdTT → B → x , → y → x T → → y → x , → y ∈ → U → x T → B → → y t=( → u , → v ) → b ∈ → B t → b =( →U⃗ =↑B⃗ B⃗ NdTTB⃗ x⃗ ,y⃗ x⃗ −→Ty⃗ x⃗ ,y⃗ ∈U⃗ x⃗ −→TB⃗ y⃗ t=(u⃗ ,v⃗ )b⃗ ∈B⃗ → z Nd → z (i)=max{ → b (i)- → u (i), → b (i)- → v (i),0}1≤i≤dT → U ={t →tb⃗ =(u⃗ +z⃗ ,v⃗ +z⃗ )z⃗ Nd definito per componente da per ogni . Si noti che soddisfa il requisito.z⃗ (i)=max{b⃗ (i)−u⃗ (i),b⃗ (i)−v⃗ (i),0}1≤i≤dTU⃗ ={tb⃗ ∣t∈Tb⃗ ∈B⃗ }
Ora, supponiamo che sia una rete di Petri, l'insieme di ostacoli. Introduciamo il set finito . Osserva che possiamo calcolare efficacemente un insieme finito di tale che . Sia la relazione binaria definita su di if , oppure esiste tale che→ O → D = ↓ → O → B N d ↑ → B = N d ∖ → D R N d ∖ → O → x R → y → x = → y → x ′ , → y ′ ∈ N d ∖ → O → x T → → x ′ T ∗ →TO⃗ D⃗ =↓O⃗ B⃗ Nd↑B⃗ =Nd∖D⃗ RNd∖O⃗ x⃗ Ry⃗ x⃗ =y⃗ x⃗ ′,y⃗ ′∈Nd∖O⃗ x⃗ −→Tx⃗ ′−→T∗B⃗ y⃗ ′−→Ty⃗ .
Ora, osserva che se esiste una corsa dalla configurazione iniziale a quella finale che evita l'ostacolo , allora ne esiste una che evita l'ostacolo in e che passa per configurazioni in al massimo nel cardinale di quell'insieme. Quindi, il problema si riduce a selezionare configurazioni distinte non deterministicamente in , fix as la configurazione iniziale , come l'ultima e controlla chex⃗ → O → O → D ∖ → O → c 1,…, → c n → D ∖ → O → c 0 → x cn+1 → y → c jR → c j+1jy⃗ O⃗ O⃗ D⃗ ∖O⃗ c⃗ 1,…,c⃗ nD⃗ ∖O⃗ c⃗ 0x⃗ cn+1y⃗ c⃗ jRc⃗ j+1 per ogni . Quest'ultimo problema si riduce alle classiche domande di raggiungibilità per le reti di Petri.j