Può esserci qualche problema finito in NP-Complete?


13

Il mio professore ha rilasciato la dichiarazione

Qualsiasi problema finito non può essere NP-completo

Stava parlando del Sudoku in quel momento dicendo qualcosa sulla falsariga che per un Sudoku 8x8 esiste una serie limitata di soluzioni, ma non ricordo esattamente cosa abbia detto. Ho scritto la nota che ho citato ma ancora non capisco davvero.

I sudoku sono NP completi se non sbaglio. Il problema della cricca è anche NP-Complete e se avessi un problema con 4-Clique non è questo un problema finito NP-Complete?


Che cos'è il "problema finito"? Google e Wikipedia non stanno aiutando.
Anton Trunov,

3
@AntonTrunov Un problema in cui l'input ha limitato la lunghezza.
Yuval Filmus,

@YuvalFilmus, non è vero per tutte le coppie di input * della macchina di Turing valide? IIRC uno dei simboli è designato come simbolo in bianco e l'input inizialmente ha una regione limitata al di fuori della quale non possono apparire simboli diversi dal simbolo in bianco. Il termine "NP completo" di solito non viene utilizzato nel contesto di operazioni su flussi che non possono essere modellati senza attenuare tale presupposto.
Mike Samuel,

@MikeSamuel Quando dico lunghezza limitata, intendo input di dimensioni al massimo di 100. (O qualsiasi numero diverso da 100.)
Yuval Filmus

@YuvalFilmus, ok. Sto dicendo, il termine "NP completo" viene utilizzato solo quando non ci sono simboli non vuoti sull'input o esiste un numero intero che è il numero di simboli tra il simbolo non vuoto più a sinistra e il simbolo non vuoto più a destra . 100 sarebbe un esempio del genere.
Mike Samuel,

Risposte:


15

Se un problema finito è NP-completo allora P = NP, poiché ogni problema finito ha un algoritmo di tempo polinomiale (anche un algoritmo di tempo costante).

Quando diciamo che Sudoku è NP-completo, intendiamo che una versione generalizzata di Sudoku giocata su una scheda è NP-completa.n2×n2

Infine, il problema delle 4 cricche, sebbene non sia un problema finito (il grafico di input ha dimensioni illimitate), è un problema facile che ha un algoritmo di tempo polinomiale.


Quindi il problema della 4 cricche P è un algoritmo temporale polinomiale?
TheRapture87,

1
@ Aceboy1993 Esatto, questa è la definizione di P.
Yuval Filmus,

Ma allora perché K-cricca è considerata in NP-Complete? K non rappresenta solo un numero come 4?
TheRapture87

kk

Inoltre, possiamo dimostrare che Clique è NP completo.
Yuval Filmus,

5

L'affermazione del tuo insegnante è errata o probabilmente non l'hai ascoltata correttamente. L'affermazione corretta è

L|L|1P=NP

PNP|L|>1P=NPPNP

Il sudoku o gli scacchi non sono NP-completi (come ha sottolineato Yuval), perché il loro input è una scheda finita 9x9 o 8x8 (sto parlando delle versioni decisionali, se il sudoku ha una soluzione o se gli scacchi hanno una strategia vincente). Negli scacchi, suppongo che se si ripete una posizione, viene considerato un pareggio.


0

Richiamo: un problema X è NP completo se soddisfa due criteri:

a) È in NP - Vale a dire qualsiasi soluzione indovinata di X può essere verificata in tempo polinomiale.

b) È completo per NP - Cioè Ogni problema Y in NP ha una riduzione del tempo polinomiale che traduce un'istanza di Y in un'istanza di X (in modo che qualsiasi programma di tempo polinomiale che risolva X risolva anche Y in tempo polinomiale ).

Possiamo convenire che un Sudoku 9x9 soddisfa (a). È (b) dove le cose cadono. Più in generale - I problemi (in NP o altro) in genere hanno istanze di dimensione N per valori arbitrariamente grandi di N ; certamente questo è vero per i problemi noti in NP. Una riduzione da un tale problema a uno che ha una dimensione massima possibile non potrebbe essere una riduzione da istanza a istanza valida, poiché la prima ha sempre (infinitamente) più istanze della seconda. Ecco perché il Sudoku deve essere generalizzato alle matrici NxN prima di poter considerare la completezza NP.


1
Questo non è corretto È perfettamente possibile avere una riduzione valida da un problema con un numero infinito di istanze a un problema con un numero infinito di casi. Ad esempio, ecco una riduzione da SAT al problema di determinare se una stringa di lunghezza 1 è uguale a "a": se l'istanza SAT è soddisfacente, mappala alla stringa "a"; in caso contrario, associarlo alla stringa "b". Ora, quella riduzione (probabilmente) non è calcolabile in tempi polinomiali ma è una riduzione perfettamente valida.
David Richerby,
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.