Complessità dell'omomorfismo digrafo in un ciclo orientato


9

Dato un grafo orientato fisso (digramma) , la -COLORING problema decisionale chiede se un grafo orientato ingresso ha una homomorphism a . (Un omomorfismo di a è una mappatura di a che preserva gli archi, cioè se è un arco di , allora è un arco di )D G D G D f V ( G ) V ( D ) u v G f ( u ) f ( v ) DDDGDGDfV(G)V(D)uvGf(u)f(v)D

La classe di problemi COLORE è fortemente connessa alla congettura della dicotomia per CSP dichiarata da Feder e Vardi (accessibile su citeseer ).D

In questo articolo del 2001 (accessibile sulla pagina dell'autore, qui ), Feder dimostra un teorema di dicotomia quando è un ciclo orientato (per ciclo orientato intendo un ciclo non orientato in cui ogni bordo è sostituito da un singolo arco, che può essere orientato arbitrariamente) , in altre parole, mostra che per ogni ciclo orientato , COLORE è risolvibile in tempo polinomiale o NP completo.DDD

Sfortunatamente, la classificazione di Feder è altamente non banale e non esplicita, poiché la complessità di molti casi è legata alla complessità di alcune varianti limitate di SAT che dipendono dall'orientamento. Guardando il documento, non sono stato in grado di determinare la risposta alla mia domanda:

Domanda: Qual è la dimensione più piccola di un ciclo orientato tale che COLORE sia NP-completo?DD

La risposta potrebbe essere dichiarata da qualche parte nella letteratura, ma non sono riuscito a trovarla.


Modificare:Vorrei fornire maggiori dettagli sulla classificazione di Feder. Feder mostra che qualsiasi ciclo orientato al NP completo deve essere bilanciato, cioè avere lo stesso numero di archi in entrambe le direzioni (quindi ha anche un ordine). Quindi, considera i "livelli" indotti dall'orientamento (inizia a girare intorno al ciclo con un vertice arbitrario; se un arco va a destra, sali di 1, se un arco va a sinistra, scendi di 1). Quindi, se esiste al massimo una "corsa dall'alto in basso", è polinomiale. Se ci sono almeno 3 "esecuzioni" e il ciclo è un nucleo, è NP-completo. (Nell'esempio di András dai commenti, ci sono tre "esecuzioni" di questo tipo, ma il ciclo non è un nucleo.) I casi più difficili sono quelli con due "esecuzioni dall'alto in basso". Alcuni sono duri, altri polinomiali e Feder li collega a problemi speciali di SAT per ottenere una dicotomia.

Come domanda intermedia: qual è il ciclo orientato più piccolo che ha tre corse "top-bottom" ed è un core? Un tale esempio sarebbe NP completo dalla discussione di cui sopra.


Non ricordo una risposta rapida in letteratura (forse Barnaby Martin o Florent Madelaine lo saprebbero). Tuttavia, la dimensione è al massimo di 6 vertici e 6 spigoli diretti, poiché si può ridurre -Colorare in -Colorare per un digrafo a sei vertici sostituendo ogni bordo non orientato nei grafici con due archi che indicano un nuovo vertice tra i suoi endpoint. K3DD
András Salamon,

Grazie András. Tuttavia, penso che la risposta debba essere più ampia perché il nucleo di questo esempio è semplicemente un digrafo con un arco unico, che è risolvibile in tempo polinomiale ...
Florent Foucaud,

Hai ragione, la costruzione che ho proposto è troppo semplice.
András Salamon,

Ho chiesto a Florent Madelaine e Barnaby Martin, ma non conoscono direttamente la risposta, anche se sembrano essere interessati :-) Il mio collega ha chiesto a Feder via e-mail la scorsa settimana, ma non ha risposto (ancora).
Florent Foucaud,

