ADRC - 12 - Sparse Expanders


1 Lecture Info

Data: [2018-12-03 lun] + [2018-12-06 gio]


In questa lezione abbiamo analizzato il protocollo \(\text{RTA}\), che ci permette di costruire dei grafi sparsi e scalabili con delle buone proprietà di connettività.

2 Protocollo RTA

In generale siamo interessati ai grafi che presentano le seguenti proprietà:

  • Grado "piccolo" per ogni nodo;

  • Diametro del grafo "piccolo";

  • Fault tolerance "media";

A tale fine definiamo il seguente protocollo, chiamato protocollo \(\text{RTA}\), che sta per "Request Then Accept". Il protocollo lavora sul grafo completo \(K_n\), prende in input un parametro \(d \in \mathbb{N}\), e può essere descritto come segue:

  • Ogni nodo \(v \in V := [n]\) sceglie in modo uniforme e indipendente altri \(d\) nodi \(w_1, w_2, \ldots, w_d\). A ciascun nodo scelto invia un messaggio (link-request) in cui richiede al nodo l'utilizzo dell'arco \((v, w_i)\), che viene quindi salvato nella lista \(N_v\) memorizzata dal nodo \(v\).

  • Ogni nodo \(v\) che riceve una link-request dal nodo \(w\) la accetta, e memorizza l'arco \((v, w)\) nella sua particolare lista \(N_v\).

  • Il grafo costruito e ritornato dal protocollo è

    \[G = (V,E) \,\,\,\,,\,\,\,\, E := \bigcup\limits_{v \in V} N_v\]

Osservazione: Dato che i nodi scelgono con ripetizione, può accadere che un nodo \(v\) scelga due volte lo stesso nodo \(w\). Il grafo ritornato dal protocollo potrebbe quindi essere un multigrafo con dei self-loops.

Andiamo adesso ad analizzare alcune proprietà del grafo \(G\) ritornato dal protocollo \(\text{RTA}\).

3 Grado dei nodi in \(G_{\text{RTA}}\)

Per quanto riguarda il grado dei nodi del grafo, sia \(V = \{1, 2, \ldots, n\} = [n]\) un ordinamento arbitrario dei nodi. Se indichiamo con \(\Delta_v^{\text{in}}\) la v.a. che conta il numero delle link-request ricevute dal nodo \(v\), si nota subito che

\[\Delta(v) = d + \Delta_v^{\text{in}}\]

Andiamo quindi ad analizzare il grado medio, il grado massimo, e il grado generale dei nodi del grafo.


3.1 Grado Medio

Per quanto riguarda il grado medio vale il seguente risultato

Lemma: Per ogni nodo \(v\), \(\mathbb{E}[\Delta_v^{\text{in}}] = d\), e quindi \(\mathbb{E}[\Delta(v)] = 2d\).

Dimostrazione: Iniziamo notando che il protocollo effettua un totale di \(d \cdot n\) link-requests. Sia quindi \(\{1, 2, \ldots, d \cdot n \} = [d \cdot n]\) un ordinamento arbitrario delle richieste. A questo punto fissiamo \(v \in [n]\) e definiamo le seguenti v.a.

\[\forall j \in [n \cdot d]: \,\,\, X_{j}^v := \begin{cases} 1 \,\,\,&,\,\,\, \text{ la } j \text{ esima richiesta è stata inviata al nodo } v \\ 0 \,\,\,&,\,\,\, \text{ altrimenti} \\ \end{cases}\]

Possiamo quindi scrivere

\[\Delta_v^{\text{in}} = \sum\limits_{j \in [d \cdot n]} X_j^v\]

Utilizzando poi il fatto che le scelte sono indipendenti e che sono effettuate sul grafo completo \(K_n\) abbiamo che

\[Pr[X_j^v = 1] = \frac{1}{n}\]

Mettendo tutto assieme troviamo

\[\mathbb{E}[\Delta_v^{\text{in}}] = \mathbb{E}\Big[\sum\limits_{j \in [d \cdot n]} X_j^v\Big] = \sum\limits_{j \in [d \cdot n]} Pr[X_j^v = 1] = \frac{d \cdot n}{n} = d\]

