Data una famiglia di al massimo sottogruppi di . La chiusura unione è un'altra famiglia insieme contenente ogni insieme che può essere costruito prendendo dall'unione di 1 o più insiemi in . Diindichiamo il numero di set di . n { 1 , 2 , … , n } F C F | C | C
Qual è il modo più veloce per calcolare la chiusura del sindacato?
Ho mostrato un'equivalenza tra la chiusura del sindacato e elencando tutti gli insiemi massimi indipendenti in un grafico bipartito, quindi sappiamo che decidere la dimensione della chiusura del sindacato è # P-completo.
Tuttavia c'è un modo per elencare tutti i set massimi indipendenti (o cricche massime) nel tempo per un grafico con nodi e bordi Tsukiyama et al. 1977. Ma questo non è specializzato per i grafici bipartiti.n m
Abbiamo fornito un algoritmo per grafici bipartiti con runtime http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf
Il nostro metodo si basa sull'osservazione che qualsiasi elemento in può essere realizzato dall'unione di qualche altro elemento di e uno degli insiemi originali. Quindi ogni volta che aggiungiamo un elemento a proveremo ad espanderlo di uno dei set originali. Per ognuno di questiImposta abbiamo bisogno di controllare se sono ancora in . Memorizziamo come albero di ricerca binario, quindi ogni ricerca prende time.C C n n ⋅ | C | C C log | C | ⋅ n
È possibile trovare la chiusura del sindacato nel tempo ? O anche nel tempo ?