Algoritmo per trovare tutti gli elenchi dei vicini a 2 hop in un grafico


8

Dato un grafico G=(V,E), dove |V|=n. Che cos'è un algoritmo veloce per generare la raccolta di tutti gli elenchi di vicinato a 2 hop di tutti i nodi inV.

Ingenuamente, puoi farlo dentro O(n3). Con il potere delle matrici, puoi farlo conO(n2.8)usando l'algoritmo Strassen. Puoi fare di meglio usando un altro algoritmo di moltiplicazione di matrici. Qualche metodo migliore? Qualche algoritmo di Las Vegas?


Esiste un algoritmo deterministico O (n ^ 2).
Mike G,

@MikeG come farlo?
AJed

4
@MikeG ha trovato un meraviglioso algoritmo di moltiplicazione della matrice temporale quadratica che purtroppo è troppo piccolo per adattarsi a un commento di scambio di stack
Sasho Nikolov,

@SashoNikolov Puoi fornire un riferimento?
Raffaello

Risposte:


15

La domanda dipende davvero da quale sia la definizione precisa di un 2-hop. Se per 2-hop intendi il set

hp(v)={uthere is a path of length 2 between u and v},
allora la risposta attuale è no, non puoi farlo più velocemente di O(nω) dove ω è la solita costante associata alla complessità dell'esecuzione del prodotto matrice.

Perché? Per ogni verticev controlla se v è adiacente al vertice in hp(v).In questo caso, hai trovato un triangolo nel tuo grafico. Inoltre, il grafico è privo di triangoli se non trovi un verticev con questa proprietà.

L'algoritmo attualmente più noto per verificare se un grafico è privo di triangoli ha una complessità temporale O(nω).


Interessante, hai un riferimento per il problema del riconoscimento senza triangoli. Esiste un limite inferiore provato per questo problema?
AJed

3
No, non esiste un limite inferiore provato ma recentemente è stata trovata una connessione molto sorprendente. Se riesci a rilevare i triangoli più velocemente diO(nω) quindi è possibile calcolare il prodotto matrice più velocemente di O(nω). Vedi l'articolo "Rilevamento del triangolo contro moltiplicazione di matrici: uno studio sulla riducibilità veramente subcubica" di Williams e Williams. Qui kam.mff.cuni.cz/~matousek/cla/tria-mmult.pdf
Jernej il

Pulito, felice che mi abbia aiutato!
Jernej,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.