\[\tag*{$\blacksquare$}\]



3.2 Grado Massimo

Andiamo adesso a vedere come ottenere dei risultati in concentrazione per limitare il valore del grado massimo con alta probabilità. In particolare vale il seguente

Teorema: Per ogni \(n \geq 1\) e per ogni costante assoluta \(d \geq 1\) che non incrementa con \(n\), il grafo \(G = (V,E)\) costruito dal protocollo \(\text{RTA}(n ,d)\) ha un grado massimo di \(\theta(\frac{\log n}{\log{\log n}})\) con alta probabilità.

Dimostrazione: Utilizzando le v.a. \(X_j^v\) definite nella precedente dimostrazione abbiamo che

\[\Delta_v^{\text{in}} = \sum\limits_{j \in [d \cdot n]} X_j^v\]

Dato poi che le \(X_j^v\) sono v.a. binarie e indipendenti, con \(\mathbb{E}[\Delta_v^{\text{in}}] = d\), possiamo utilizzare il seguente chernoff bound:

Chernoff Bound: Sia \(u \geq 1\) e sia \(\alpha\) una costante positiva. Allora, per una costante sufficientemente grande \(\beta > 0\) e per un \(n\) sufficientemente grande, vale che

\[Pr\Big[ X \geq \big(1 + \beta \cdot \frac{\log n}{\log{\log n}} \big) \Big] \leq e^{-\alpha \mu \log n}\]

Nel nostro caso troviamo quindi per un \(\beta\) abbastanza grande vale che

\[Pr\Big[\Delta_v^{\text{in}} \geq \Big(1 + \beta \cdot \frac{\log n}{\log{\log n}} \Big) \Big] \leq \frac{1}{n^{\alpha}}\]

per qualche fissato \(\alpha = \alpha(\beta) \geq 2\). Ma allora segue che con alta probabilità

\[\Delta_v^{\text{in}} \leq \Big(1 + \beta \cdot \frac{\log n}{\log{\log n}} \Big) \cdot d = d + d \beta \frac{\log n}{\log{\log n}} \leq 2 d \beta \frac{\log n}{\log{\log n}}\]

e quindi \(\Delta_v^{\text{in}} = O(\frac{\log n}{\log{\log n}})\) con alta probabilità.


Per completare la dimostrazione dobbiamo far vedere che con alta probabilità nessun nodo ha un grado maggiore di \(\log n / \log{\log{n}}\). A tale fine definiamo il seguente evento

\[\text{BAD}_v := \text{ Il nodo } v \text{ ha grado } w(\frac{\log n}{\log{\log n}})\]

Allora applicando un semplice union bound otteniamo il seguente risultato

\[Pr \Big[\bigcup_{v \in V} \text{BAD}_v \Big] \leq \sum\limits_{v \in V} Pr\Big[ \text{BAD}_v \Big] \leq n \cdot \frac{1}{n^{\alpha}} = \frac{1}{n^{\alpha -1}}\]

dato che \(\alpha \geq 2\) abbiamo che con alta probabilità nessun nodo ha un grado \(w(\frac{\log{n}}{\log{\log{n}}})\).

\[\tag*{$\blacksquare$}\]

Osservazione: Notiamo che abbiamo solamente dimostrato l'upper bound del risultato enuncinato nel teorema. Per dimostrare anche il lower bound dobbiamo dimostrare che \(\Delta_v^{\text{in}} = \Omega(\frac{\log n}{\log{\log n}})\) con alta probabilità. Questo può essere fatto utilizzando la distribuzione di Poisson e strumenti di anti-concentrazione.



3.3 Grado Generale

Per finire la discussione sul grado dei nodi, andiamo ad analizzare il grado dei nodi nei grafi ottenuti dal protocollo \(\text{RTA}(n, d)\) quando \(d = \theta(\log n)\). In particolare troviamo il seguente risultato

Teorema: Per ogni \(n \geq 1\) e per \(d = \beta \cdot \log n\), con \(\beta > 0\) costante assoluta, tutti i nodi del grafo \(G = (V, E)\) costruito dal protocollo \(\text{RTA}(n, d)\) hanno un grado di \(\theta(\log n)\) con alta probabilità

