Ordinamento topologico lessicografico di un DAG etichettato


13

Considera il problema in cui ci viene fornito come input un grafico aciclico diretto , una funzione di etichettatura da a qualche set con un ordine totale (ad esempio, i numeri interi) e dove ci viene chiesto per calcolare la specie topologica lessicograficamente più piccola di in termini di . Più precisamente, una specie topologica di è un'enumerazione di come , tale che per tutti , ogni volta che c'è un percorso da a inG=(V,E)λVL<LGλGVv=v1,,vnijvivjG , allora dobbiamo avere . L' etichetta di tale ordinamento topologico è la sequenza di elementi di ottenuti come . L'ordine lessicografico su tali sequenze (che tutti hanno lunghezza ) viene definito come sse esiste qualche posizione tale che e per tutti . Fai attenzione al fatto che ogni etichetta in può essere assegnata a più vertici in (altrimenti il ​​problema è banale).i<jSl=λ(v1),,λ(vn)|V|l<LEXlili<Llilj=ljj<iSV

Questo problema può essere affermato in una variante di calcolo ("calcola l'ordinamento topologico lessicograficamente minimo") o in una variante di decisione ("questa parola di input è l'ordinamento topologico minimo?"). La mia domanda è: qual è la complessità di questo problema ? È in PTIME (o in FP, per la variante di calcolo) o è NP-difficile? Se il problema generale è NP-hard, sono anche interessato alla versione in cui il set di possibili etichette è stato risolto in anticipo (cioè, ci sono solo un numero costante di possibili etichette).S

Osservazioni:

Ecco un piccolo esempio nel mondo reale per motivare il problema. Possiamo vedere il DAG come rappresentativo delle attività di un progetto (con una relazione di dipendenza tra di loro) e le etichette sono numeri interi che rappresentano il numero di giorni necessari per ogni attività. Per finire il progetto, mi ci vorrà lo stesso tempo totale, indipendentemente dall'ordine che scelgo per le attività. Tuttavia, vorrei impressionare il mio capo, e per fare ciò voglio finire il maggior numero di compiti il ​​più velocemente possibile (in modo avido, anche se ciò significa essere molto lenti alla fine perché i compiti più difficili rimangono). Scegliendo l'ordine lessicografico minima ottimizza il seguente criterio: Voglio scegliere un ordine in modo tale che non v'è altro ordineoo un numero di giorni dove dopo nnngiorni avrei finito più attività con ordine che con ordine o (cioè, se il mio capo guarda il tempo n , do una migliore impressione con o ' ), ma per tutti i m < n ho finito non meno compiti con ordine o rispetto all'ordine o .oonom<noo

Per dare un'idea del problema: so già dalle risposte precedenti che il seguente problema correlato è difficile: "esiste un tipo topologico che raggiunge la seguente sequenza"? Tuttavia, il fatto qui che desidero una sequenza minima per questo ordine lessicografico sembra limitare molto i possibili ordini topologici che possono raggiungerlo (in particolare le riduzioni di quelle altre risposte non sembrano più funzionare). Intuitivamente, ci sono molte meno situazioni in cui abbiamo una scelta da fare.

Si noti che sembrano esserci interessanti riformulazioni dei problemi in termini di copertura degli insiemi (quando si limita il problema ai DAG bipartiti, ovvero con altezza due): dati un insieme di insiemi, elencarli in un ordine che minimizza lessicograficamente la sequenza | S 1 | , | S 2S 1 | , | S 3( S 1S 2 ) | , , | S n(S1,,Sn|S1||S2S1||S3(S1S2)|. Il problema può anche essere riformulato su grafici non indirizzati (espandere progressivamente un'area connessa del grafico seguendo l'ordine che minimizza la sequenza lessicografica delle etichette scoperte). Tuttavia, a causa del fatto che la sequenzadeveessere sempre avida per definizione dell'ordine lessicografico, non riesco a ottenere riduzioni (ad es. Dell'albero di Steiner) per funzionare.|Sn(S1Sn1)|

Grazie in anticipo per le tue idee!

Risposte:


12