Il mio secondo impulso fu di usare una versione rigida del triangolo. Tuttavia, con il gadget di rigidità di Chvátal et al. (JCT 1971) il triangolo irrigidito sembra quindi richiedere un numero di vertici che sia almeno 9v + 36, se il grafico di input ha v vertici, e non è chiaro come modificare questi gadget in percorsi. Forse si potrebbe invece utilizzare un percorso diretto rigido per sostituire ciascun bordo, ma non mi è chiaro come farlo mantenendo la capacità di mappare qualsiasi bordo del grafico a qualsiasi bordo del triangolo (ma da nessun'altra parte), poiché il modo ovvio per farlo è richiedere la simmetria.
András Salamon,

Risposte:


5

Per la domanda intermedia (un nucleo con tre esecuzioni dall'alto in basso), che ne dici di questo?

Qualche notazione: descriverò le corse con le parole in , con ad esempio corrispondente ad un sottografo . Il livello aumenta su archi e diminuisce su archi, e presumo che il suo minimo sia . Alcuni semplici vincoli sono:{l,r}llrlrl0

  • Non può esserci una corsa composta solo da o solo da , perché altrimenti c'è un evidente omomorfismo da a questa corsa (mappando ciascun nodo di a quello con lo stesso livello). Ciò implica anche che il livello massimo deve essere almeno .lrDD3
  • Se il livello massimo fosse , allora tutte le esecuzioni top-bottom (resp bottom-top) sarebbero della forma (resp. ; di nuovo non è molto difficile trovare un omomorfismo da alla corsa che minimizzi .3llr(lr)illrrl(rl)irr)Di

Tuttavia, per il livello massimo esiste una soluzione, di lunghezza : considerare dato da . Questo ha i percorsi top-bottom richiesti ed è un core (vedi sotto). Con i vincoli di cui sopra, è necessariamente minimo, poiché ogni corsa ha solo un bordo "indietro".436D(rrrlrrlllrll)3

Per convincerci che questo è un nucleo, chiamiamo prima i vertici ( ). I vertici inferiori (ovvero livello ) sono . Qualsiasi omomorfismo da a un sottografo deve preservare i livelli, in particolare ; modulo ovvio automorphism , basti considerare il caso . Considera il vicinato di in (annotato con livelli):v1,,v360v1,v13,v25φDφ(v1){v1,v13,v25}vivi+12φ(v1)=v1v1D

v34(1)v35(2)v36(1)v1(0)v2(1)v3(2)v4(3)v5(2)v6(3)v7(4)

A partire da , abbiamo . Ma se , allora e non abbiamo alcun valore possibile per . Otteniamo . Successivamente , ma per otteniamo , senza valore possibile per . Quindi deve essere l'identità sull'intera corsa da , e ripetendo lo stesso argomento per le corse rimanenti, lo stesso vale per tuttoφ(v1)=v1φ(v2){v36,v2}φ(v2)=v36φ(v3)=v35φ(v4)φ(v2)=v2,φ(v3)=v3,φ(v4)=v4φ(v5){v3,v5}φ(v5)=v3φ(v6)=v4φ(v7)φv1v7D. In particolare, non mappa su un sottografo corretto.φD


3
Questa stessa analisi mostra che tutti i cicli orientati bilanciati con due corse che sono core hanno una lunghezza di almeno 24, giusto? In modo che dia un limite inferiore alla risposta al problema principale.
David Eppstein,

Sì, buon punto.
Klaus Draeger,

1
Ottimo, grazie, è molto utile! Possiamo convincerci a mano che questo è un nucleo? (si noti che esiste un algoritmo a tempo polinomiale per verificare se un ciclo orientato è un nucleo: creare l'insieme dei sotto-percorsi orientati tale che sia un arco di e quindi controlla se associa a uno di questi percorsi; questo può essere fatto in tempo di riferimento, vedi Gutjahr et al: sciencedirect.com/science/article/pii/0166218X9290294K )D|V(D)|{DaaD}D
Florent Foucaud,

1
@FlorentFoucaud Ho aggiunto un po 'dimostrando che è un core. D
Klaus Draeger,
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.