Qual è un problema naturale in teoria del calcolo?


11

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.

  1. "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
  2. p. 3
  3. p. 4
  4. https://en.wikipedia.org/wiki/Knapsack_problem#0.2F1_Knapsack_Problem
  5. 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.
  6. https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf
  7. p. 2.
  8. p. 47-8, sezione 25
  9. https://en.wikipedia.org/wiki/Well-posed_problem

Questa è una delle mie domande preferite su cstheory stackexchange. Mi piace pensare che ci siano più risposte ragionevoli. A prima vista, le tue risposte mi sembrano ragionevoli. :)
Michael Wehar,

Possiamo dare alcuni esempi di problemi noti che sono naturali e alcuni esempi di problemi noti che non sono naturali? Inoltre, i problemi naturali hanno proprietà di chiusura?
Michael Wehar,

Penso che la tua prima possibile risposta sia una spiegazione ragionevole del motivo per cui Cook non considera naturali i problemi con parametri. Tuttavia, la sua osservazione sui problemi con parametri non dovrebbe essere una definizione. In effetti, concordo con Usul sul fatto che Cook non ha cercato di definire "naturale".
Sasho Nikolov,

Risposte:


15

Per essere chiari, non è pensato per essere formalizzabile. Non è un teorema, è un'osservazione sul mondo - va bene se "naturale" è soggettivo qui. Per analogia, se qualcuno dice "la differenziazione è meccanica mentre l'integrazione è arte", non ti stanno invitando a formalizzare "meccanica" e "arte" e dimostrare l'affermazione, stanno cercando di comunicare una prospettiva generale. Quindi qui potresti perdere un po 'la foresta per gli alberi. [Nota in calce]

Qual è il punto dell'autore

Seguiamo il tuo suggerimento e lasciamo cadere la parola "naturale":

Tesi di fattibilità (prima bozza): un problema ha un algoritmo fattibile se ha un algoritmo tempo polinomiale.

n1000n1000

Quindi l'autore ritiene che la tesi sia ancora abbastanza accurata per quanto riguarda i problemi che vogliamo veramente risolvere nel mondo reale e altri problemi incontrati "naturalmente" nel corso della vita della teoria della non complessità. Quindi pensa, chiamiamo questi problemi "naturali" e rivediamo la tesi di fattibilità.

Ciò che è e non è naturale

Sicuramente, un problema che si presenta comunemente nella pratica sarebbe considerato naturale: percorsi più brevi, smistamento, modifica della distanza, ricerca delle radici, commesso viaggiatore, zaino.

Certamente, un problema che è stato pensato e definito specificamente per dimostrare un risultato di complessità e che fa riferimento alla classe specifica, non è naturale. Ad esempio, "può questa stringa essere generata da una macchina di Turing su k stati in n tempo".

Alcune cose sono meno chiare, come forse la programmazione lineare, ma non me ne preoccuperei troppo. Studia molti algoritmi e problemi di complessità e vedi se sei d'accordo con l'idea generale o se trovi esempi che ritieni siano in contraddizione.

(In ogni caso, credo che la strada del "problema ben posto" sia decisamente sbagliata, come sospetti.)


[nota in calce] Non intendo scoraggiarti dal tentare di formalizzarlo, solo dal pensare che tu debba farlo.


4

Si riduce approssimativamente al fatto che la definizione del problema possa essere circolare:

  • Un problema artificiale è quello costruito per riempire i suoi criteri di classe.

  • Un problema naturale non si basa sul suo metodo di costruzione per riempire i criteri di classe.

La costruzione di Ladner è nota per essere NP-intermedia , a condizione che esista un NPI.

PNP

Attenzione: buona fortuna nel tentativo di dimostrare tale candidato; Questo può sembrare un approccio accessibile, ma naturalmente ha sviluppato alcune barriere alla prova .

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.