Algoritmo di enumerazione della cricca


9

Sto leggendo un vecchio documento di MC Golumbic sui grafici EPT (intersezione dei bordi di percorsi in un albero). Nel documento viene mostrato che il numero di cricche massime di un'istanza del grafico EPT è polinomiale. Conclude che se un oracolo segnala che un grafico è un grafico EPT, allora è possibile trovare la cricca massima con un algoritmo di enumerazione cricca standard.G

Prima di tutto, quali sono questi algoritmi standard di enumerazione della cricca? Se ce ne sono più di uno, possiamo dire che se il numero di cricche massime di un grafico è polinomiale, allora possiamo usare uno di questi algoritmi di enumerazione? O dovremmo derivare un algoritmo speciale da un algoritmo generico che utilizza alcune strutture speciali della classe del grafico?

Grazie in anticipo.

Risposte:


13

Esistono diversi algoritmi sensibili all'output per enumerare tutte le cricche massime in tempo polinomiale per output. Uno dei primi algoritmi è stato sviluppato da Tsukiyama, Ide, Ariyoshi e Shirakawa (1977).

  • Shuji Tsukiyama, Mikio Ide, Hiromu Ariyoshi, Isao Shirakawa: un nuovo algoritmo per la generazione di tutti i massimi set indipendenti. SIAM J. Comput. 6 (3): 505-517 (1977)

Ciò significa che se sai che il tuo grafico ha al massimo polinomialmente molte cricche massime, il tempo di esecuzione totale del loro algoritmo sarà polinomiale nella dimensione di input.


Sfortunatamente, non ho accesso al documento. Ma sono sicuro che questo è quello che sto cercando, grazie.
Arman,

4

L'algoritmo di Bron – Kerbosch calcola tutte le cricche massime in un grafico non orientato (vedi Wikipeadia ). Il tempo di esecuzione peggiore è O (3 n / 3 ), apparentemente è molto veloce in generale ed è ancora l'algoritmo più veloce conosciuto per calcolare tutte le cricche massime. Per un riferimento più recente, vedere gli articoli di V. Stix e Cazals e Karande .


2
O(3n/3)3n/33n/3K3,3,...,3

1
Per i lavori più recenti su Bron – Kerbosch, consultare i miei articoli arxiv.org/abs/1006.5440 con Strash e Löffler a ISAAC 2010 e arxiv.org/abs/1103.0318 con Strash al SEA 2011. Tuttavia, ciò non risponde alla domanda del poster originale poiché l'algoritmo non è sensibile all'output: potrebbe volerci tempo esponenziale anche quando ci sono solo polinomiali molti cricchi massimi.
David Eppstein,
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.