Dimostrazione: Come prima iniziamo introducendo le solite v.a.

\[\Delta_v^{\text{in}} = \sum\limits_{j \in [d \cdot n]} X_j^v \,\,\,\,,\,\,\,\, X_j^v := \begin{cases} 1 \,\,&,\,\,\,\, j \text{ esima richiesta al nodo } v \\ 0 \,\,&,\,\,\,\, \text{ altrimenti} \end{cases}\]

Allora \(\mathbb{E}[d(v)] = 2d = 2 \beta \log n\). Utilizzando un Chernoff Bound su \(\Delta_v^{\text{in}}\) con \(\mu = C \beta \log n\) e \(\delta = 1/2\) troviamo

  • \(Pr\Big[\Delta_v^{\text{in}} \geq \big(1 + \frac12 \big) \cdot C \beta \log n\Big] = Pr\Big[\Delta_v^{\text{in}} \geq \frac32 C \beta \log n\Big] \leq n^{-\frac{\beta C}{12}}\)

  • \(Pr\Big[\Delta_v^{\text{in}} \leq \big(1 - \frac12 \big) \cdot C \beta \log n\Big] = Pr\Big[\Delta_v^{\text{in}} \leq \frac12 C \beta \log n\Big] \leq n^{-\frac{\beta C}{8}}\)

Scegliendo \(C \geq \beta/24\) otteniamo che entrambe queste probabilità sono \(\leq 1/n^{\alpha}\), con \(\alpha \geq 2\). Segue quindi che per un fissato nodo \(v \in V\) la probabilità che \(d(v) \neq \theta(\log n)\) è \(\leq 2/n^{\alpha}\), con \(\alpha \geq 2\).

Per concludere la dimostrazione, possiamo nuovamente utilizzare una argomentazione di tipo union bound per calcolare un bound alla probabilità che esiste almeno un nodo \(v \in V\) tale che \(d(v) \neq \theta(\log n)\). Tale probabilità risulta essere

\[\leq n \cdot \frac{2}{n^{\alpha}} = \frac{2}{n^{\alpha - 1}}\]

e quindi, dato che \(\alpha \geq 2\), otteniamo che con alta probabilità tutti i nodi \(v\) hanno grado \(d(v) = \theta(\log n)\).

\[\tag*{$\blacksquare$}\]


4 Espansione di \(G_{\text{RTA}}\)

Fino a questo momento abbiamo analizzato il grado dei nodi del grafo generato dal protocollo \(\text{RTA}(n, d)\). Andiamo ora ad analizzare altre proprietà del grafo \(G\), come ad esempio la connettività e la fault-tolerance. Segue qualche definizione iniziale


Definizione 1: Dato un grafo \(G = (V, E)\) con \(V = [n] = \{1, 2, \ldots, n\}\), la (node)-expansion di un qualsiasi sottoinsieme \(S \subseteq V\) è indicata con \(|N(S)|\), dove

\[N(S) := \{w \in V \setminus S: \,\,\, \exists v \in S: \,\, (v, w) \in E\}\]

Definizione 2: Per un fissato \(\alpha \geq 0\), diciamo che \(G\) è un \(\alpha\) -expander se ogni sottoinsieme \(S \subseteq V\) con \(|S| \leq n/2\) ha una espansione di almeno \(\alpha \cdot |S|\).


Andiamo adesso a dimostrare che il protocollo \(\text{RTA}\) ritorna un grafo quasi-sparso ma con delle buone proprietà di connessione. In particolare vale il seguente risultato

Teorema: Per ogni \(n \geq 1\) e per \(d = \beta \log n\), con \(\beta > 0\) costante assoluta abbastanza grande, il grafo \(G = (V, E)\) ritornato dal protocollo \(\text{RTA}(n, d)\) è con alta probabilità un \(\Omega(1) -\) expander.

