Ciclo più lungo contenuto in due cicli


11

Il seguente problema è NP-completo? (Suppongo di si).

Input: un grafico non orientato in cui il set di spigoli può essere scomposto in due semplici cicli spigolanti (questi non fanno parte dell'input).kN,G=(V,E)

Domanda: Esiste un ciclo semplice in con lunghezza maggiore di ?Gk

Ovviamente il problema è in NP e il massimo grado in è , ma questo non sembra aiutare.G4


1
Non credo che tu abbia ragione su "al massimo 4 percorsi che collegano qualsiasi coppia". Vedi: i.imgur.com/mYL4n1V.png
svinja

1
@svinja Hai ragione, avrei dovuto dire che esistono al massimo 4 percorsi disgiunti di bordi tra due coppie di vertici.
Elenco del

Il tuo titolo è fuorviante, perché il ciclo semplice più lungo può essere nessuno dei due cicli nella decomposizione di (in qualsiasi decomposizione). E
Denis,

@dkuper può effettivamente, guardare l'unione di due vertici cicli semplici disgiunti.
Elenco del

Il mio punto non è che non possa mai essere uno di loro, è che a volte non è uno di loro. Quindi il problema non è trovare il più grande dei due.
Denis,

Risposte:


2

Un tentativo di riduzione ....

Riduzione dal percorso hamiltoniano sul digrafo con grado massimo 3 che è NPC [G&J]G=(V,E)

  • ignorare la direzione dei bordi e, usando una prima scansione di profondità (non indirizzata) da un nodo arbitrario, dividere i bordi di in due serie di percorsi distinti (non orientati) (rosso e verde nelle figure);G
  • unire i percorsi rossi aggiungendo ulteriori "nodi di collegamento" (nodi viola nella figura B) e creare un circuito rosso non orientato; unire i percorsi verdi aggiungendo ulteriori "nodi di collegamento" (nodi viola nella figura) e creare un circuito verde non orientato;
  • trasforma ciascun nodo originale di indegree 1 e outdegree 2 (figura C), aggiungendo nodi gialli sul bordo rosso in ingresso e aggiungendobVkabk nodi gialli sul primo bordo rosso in uscita ; infine aggiungi k nodi gialli "verso" il secondo bordo verde in uscita b d usando un percorso "avvolto" attorno a b che tocchi i nodi gialli più esterni dei bordi rossi (figura D).bckbdb

3kbVk

  • trasforma ogni nodo originale di V di livello 2 e livello 1 in modo simile

k|V|G3k(|V|1)G|V|1

inserisci qui la descrizione dell'immagine

L'immagine più grande può essere scaricata qui


Questa è una prova molto bella, forse dovresti dirigere i bordi nella figura 'A' per rendere più facile capire come ottenere i percorsi (penso di aver capito però).
Elenco del

@Listing: la costruzione dei percorsi non dipende dai bordi diretti (in effetti ho scritto una ricerca "non indirizzata" nella risposta). Dovresti iniziare da un nodo arbitrario, fare una prima scansione di profondità da esso colorando con il rosso i bordi attraversati, quindi tornare indietro al primo nodo di grado 3 incontrato e continuare la prima scansione di profondità da esso colorando con il verde i bordi attraversati, e così via. .. forse ha una definizione più formale, ma non mi viene in mente ora. Fammi sapere se hai bisogno di ulteriori dettagli.
Vor,

Vedo, la proprietà che i bordi vengono attraversati nella direzione "corretta" viene applicata dall'ultima trasformazione. Grazie per il chiarimento.
Elenco del

0

Ispirato dalla risposta di Vor, voglio dare una più semplice.

Inizia con il problema del ciclo hamiltoniano per il problema dei grafici a griglia che è stato dimostrato duramente da Itai.

Si può facilmente vedere che il bordo di un grafico a griglia può essere suddiviso in 2 sottoinsiemi disgiunti: orizzontale e verticale.

Quindi ora, dobbiamo intrecciare tutti quelli orizzontali in un ciclo semplice e intrecciare tutti quelli verticali in un altro ciclo semplice.

Questo è un compito molto semplice: per quelli verticali, passa dall'estrema sinistra all'estrema destra, collega eventuali spazi verticali, quindi collega la linea verticale coordinata x consecutiva, quindi collega il vertice più a sinistra più basso con il vertice più a destra più alto. Fare allo stesso modo per i bordi orizzontali.

Si noti che il grafico ottenuto è ancora semplice, non indirizzato e soddisfa i requisiti. È semplice perché alle ultime fasi della fase verticale e della fase orizzontale, abbiamo a che fare con due diverse coppie di vertici.

kk2k|V|

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.