Nel documento di Stephen Cook sul problema P vs NP, [1] afferma quanto segue [2]:
Tesi di fattibilità: un problema naturale ha un algoritmo fattibile se ha un algoritmo tempo polinomiale.
La mia domanda è: cosa intende esattamente (o in generale davvero, cosa si intende) per "un problema naturale "? Parlare di problemi naturali sembra essere abbastanza comune, ma devo ancora trovare una definizione. Mi sembra che manchi qualcosa. Ecco un paio di possibili risposte a cui sto pensando:
Prima possibile risposta
Cook dice nel suo documento che "naturale" deve essere spiegato. Dice "in genere non consideriamo una classe con un parametro naturale, come l'insieme di grafici incorporabili su una superficie del genere k , k > 1". [3] Ora, prima di tutto, sembra dire cosa " naturale "non è piuttosto che quello che è; ma se ogni problema è naturale o no e questo descrive completamente tutti i problemi che non sono naturali, allora questo sarebbe sufficiente per definire naturale. (Ma il qualificatore "in generale" suggerisce che questa non è una descrizione sufficiente e necessaria di problemi che non sono naturali.)
Penso che "classi con parametri" si riferiscano alla tracciabilità dei parametri fissi, con la quale intendiamo problemi che hanno possibili input limitati in modo tale che la fattibilità sia forzata. Quindi possiamo risolvere il problema dello zaino [4] con un algoritmo del tempo polinomiale se fissiamo il peso che lo zaino può trasportare (ma in generale non esiste una soluzione nel tempo polinomiale). Con questo in mano, ritengo che essere "naturale" significhi che il problema non è limitato ("limitato artificialmente"?) In un modo che forza un algoritmo del tempo polinomiale a uscire da un problema che non è risolvibile nel tempo polinomiale.
Il motivo per cui non sono sicuro che questo sia il modo giusto di comprendere la nozione di "naturale" di Cook è che non sono assolutamente sicuro di cosa stia facendo qui la qualifica "naturale". Se si rilascia "naturale", si ottiene "un problema ha un algoritmo fattibile se ha un algoritmo tempo polinomiale". Ma questo sembra perfettamente ragionevole: il problema dello zaino non ha un algoritmo fattibile perché non ha un algoritmo tempo polinomiale; lo zaino-con-tratta-parametri-trattabilità ha un algoritmo fattibile perché ha un algoritmo tempo polinomiale. Entrambi i conti sembrano essere in accordo con l'idea di quale sia un problema con un algoritmo fattibile.
Suppongo che questa potrebbe essere la migliore guida per capire cosa significa Cook, perché Cook in realtà si gira e lo definisce. Suppongo anche che questa nozione di naturale sia catturata da questa domanda StackExchange. [5}
Ma ce n'è un altro.
Seconda possibile risposta
William Gasarch nel suo articolo "Classificare i problemi in classi di complessità" [6], afferma che condurrà "una discussione letterale su ciò che è un problema naturale" [7]. Alla fine dell'articolo, [8] c'è uno scambio in forma di dialogo, in cui un oratore dice:
"Ciò che rende un problema naturale? Da un lato, non ho costruito il problema al solo scopo di non essere in P. Quindi non è un problema stupido. Quindi aumenta al livello di essere naturale?"
Quindi mi sembra che Gasarch stia dicendo che se abbiamo un problema che non è costruito intenzionalmente in modo da poter dire che non è in P, allora è naturale. Quindi, con un po 'di interpretazione creativa, sembra che Gasarch stia dicendo qualcosa almeno coerente con Cook: da un lato, Gasarch afferma che non essere costruito con l'unico obiettivo di non essere in P rende un problema non naturale; e d'altra parte Cook dice che un problema è naturale se non ha parametri. Ma la semplice coerenza non produce una definizione.
Terza possibile risposta
Sulla voce di Wikipedia per un "problema ben posto" [9], viene presentata una definizione della nozione di Jacques Hadamard di un problema ben posto, quindi si afferma che un problema ben posto "potrebbe essere considerato come problemi" naturali " in quanto vi sono processi fisici modellati da questi problemi ". Quindi, un problema è naturale se e solo se modella un processo fisico?
Le qualifiche di Hadamard, secondo Wikipedia, sono (i) esiste una soluzione, (ii) la soluzione è unica e (iii) il comportamento della soluzione cambia continuamente con le condizioni iniziali. Questo sembra essere diverso dalle altre due definizioni. La mia sensazione è che "naturale" non sia usato esattamente allo stesso modo (specialmente se siamo d'accordo con l'interpretazione che un problema è naturale se e solo se modella un processo fisico), ma volevo includerlo perché mi sono imbattuto in nella mia ricerca su questa domanda, e ci sono punti di contatto.
Quindi la mia domanda è: qual è un problema naturale? Qualcuno di queste risposte, o una combinazione di esse, sono corrette? C'è qualche altra risposta che mi manca? Grazie.
- "The Statement of the Problem", 2006, pubblicato online su Clay Mathematics; titolo: "The P vs NP Problem", http://www.claymath.org/sites/default/files/pvsnp.pdf
- p. 3
- p. 4
- https://en.wikipedia.org/wiki/Knapsack_problem#0.2F1_Knapsack_Problem
- Il problema naturale più difficile conosciuto in P? Presumo che un problema naturale segua questa descrizione ma non limiti k ad essere il più grande.
- https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf
- p. 2.
- p. 47-8, sezione 25
- https://en.wikipedia.org/wiki/Well-posed_problem