Come dimostrare di trovare due percorsi che sono almeno k bordi a parte è NP-HARD?

cs.stackexchange https://cs.stackexchange.com/questions/125344

  •  29-09-2020
  •  | 
  •  

Domanda

Let $ G= (V, E) $ Sii un grafico indispensabile, non orientato e connesso. Dato due vertici di avvio $ s_1 $ e $ s_2 $ e due vertici di finestre $ T_1 $ e $ t_2 $ C'è un percorso da $ s_1 $ a $ T_1 $ e $ s_2 $ a $ t_2 $ in modo tale che il numero più vicino di bordi tra i due percorsi sia almeno $ k $ ? Due percorsi sono $ k $ Chiudi se il minimo delle distanze più corte tra qualsiasi vertice sul primo percorso a qualsiasi vertice sul secondo percorso è $ k $ .

Stavo pensando di ridurre il 3 secondario e lasciare che il primo percorso rappresenti le variabili e il secondo percorso rappresentano le clausole, ma non sono sicuro dove andare da lì.

È stato utile?

Soluzione

Puoi ridurre da 3sat.

Il grafico ha due parti. Una parte è la parte "variabile". Per ciascuna delle variabili $ v_1, \ ldots, v_n $ ci sono due tre vertici $ V_I ^ +, V_I ^ - , V_I $ , e questa parte è composta dai seguenti bordi, per $ i \ in [n] $ :

$$ (v_ {i-1}, v_i ^ +), (v_ {i-1}, v_i ^ -), (v_i ^ +, v_i), ( v_i ^ -, v_i) $$

qui $ v_0 $ è un nuovo vertice, identificato con $ s_1 $ e $ v_n $ è identificato con $ t_1 $ .

La seconda parte è la parte "clausola". Per ciascuna delle clausole $ c_1, \ ldots, c_m $ là quattro vertici $ w_j ^ 1, w_j ^ 2, w_j ^ 3, w_j $ , collegati molto come prima, con $ s_2 $ e $ t_2 $ .

Collegiamo $ v_i ^ B $ con $ w_j ^ r $ tramite un percorso di lunghezza < Span Class="Math-Container"> $ K $ (per un po 'di più grande costante $ k $ ) Se la matematica letterale $ V_i ^ B $ (o $ v_i $ o $ \ overline {v_i} $ < / span>, secondo $ B $ ) è opposto di $ j $ 'th letterale in $ c_j $ .

Inoltre, prendiamo tutti i mentalità di questi percorsi e collegiamo tutti loro (rendendoli in una cricca).

Possiamo pensare a una $ (S_1, T_1) $ -path come assegnazione della verità e di una classe $ (S_2, T_2) $ -path come identificazione di un letterale soddisfatto in ciascuna clausola. La distanza minima è più di $ k $ Se questo è davvero il caso, e solo $ k $ altrimenti .

È inoltre necessario verificare che non vi sia alcun punto per i percorsi per attraversare le parti. Se solo uno dei percorsi attraversa, i due percorsi saranno vicini insieme (ad una certa distanza costante, che per la più grande $ k $ sarà più piccolo della classe <="container di matematica"> $ k $ ) immediatamente dopo l'attraversamento. Se entrambe le croce, allora la cricca del punto medio garantirà che siano a distanza al massimo 1.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top