Domanda

Si supponga fissiamo un grado $ d $ polinomi $ f $ di $ k $ variabili. (Se aiuta, lasciare che $ t $ sia il numero di termini in $ f $). Si consideri un elenco di numeri reali $ A_1, \ ldots, a_n $, vuol esiste una permutazione $ \ pi $, tale che per ogni $ i \ leq n-k $ $$ f (a _ {\ pi (i)}, A _ {\ pi (i + 1)}, \ ldots, un _ {\ pi (i + k-1)}) \ geq 0 $$

Quanto è difficile questo problema?

È stato utile?

Soluzione

Supponiamo che i numeri $ A_1, \ ldots, a_n $ sono numeri interi, in modo che il problema è in NP per qualsiasi struttura fissa $ f $. Si costruisce un $ polinomio f modo $ che il problema è NP-completo, mediante riduzione dal coperchio vertice grafo cubico ($ 3 $ grafici -regolari).

Sia l'istanza di copertura dei vertici cubico sono costituiti da un grafo cubico $ G = (V, E) e un intero $ $ m $, e sia $ | V | = N $. Scegliere il primo $ n $ numeri primi più grandi di $ 7 $, $ P_1, \ ldots, $ p_n. Costruiamo la seguente sequenza di $ \ mathbf {a} $:

  • Per ogni bordo $ (i, j) $, i numeri $ p_i, p_j, p_ {ij} $
  • Per ogni vertice $ I $, i numeri $ p_i, p_i ^ 3 $
  • $ m $ copie di $ 3 $
  • $ n-m $ copie di $ 5 $
  • $ 9n / 2 $ copie di $ 2 $
  • $ 11 $ copie di $ 7 $

Nota che alcuni numeri appaiono più di una volta. La sequenza di soluzione destinata costituito da undici copie di $ 7 $ seguite da $ n $ segmenti di lunghezza $ 12 $ delle due seguenti forme: o $$ 5, p_i, p_i ^ 3,2,2,2,2,2,2,2,2,2 $$ dove $ 1 \ leq i \ leq n $, o $$ 3, p_i, p_i ^ 3, x_1, y_1, z_1, x_2, y_2, Z_2, x_3, y_3, z_3 $$ dove $ 1 \ leq i \ leq n $ e per $ \ alpha \ in \ {1,2,3 \} $, $$ x_ \ alpha, y_ \ alpha, z_ \ alpha = 2,2,2 \ quad \ text {} o \ quad p_i, p_ip_j, p_j \ text {} per qualche bordo (i, j). $$ Una sequenza di quella forma codifica una copertura dei vertici in vertici appaiono nella seconda posizione in segmenti della seconda forma. Dovrebbe essere chiaro che tale sequenza esiste se e solo se esiste una copertura dei vertici. Resta da vedere come possiamo verificare che una sequenza è di quella forma utilizzando un singolo $ polinomio f $ che è "correre" su tutti pezzi di lunghezza $ 12 $.

sia $ f = f '$, dove la funzione $ f' (u, v, w, x_1, y_1, z_1, x_2, y_2, Z_2, x_3, y_3, z_3) $ è un non negativo funzione che raggiunge zero in esattamente ingressi delle seguenti forme:

  • $ 3 \ in \ {v, w, x_1, y_1, z_1, x_2, y_2, Z_2, x_3, y_3, z_3 \} $
  • $ 5 \ in \ {v, w, x_1, y_1, z_1, x_2, y_2, Z_2, x_3, y_3, z_3 \} $
  • $ u = 5 $, $ w = v ^ 3 $ e $ x_1 = y_1 = z_1 = x_2 = y_2 = Z_2 = x_3 = y_3 = z_3 = 2 $
  • $ u = 3 $, $ w = v ^ 3 $ e per ogni $ \ alpha \ in \ {1,2,3 \} $, o $ x_ \ alpha = y_ \ alpha = z_ \ alpha = 2 $ o $ x_ \ alpha = v $ e $ y_ \ alpha = x_ \ alpha z_ \ alpha $

Questo polinomio può essere costruito utilizzando le seguenti tre regole:

  • Una condizione $ i = J $ è rappresentato da $ (I - J) ^ 2 $
  • Dati due polinomi non negativi per le condizioni di $ C_1, C_2 $, la condizione $ C_1 \ lor C_2 $ è rappresentato da $ C_1 C_2 $
  • Dati due polinomi non negativi per le condizioni di $ c_1, C_2 $, la condizione $ C_1 \ terreno C_2 $ è rappresentata da $ C_1 + C_2 $

Sia $ \ mathbf {b} $ sia ogni permutazione di $ \ mathbf {a} $ per il quale la sua condizione stive. Dal momento che $ f '$ è non negativo, deve essere che una delle condizioni di cui sopra vale per ogni segmento di lunghezza $ 12 $. In particolare, ogni segmento di lunghezza $ 12 $ deve contenere $ 3 $ o $ 5 $ da qualche parte. Considerando il numero di questi rispetto alla lunghezza della sequenza, si vede che la sua forma generale è: undici elementi arbitrari seguiti da $ n segmenti $ iniziano con $ 3 $ o $ 5 $. Ogni segmento a partire da $ 5 $ è della forma $$ 5, q, q ^ 3,2,2,2,2,2,2,2,2,2. $$ Concludiamo che $ q = p_i $ per un po '$ 1 \ leq i \ leq n $. Ogni segmento a partire da $ 3 $ è della forma $$ 3, q, q ^ 3, x_1, y_1, z_1, x_2, y_2, Z_2, x_3, y_3, z_3. $$ Come prima, $ q = p_i $ per un po '$ 1 \ leq i \ leq n $. Inoltre, per ogni $ \ alpha \ in \ {1,2,3 \} $, o $ x_ \ alpha = y_ \ alpha = z_ \ alpha = 2 $ o $ x_ \ alpha = p_i $ e $ y_ \ alpha = p_i z_ \ alpha $. In quest'ultimo caso concludiamo che $ z_ \ alpha = p_j $ e $ v_ \ alpha = p_ip_j $ per qualche bordo $ (i, j) $.

In entrambi i casi, nessuno degli elementi nei segmenti sono uguali a $ 7 $, e concludiamo che i primi undici elementi nella sequenza devono essere $ 7 $. Sia $ S $ l'insieme di $ i $ tale che non v'è un segmento della forma $ 3, p_i, \ ldots $. Dato che ci sono esattamente $ m $ copie di $ 3 $, $ | S | = M $. Per ogni bordo $ (i, j) $, il numero $ p_ {ij} $ appare da qualche parte, e il posto unico legale è un $ 3 $ -segment. noi conclude che $ S $ è una copertura dei vertici di lunghezza $ m $.

Questo dimostra che se la sua condizione tiene poi il grafico ha una copertura dei vertici di dimensioni $ m $. Viceversa, se il grafico ha una copertura dei vertici di dimensioni $ m $ allora possiamo costruire una sequenza di soddisfare la tua condizione assegnando ciascun bordo di uno dei vertici che lo ricopre. Questo dimostra la validità della riduzione. La riduzione è anche tempo polinomiale (nota che i numeri primi $ P_1, \ ldots, $ p_n possono essere trovati usando la forza bruta), mostrando che il tuo problema è NP-difficile, e così NP-completo.

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