Dimostrazione: Consideriamo una esecuzione del protocollo \(\text{RTA}\) come se fosse divisa in \(d\) fasi consecutive e mutualmente indipendenti. Durante la fase \(j\) ciascun nodo invia la propria \(j\) esima link-request ad un altro nodo scelto in modo uniforme e indipendente.

Sia quindi \(s \leq n/2\) e fissiamo un qualsiasi sottoinsieme \(S \subseteq V\) con \(|S| = s\). Definiamo le seguenti v.a.

\[Y_v^j := \begin{cases} 1 \,\,\,&,\,\,\, \text{ la } j \text{ esima richiesta di } v \text{ è inviata a qualche nodo } u \in S \\ 0 \,\,\,&,\,\,\, \text{ altrimenti} \\ \end{cases}\]

dove \(j = 1, 2, \ldots, d\) sono le varie fasi del protocollo e \(v \in V \setminus S\).

Dato che il grafo è completo e le richieste vengono inviate in modo uniforme, si può facilmente osservare che

\[Pr[Y_v^j = 1] = \frac{s}{n}\]

Consideriamo ora il seguente random subset di nodi in \(V \setminus S\)

\[N^j(S) := \{v \in V \setminus S: \,\,\, Y_v^j = 1\}\]

Dato che \(s \leq n/2\), per ogni fase \(j\) troviamo

\[\mathbb{E}[|N^j(S)|] = \mathbb{E}\Big[\sum\limits_{v \in V \setminus S} Y_v^j\Big] = \sum\limits_{v \in V \setminus S} \mathbb{E} \Big[ Y_v^j \Big] = (n - s) \cdot \frac{s}{n} \geq \frac{n}{2} \cdot \frac{s}{n} = \frac{s}{2}\]

Dal fatto poi che \(|N^j(S)|\) è una somma di v.a. indipendenti e a valori binari, possiamo utilizzare un Chernoff Bound per ottenere

\[Pr\Big[ |N^j(S)| \leq \Big(1 - \frac12 \Big) \cdot \frac{s}{2} \Big] = Pr \Big[|N^j(S)| \leq \frac{s}{4} \Big] \leq e^{-\frac{s}{16}}\]


Per continuare, definiamo i seguenti eventi

  • \(B^j(S) := |N^j(S)| \leq s/4\)

  • \(B(S) := \bigcap\limits_{j = 1}^d B^j(S)\)

Dato che gli eventi \(B^j(S)\) sono mutualmente indipendenti al variare di \(j=1,2,\ldots,d\), otteniamo

\[Pr[B(S)] = \prod\limits_{j = 1}^d Pr[B^j(S)] \leq \Big(s^{-\frac{s}{16}}\Big)^d\]

Notiamo che se l'evento \(B(S)\) non succede, allora l'insieme \(S\) nel grafo finale ottenuto dal protocollo \(\text{RTA}\) ha una espansione di \(1/4\). Continuando, la probabilità che esiste un "cattivo" \(S\) per cui vale \(B(S)\) può essere limitata effettuando un union bound su tutti i possibili insiemi \(S\) di size \(s\). Tale probabilità è al più

\[\binom{n}{s} \cdot e^{- \frac{ds}{16}} \leq \Big(\frac{en}{s}\Big)^s \cdot e^{-\frac{ds}{16}} = e^{s + s \log n - s \log s - \frac{1}{16} ds}\]

dove l'ultimo termine può essere reso \(\leq 1/n^2\) scegliendo un valore di \(\beta > 0\) abbastanza grande, con \(d = \beta \cdot \log n\).

Per finire, dobbiamo effettuare un ulteriore union bound. Infatti il bound ottenuto vale per ogni sottoinsieme \(S\) con il size fissato a \(s \leq n/2\). Necessitiamo quindi di un altro union bound per coprire ogni possibile valore di \(s\). Dato che il numero di sizes possibili è \(n/2\), otteniamo immediatamente che la probabilità che esiste un insieme \(S\) di size \(\leq n/2\) per cui vale \(B(S)\) è al più

\[\frac{n}{2} \cdot \frac{1}{n^2} \leq \frac{1}{n}\]

