Trova quali vertici eliminare dal grafico per ottenere il componente più piccolo più piccolo


8

Dato un grafico G=(V,E), trova k vertici {v1,,vk}, la cui rimozione comporterebbe un grafico con il componente più piccolo più piccolo.

Presumo in grande n=|V| e grande k il problema è difficile (NP-difficile), ma sono interessato a piccoli valori di k (k{1,2,3,4}).

Per k=1, Penso che sia possibile trovare il miglior vertice {v1} da rimuovere eseguendo una prima ricerca di profondità del grafico (ad es. controllo dei punti di articolazione).

Per k=2, sarebbe possibile trovare i migliori vertici {v1,v2} eseguendo n ricerche approfondite (ognuna di esse per il grafico Gi=G/{vi}). Un approccio simile potrebbe essere applicato nel casok>2.

Mi chiedo se esiste una soluzione migliore di quella.

(Correlato: contare il numero minimo di vertici senza necessariamente enumerarli )


Bene, generalizza la copertura dei vertici che richiede verticiS={v1,,vk} tale che GSha un componente più grande di dimensioni singleton.
Pål GD,

Ps., Un algoritmo parametrizzato è un algoritmo FPT se viene eseguito in tempo f(k)nc per alcuni ce un algoritmo è un algoritmo XP se viene eseguito nf(k)tempo.
Pål GD,

Puoi venire con qualche informazione in più? Sono abbastanza interessato allo sfondo di questo problema.
Pål GD,

Ho riscontrato questo problema mentre cercavo il massimo comune sottografo connesso di due grafici. Controlla i commenti nella tua risposta :)
MindaugasK

Risposte:


9

Il problema che stai descrivendo è noto come Connettività dell'ordine dei componenti nel campo delle misure di vulnerabilità dei grafici . La versione decisionale del problema è la seguente:

Connettività ordine componenti :

Input: graficoG=(V,E), numeri interi k e

Domanda: esiste una serie di verticiXV di dimensioni al massimo k tale che la dimensione del componente più grande di GX è al massimo ?

Il problema è ovviamente NP-completo poiché generalizza la copertura dei vertici; il caso in cui=1è la copertura dei vertici. Quindi il problema non può essere risolto parametro trattabile quando parametrizzato da (salvo che FPT=W[1]). Anche il problema è notoW[1]-hard quando parametrizzato da k. Quindi, dobbiamo ricorrere ad algoritmi con un tempo di esecuzione esponenziale ink+.

Domanda molto interessante. Per inputG,k,, un approccio a forza bruta sarebbe:

branching(G,k,l):
    Find a connected set of vertices D of G of size l+1
    if no such D exists:
            return True // no component of size > l
    for v in D:
        if branching(G-v,k-1,l):
            return True
    return False

L'algoritmo viene eseguito nel tempo (+1)kn2.

Osservare che qualsiasi istanza sì G,k, del problema ha la larghezza degli alberi, e in effetti la larghezza dei percorsi al massimo k+. Questo può essere osservato vedendo che prendere un set di cancellazioneX di dimensioni al massimo k produce un grafico GX dove ogni componente collegato ha dimensioni massime . Quindi, una decomposizione del percorso valida è semplicemente quella di costruire un sacchetto per ciascuno dei componenti inGX e quindi aggiungere tutto Xper ogni borsa. Ne consegue che qualsiasi istanza yes ha|E(G)|n(k+).

Un problema correlato è stato studiato in passato con il nome Graph Integrity o Vertex Integrity per distinguere la versione di eliminazione dei vertici e la versione di eliminazione dei bordi:

Integrità del vertice :

Input: graficoG=(V,E), numero intero p

Domanda: esiste una serie di verticiXV tale che |X|+maxDcc(GX)|D|p?

Cioè, la somma del set di eliminazione e la dimensione del componente massimo devono essere ridotte al minimo. Questo problema è anche NP-difficile. Vedi, ad es.

  • Clark, LH, Entringer, RC, Fellows, MR: complessità computazionale dell'integrità. J. Combin. Matematica. Combin. Comput 2, 179–191 (1987)
  • Fellows, M., Stueckle, S .: L'ordine di immersione, i sottografi proibiti e la complessità dell'integrità della rete. J. Combin. Matematica. Combin. Comput 6, 23–32 (1989)

Bene, in realtà sto lavorando con grafici chimici, che sono planari con probabilità molto alte.
MindaugasK,

Quindi puoi controllare il teorema del separatore planare (Lipton e Tarjan) che dice che puoi trovare separatori bilanciati . O(n)
Pål GD,

Ho risolto questo problema come ho suggerito nella domanda, facendo -depth-first-ricerche (una per trovare punti di articolazione, per trovare coppie di punti di articolazione). Il componente massimo dei grafici chimici (molecole), che sono sparsi, può spesso essere reso sufficientemente piccolo eliminando solo 1-2 atomi (vertici) (con rare eccezioni). Non stavo cercando una soluzione ottimale, volevo solo 1, 2 o 3 atomi, la cui rimozione avrebbe 'tagliato' la molecola in piccole paci, e DFS era sufficiente. |V|+1|V|
MindaugasK

In realtà il problema che ho indicato nella domanda non era esattamente quello che volevo risolvere. Ogni vertice aveva anche pesi associati ad esso. Quindi, volevo scegliere i vertici, che non solo si traducono in un piccolo componente più grande, ma che la somma del peso è anche piccola.
MindaugasK

Questo di per sé era un sottoproblema di un altro problema: trovare la sottostruttura connessa massima comune di 2 molecole date (trovare la sottografia indotta connessa massima comune di 2 grafici). Dopo aver mappato un singolo atomo da una molecola con tutte le possibili mappature da un'altra, puoi rimuovere quell'atomo dalla considerazione ed è bello se "taglia" la molecola. Forse dovrei dichiararlo come un'altra domanda.
MindaugasK
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.