Anda di halaman 1dari 2

Traduzione dimostrazione:

Teorema 4:

Dim: Per $i \in {1,\ldot,2_k}$, sia $V_i \subseteq V$ l'insieme dei vertici v con

$\ell(v) \geq i$ e sia $E_i = E \cap (V_i * V_I)$. Inoltre $E_i$ contiene soltanto i vertici
i cui endpoints hanno un etichettatura maggiore o uguale di i.

Poi sia $G_i=<{i,\ldots,2_k},V_i,E_i, \ell> il grafo ridotto di G.

La risposta al problema even-cycle è positiva sse esiste un $i \in {1,\ldots,2_k}$

e un non banale MSCC di $G_i$ che contiene un vertice i. Infatti, poichè il

$min_{v\in V_i}{\ell(v)}\geq i$ tale che un MSCC abbia un ciclo C in G nel quale

$min_{v\in V_i}{\ell(v)}= i$, ed è pari. Inoltre, se c'è il ciclo C in G tale che

$min_{v\in V_i}{\ell(v)}$ è un certo pari i, allora C appartiene a un MSCC non banale


di $G_i$. Chiameremo i un testimone per G.

Per ogni i e j con $i < j$ abbiamo che $V_j\subseteq V_i$ inoltre il grafo $G_j$ è un
sottografo di $G_i$. Di conseguenza il MSCC's di $G_j$ raffina quello di $G_i$ nel
senso che se due vertici appartengono alla stessa MSCC di $G_j$ essi appartengono alla
stessa MSCC di $G_i$. Questi perfezionamenti sono la chiave dell'algoritmo. L'algoritmo
infatti ricerca questi $i\in {1,\ldots,2_k}$ tale che i è pari e c'è un MSCC di $G_i$ non
banale che contiene il vertice etichettato con i. Intuitivamente quando l'algoritmo esamina
un canditato i, termina con "si" se è un testimone, o esamina altri canditati j diversi da i.
Ci sono due casi:

-Se $j>i$ si esamina un sottografo $G_i$ formato dai vertici e archi che appartengono al
MSCC non banale di $G_j$.

-Se $j<i$ si esamina una versione compressa di $G_j$ in cui i vertici che appartengono
alla stessa MSCC in $G_i$ sono rappresentati da un solo vertice. Di conseguenza il grafo
che consideriamo ha meno stati e archi, precisamente per ogni $ j_1>i e j_2<i, il numero
di archi nei due grafi richiesti per esamininare $j_1 e j_2$ non è maggiore del numero di
archi nel grafo richiesti per verificare i.

Formalmente, si risolve il problema del even-cycle con la procedura ricorsiva

$solve(<D,V,E,\ell>,i,j)$ descritta in seguito. La procedura ha input un grafo diretto


etichettato e due indici i e j in D, dirà si se esiste un testimone i in ${i,\ldots,j}$ per il
problema even-cycle di parametri $<D,V,E,\ell>$ e dirà no altrimenti. Per risolvere
questo problema su un grafo G, si chiama solve(G,1,2k). L'idea dietro alla procedura
solve(G,i,j) è la seguente:

Dato G e un $i\leq j$ (Se j è minore di i non esiste nessun testimone e la procedura dirà
no), la procedura per prima cosa calcola MSCC di $G_mid$ dove mid è un indice con il
valore medio tra i e j. Se mid è pari ed esiste un MSCC di $G_mid$ con un vertice
etichettato mid, la procedura termina con output "Si"(mid è il testimone). Altrimenti si
chiamano solve(G_bottom, mid+1,j) e solve(G_top,i, mid-1) dove $G_bottom$ è un
sottografo di $G_mid$ e $G_top$ è il grafo compresso ottenuto dal MSCC di $G_mid$.

Spieghiamo nel dettaglio i passi 6 e 7 dell'algoritmo. Nello step 6 il grafo $G_bottom$


rimuove un arco da $G_mid$ se l'arco ha un vertice etichettato mid o se è collegato a un
altra MSCCs. Poichè, tale vertice non può partecipare al MSCC in cui troveremo un ciclo
C (come certificato) in cui $min_{v\in V_i}{\ell(v)}$ è in $mid+1,\ldots,j$.

Nello step 7 i vertici di $G_top$ sono i MSCCs di $G_mid$$min_{v\in V_i}{\ell(v)}$ e


ci sono vertici $ u \in C_u$ e $v\in C_v$ tali che u o v non sono in $V_mid$

(in tal caso il corrispondente MSCC è un singleton ed è banale) e $<u,v>\in E$, oppure se
u e v sono in $V_mid$ e essi appartengono a MSCCs diversi($C_u diverso da C_v$).
Quindi, ricercare il certificato in $i,\ldots,mid-1$ possiamo ignorare la struttra interna
degli MSCC's in $C_mid$.

Anda mungkin juga menyukai