Problema del Clique Implantado
Motivacion
Interferencia de antenas
Correlacion de activos de una cartera
Deteccion de bots en redes sociales
Deteccion de ataques informaticos
Proteinas / Genes
\(\vdots\)
Breve explicacion de cada uno de los problemas.
Grafos
\(G(V, E)\)
\(V = \{ 1, \dots, n \}\)
\(E = \{ \{i,j\} \quad i,j \in V \}\)
Breve intro grafos (necesaria?)
No direccionado
Sin bucles (i != j)
Concepto: orden de un nodo
Matriz de Adyacencia
\[
\begin{align}
& A \in \{0,1\}^{n\times n} \\
& \\
& A_{ij} = 1 \leftrightarrow \{i,j\} \in E \\
& \\
& A = \begin{pmatrix}
0 & 0 & 1 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 & 0 & 0 \\
1 & 0 & 0 & 0 & 0 & 1 \\
0 & 1 & 0 & 0 & 1 & 0 \\
1 & 0 & 0 & 1 & 0 & 1 \\
0 & 0 & 1 & 0 & 1 & 0
\end{pmatrix}
\end{align}
\]
Simetrica
a_ii = 0
Grado de nodo = ∑ fila
¿Que es un Clique ?
Un Subgrafo Completo Maximal
Figure 1
Comunidad
Subgrafo Completo Maximal
Si:(2,3,5,6) No:(1,4,7)
Ojo: Maximal \(\neq\) Maximo
Clique y Matriz de Adyacencia
No se ve a menos que reordenemos columnas
Clique en una posicion trivial
No se ve a menos que reordenemos columnas
Solamente se cambia el nodo 4 por el 6
Motivacion (bis)
\[ A = \begin{pmatrix}
0 & 0 & 0 & 1 & 0 & 0 & 1 & 1 \\
0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 \\
0 & 1 & 0 & 0 & 1 & 1 & 1 & 0 \\
1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\
0 & 1 & 1 & 0 & 0 & 1 & 0 & 0 \\
0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 \\
1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
\end{pmatrix} \]
cada nodo es un activo financiero
correlacion de activos como objetivo
\(\theta\) frontera aceptable de correlacion => Matriz de ceros y unos
Problema NP. Analizar la red nodo por nodo no garantiza encontrar sol. rapido
Buscamos solución basada en álgebra lineal espectral.
Grafos de Erdős-Rényi
\( \mathcal{G}(n, p) \)
Tamaño \(n\)
Aristas \(\sim Ber(p)\) independientes
Grado de un nodo \(\sim Bin(n-1, p)\)
Nos interesa el caso:
p=0.5 (maxima entropia)
n grande
Grado: suma de Ber(p) IID
Matriz de Adyacencia de un \( \mathcal{G}(n, ½ ) \)
Figure 2
Clique en el “mundo real”
\( \mathcal{G}(200, p= ½ ) \) con clique implantado de tamaño \(k=40\)
Clique en el mundo real
\( \mathcal{G}(200, p=.5) \) con clique implantado de tamaño \(k=150\)
Como se ve el clique?
Depende de p, k y n
k muy grande, poco ruido aleatorio, mucho clique.
Nos interesan ciertos k y n que hacen factible encontrar una solucion
\( \mathcal{G}(n, ½ ) \)
Roughgarden, p16
El numero esperado de cliques de tamaño \(k\) es \(\approx n^k 2^{-k^2/2}\) (\(=1\) si \(k=2\log_2 n\) )
Roughgarden, p16
El tamaño \(k_m\) del clique máximo de un grafo aleatorio es muy probablemente \(≈2\log_2{n}\)
Conclusion
Si \(k\) es chico, un clique de tamaño \(k\) sera indistinguible del ruido aleatorio.
Es decir, \(2*log_2 n\) es el \(k\) mas grande para el que ya esperamos ver al menos un clique de tamaño \(k\) .
Ejemplo: n=1000, => k~20
Kucera, 1995
\( \mathcal{G}(1000, ½ ) \) con clique implantado.
“Si se planta un clique (k), esperamos que los vertices que lo conforman, incrementen su grado en (k-1)/2”
cada vertice tiene que conectarse con otros k − 1 pero en promedio la mitad de esas conexiones ya estaban presentes.
Grados fuera del clique ~Bin(n-1, 1/2)
ancho distribucion √(n log n) (TLC)
Problema facil para k > √ c(n log(n)).
Simplemente tomo los nodos de mayor grado del grafo
Ganó Alon
# Roughgarden
2 * log2 (n)
# Kucera
sqrt (n * log10 (n))
Roughgarden: probabilidad 1 de encontrar clique
Kucera: trivial por arriba
Alon: mejor cota inferior
Alon, 1998
Algoritmo de clustering espectral. Asegura una deteccion exacta en tiempo polinomial si \(k = \Omega(\sqrt n)\)
Sea \(A\) la matriz de adyacencia de \( \mathcal{G}(n, p= ½ ) \)
\[
E(A) = \begin{pmatrix}
½ & \dots & \dots & ½ \\
\vdots & \ddots & & \vdots \\
\vdots & & \ddots & \vdots \\
½ & \dots & \dots & ½
\end{pmatrix}
\]
Grado es la suma de la fila o columna
Grado esperado de vertices ≈ n / 2
Matriz de rango 1
Diagonal deberian ser 0 (no cambia el resultado)
Alon 1998
¿Como cambia \(E(A)\) si implanto un clique de tamaño \(k\) ?
\[
E(A) = \begin{pmatrix}
1 & \dots & 1 & ½ & \dots & \dots & ½ \\
\vdots & \ddots & \vdots & \vdots & & & \vdots \\
1 & \dots & 1 & ½ & \dots & \dots & ½ \\
½ & \dots & ½ & ½ & \dots & \dots & ½ \\
\vdots & & \vdots & \vdots & \ddots & & ½ \\
\vdots & & \vdots & \vdots & & \ddots & ½ \\
½ & \dots & ½ & ½ & \dots & \dots & ½ \\
\end{pmatrix}
\]
Realizacion =Señal + Perturbacion: \[A = E(A) + P\]
Rango 2 => 2 autovalores ≠ 0
Si no hubiera clique el rango seria 1
Clique “agrega perturbacion de grado 1”
Grado esperado de los vertices del clique sube k/2
Espectro de \(E(A)\)
Simetrica \(\implies\)
\(\lambda_i \in \mathbb{R}\)
Autovectores Ortogonales
\(v_1\) Primer Autovector \(E(A)\)
\[\begin{align}
& { \Large \mathbf{1} } = (1, \dots, 1)^\top \\
\\
& \left( E(A) \cdot { \Large \mathbf{1} } \right)_i = \sum_j E(A)_{ij} = grado(i) \approx n/2 \\
& E(A) \cdot { \Large \mathbf{1} } \approx \frac{n}{2} { \Large \mathbf{1} } \\
\\
& v_1 \approx { \Large \mathbf{1} } \qquad \lambda_1 \approx \frac{n}{2}
\end{align}\]
Las sumas de todas las filas son \(\approx\) constantes.
Entonces, el vector de unos es un \(\approx\) autovector.
λ1 representa el promedio de conexiones en el grafo
\(v_2\) Segundo autovector de \(E(A)\)
\[\begin{align}
& v_1 \perp v_2 \\
& 0 = \langle v_1, v_2 \rangle = v_1^\top v_2 = \sum_i (v_1)_i \cdot (v_2)_i = \sum_i (v_2)_i \\
\\
&w = \left( n-k, \dots, n-k, \quad -k, \dots, \dots, \dots, -k \right) \\
&\sum_i w_i = 0 \\
&E(A)\cdot w = \left( ½ (n-k)k,\dots, ½ (n-k)k,0,\dots,0 \right) \\
&E(A) \cdot w \approx \frac{k}{2} w \\
\\
& v_2 \approx w \qquad \lambda_2 \approx \frac{k}{2}
\end{align}\]
\(v_2\) asigna valores grandes a los \(k\) vertices del clique.
coordenadas suman 0 => tiene (+) y (-)
Solucion trivial: un valor para (+), otro para (-)
(+) en coords del clique, (-) en el resto
Para que la suma de cero, todos los otros valores deben ser negativos.
No necesitan ser gigantes porque hay muchos mas nodos fuera del clique \((n-k)\) que dentro de el, pero empuja los coeficientes del clique hacia los positivos.
la señal E(A) se cancela al multiplicar por v_2
\(k/2\) representa el exceso de conexiones en los nodos del clique
Algoritmo para \( \mathcal{G}(n, ½ ) \)
Hallamos la matriz de adyacencia \(A\)
Calculamos \(v_2\)
Ordeno las coordenadas de \(v_2\) de mayor a menor
Los primeros \(k\) coeficientes deberian ser los correspondientes a los vertices del clique
Algoritmo en realidad (recuperacion exacta)
Q = {i ∈ V : i tiene al menos 3k/4 vecinos en U}.
¿Es valido el analisis de \(E(A)\) ?
Si.
\(A\) es una realizacion de \(E(A)\)
\(A = E(A) + P\)
Pero el analisis espectral vale igual
Teoria de Perturbaciones
Se pueden calcular los autovalores y autovectores reales y comprobar que son parecidos
Se puede aplicar el algoritmo y comprobar que funciona.
Davis-Kahan
La rotacion de los autovectores de \(E(A)\) luego de la Perturbacion \(P\) depende de la magnitud de la perturbacion y del “eigengap”
\[\sin\theta_i \leq \frac{2\|P\|}{min_{j\neq i}|\lambda_i-\lambda_j|}\] Conclusion: La rotación de autovectores es tan pequeña que la gran mayoría de los vértices del clique se mantienen en las posiciones superiores del autovector \(v_2\)
Si el ruido es pequeño y el salto entre autovalores (el eigengap) es grande, el autovector sigue apuntando a la “verdadera” señal
Vinculacion con Wigner (cota autovalores luego del principal < √n)
sin θ <= 4√n / k
Decaimiento Espectral
hay mas valores propios (significativos)? -> No
Verificacion - Ranking Espectral
¿Como puedo verificar que tengo los vertices del clique?
Tamaño n=1000 k=128
Las coordenadas del clique estan por encima de las otras aprox k/2
Las otras coordenadas estan en torno a n/2
Verificacion - El grafico de Manuel
n=1000 k=100
100 / 2 = 50
1000 - 100 = 900
(1000 - 100) / 2 = 450
¿Que pasa de acuerdo a \(k\) ?
\(k<20\)
Indistinguible
\(k<32\)
No funciona Alon
\(32<k<55\)
Ruido
Clique en \(v_2\)
Alg. Espectral (Alon)
\(k<500\)
Trivial (Kucera)
\(k>500\)
Clique en \(v1\)
Ruido
para k grande, no necesitamos tecnicas espectrales
para k>n/2 el clique se desplaza al autovector principal \(v1\)
Referencias
Manuel H. (2021). Detección de un k-subgrafo denso en un grafo aleatorio. https://www.fcea.udelar.edu.uy/institucional/agenda/5385-seminario-del-iesta-3.html
Roughgarden, T. (2017). Cs264: Beyond worst-case analysis lectures# 9 and 10: Spectral algorithms for planted bisection and planted clique.
Alon, N., Krivelevich, M., and Sudakov, B. (1998). Finding a large hidden clique in a random graph. Random Structures & Algorithms, 13(3-4):457–466.
Kucera, L. (1995). Expected complexity of graph partitioning problems. Discrete Applied Mathematics, 57(2-3):193–212.11
Lei, J., Rinaldo, A., et al. (2015). Consistency of spectral clustering in stochastic block models. Annals of Statistics, 43(1):215–237.
Lugosi, G. (2017). Lectures on combinatorial statistics. 47th Probability Summer School, Saint-Flour, pages 1–91.