Ma allora abbiamo che con alta probabilità qualsiasi sottoinsieme \(S\) con size \(|S| \leq n/2\) ha una espansione di almeno \(1/4\), il che equivale a dire che con alta probabilità il grafo ritornato dal protocolo è un \(\Omega(1) -\) expander.

\[\tag*{$\blacksquare$}\]

5 Diametro di \(G_{\text{RTA}}\)

Per finire la lezione, andiamo ad analizzare una proprietà che rende interessanti i grafi che sono \(\Omega(1) -\) expanders: il fatto che hanno un diametro limitato. In particolare vale il seguente

Teorema: Consideriamo la seguente famiglia infinita di grafi

\[\{G_n = (V_n, E_n): \,\,\, V_n = [n], \,\,\, E_n \subseteq V_n^2, \,\,\, n \geq 1\}\]

Se esiste una costante assoluta \(\alpha > 0\) tale che per un valore abbastanza grande di \(n\) il grafo \(G_n\) è un \(\alpha -\) expander, allora il suo diametro è \(O(\log n)\).

Dimostrazione: Consideriamo un grafo della famiglia \(G_n = (V_n, E_n)\).

Fissiamo un certo vertice \(s \in V\) ed eseguiamo una breadth-first-search (BFS) a partire da \(s\) al fine di calcolare le varie distanze \(d_G(s, v), \,\, v \in V\). Definiamo quindi i seguenti elementi

  • \(L_t := \{v \in V: \,\,\, d_G(s, v) = t \}, \,\,\, t = 0, 1, \ldots, n-1\)

  • \(I_0 := L_0 = \{s\}\)

  • \(I_t := I_{t-1} \bigcup L_t \,\,\,,\,\,\, t = 1, 2, \ldots, n-1\)

Notiamo che dalle definizioni segue che \(N(I_t) = L_{t+1}\) e che \(|I_t| = |I_{t-1}| + |L_t|\). Utilizzando il fatto che \(G\) è un \(\alpha -\) expander otteniamo che se \(|I_{t-1}| \leq n/2\), allora

\[\begin{split} \phantom{} |I_t| = |I_{t-1}| + |L_t| &\geq |I_{t-1}| + \alpha \cdot |I_{t-1}| \\ &= (1 + \alpha) \cdot |I_{t-1}| \\ &\,\,\,\vdots \\ &\geq (1 + \alpha)^{t-1} \\ \end{split}\]

Ma allora \(|I_{\tau}| \geq n/2\) per qualche \(\tau = O(\log n)\), e quindi il numero di nodi che si trovano a distanza \(\tau\) da \(s\) sono almeno \(n/2\).

Consideriamo adesso un qualsiasi altro nodo \(w \in V - I_{\tau}\) e ripetiamo lo stesso procedimento di prima per costruirci i vari \(I^{'}_t\). Nuovamente otteniamo che dopo \(\tau^{'} = O(\log n)\) passi, il size di \(|I^{'}_{\tau^{'}}|\) è almeno \(n/2\).

Osserviamo che i due alberi costruiti dalle BFS effettuate sui nodi \(s\) e \(w\) devono necessariamente condividere almeno un nodo, oppure devono essere connessi da almeno un arco. Infatti, se condividono un nodo abbiamo fatto. Altrimenti, dal fatto che \(|I_{\tau}| \geq n/2\) e \(|I^{'}_{\tau^{'}}| \geq n/2\) ne consegue che \(N(I^{'}_{\tau^{'}}) \cap I_{\tau} \neq \emptyset\), in quanto altrimenti entrerei in conflitto con il fatto che

\[\Big( N(I^{'}_{\tau^{'}}) \subseteq V = I_{\tau} \cup I_{\tau^{'}} \Big) \land \Big(N(I^{'}_{\tau^{'}}) \cap I^{'}_{\tau^{'}} = \emptyset \Big)\]

Ma allora data una qualsiasi coppia di nodi \(u, v \in V\), possiamo sempre trovare un cammino di lunghezza \(O(\log n)\) tra \(u\) e \(v\). Da questo segue che il diametro di \(G_n\) è \(O(\log n)\).

\[\tag*{$\blacksquare$}\]