Con più copie della stessa etichetta consentite, il problema è NP-hard, tramite una riduzione da parte dei grafici nei grafici. Dato un grafico in cui si desidera trovare un k -clique, creare un DAG con un vertice sorgente per ciascun vertice di G , un vertice sink per ciascun bordo di G e un bordo diretto x y ogni volta che x è un vertice di G che forma un punto finale del bordo y . Dai ai vertici di G il valore dell'etichetta 1 e ai bordi di G il valore dell'etichetta 0 .GkGGxyxGyG1G0

Quindi, c'è un -clique in G se e solo se il primo ordine topologico lessicografico forma una sequenza di k 1 e ( kkGk 1 0's, coni-10' s dopo l'iesimo1. Ad esempio una cricca a sei vertici sarebbe rappresentata dalla sequenza110100100010000100000. Questa è la sequenza lessicograficamente più piccola che potrebbe eventualmente iniziare un ordinamento topologico di un DAG etichettato dato da questa costruzione (la sostituzione di uno degli1con0darebbe una sequenza con più spigoli di quanto si possa trovare in un semplice grafico con quello molti vertici) e può essere solo l'inizio di un ordine topologico quandoGcontiene la cricca desiderata.(K2) 0i1 0i111010010001000010000010G


Oh, non avevo pensato alla cricca. È una bella riduzione, grazie mille! Questo dimostra che il problema di calcolo è NP-difficile, anche con l'alfabeto dell'etichetta fissa ). Implica anche che il problema decisionale "è la sequenza lessicograficamente più piccola di questa" è anche NP-difficile (puoi usarlo per calcolare il minimo con la ricerca binaria). L'unica domanda aggiuntiva che vedo è se il problema "è questa sequenza di input esatta quella minima" è anche NP-difficile. (Con esso, non puoi testare facilmente se la parola minima inizia con un prefisso.) Hai qualche idea per quella? {0,1}
a3nm,

1
Il mio sospetto è che il problema "è possibile ottenere questa sequenza esatta" è NP-completo, ma non ho una riduzione a portata di mano. "È questa sequenza esatta quella minima" dovrebbe essere al secondo livello della gerarchia polinomiale, poiché richiede una combinazione di quantificazione esistenziale (è realizzabile) e quantificazione universale (sono tutte sequenze realizzabili almeno altrettanto grandi).
David Eppstein,

In effetti so già che verificare se sia possibile ottenere una sequenza esatta è NP-difficile (su un alfabeto con 3 etichette) mediante una riduzione della 3-partizione unaria di Marzio de Biasi disegnata qui: cstheory.stackexchange.com/a/19415 . Ma penso che non dica lo stato del problema "è questa la sequenza minima raggiungibile": quando si chiede se una determinata sequenza è realizzabile, in generale avrà poche possibilità di essere minima in un ordine lessicografico. In ogni caso, ciò che mostra la tua riduzione è ancora molto interessante, grazie ancora! :)
a3nm,

2

Secondo questo riferimento (1), il primo problema di ordine topologico lessicografico è completo NLOG.

Potresti dare un'occhiata più approfondita all'articolo per assicurarti che riguardi i casi che ti interessano. In particolare, in base alla versione del rapporto tecnico (pdf) di quell'articolo, sembra che essi ' trattando l'ordinamento lessicografico dei vertici come rigoroso (ad esempio: nella tua notazione, per u v ), ma non sono sicuro che ciò influisca sull'applicabilità del risultato.λ(u)λ(v)uv

  1. Shoudai, Takayoshi. " Il problema lessicografico del primo ordine topologico è NLOG completo. " Lettere di elaborazione delle informazioni 33.3 (1989): 121-124.

4
NLOG-complete è un sottoinsieme del tempo polinomiale e (secondo la frase "Presta attenzione" nel primo paragrafo del problema), rendere distinte le etichette dei vertici rende il problema facilmente risolvibile da un algoritmo avido al tempo polinomiale. La vera domanda è cosa succede quando le etichette non sono distinte.
David Eppstein,

Questo è un punto giusto. Ora è chiaro dalla tua risposta che la ripetizione delle etichette rende il problema più difficile rispetto al caso delle etichette uniche.
mamma
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.