XKCD: NP-completo #LegaNerd

Soluzioni generali ti assicurano il 50% di mancia.

Il Problema dello Zaino (Knapsack Problem) è un problema che riguarda l’ottimizzazione combinatoria (ricerca in un insieme di oggetti di quel sottoinsieme che sia ottimo -migliore- rispetto agli altri sottoinsiemi). La formulazione del PdZ chiede di trovare, dato un insieme di oggetti con dato peso e valore, il sottoinsieme di essi tale che sia massimo il valore complessivo e il peso totale non ecceda il peso sopportabile dallo zaino.
Nella vignetta quindi viene chiesto di trovare il sottoinsieme di antipasti che dia come totale esattamente 15.05 dollari e sia composto da quelli di massimo valore.
Il cameriere si lamenta dicendo che deve servire altri sei clienti ed ecco il nostro amico che conosce gli algoritmi che si offre di fargli conoscere il Problema del Commesso Viaggiatore (Traveling Salesman Problem).
Dall’ottimizzazione combinatoria passiamo alla teoria dei grafi: il problema, dato un insieme di nodi (i tavoli) e i possibili percorsi fra di essi (gli archi), chiede di determinare il percorso minimo (in questo caso in termini di tempo, che è il peso di ogni percorso) che tocchi tutti i nodi una e una sola volta.
Per giustificare il titolo, questi due problemi si dice siano NP-completi, ovvero -detto in soldoni- essi sono problemi con tutta probabilità non risolvibili in un tempo polinomiale (il tempo di risoluzione è funzione di un polinomio). Una risoluzione formale in tempo polinomiale garantirebbe a chi la svolgesse un incentivo di un milione di dollari, gentilmente offerti dal Clay Mathematics Institute.
Per approfondimenti su questo tema consiglio il libro di Keith Devlin “I problemi del millennio”, che dedica un capitolo proprio a questo problema.

Vignetta originale su XKCD.

Mostra Approfondimento ∨

Aree Tematiche
Illustrazione Lega Nerd Comics Matematica
Tag
Edit
LN Panic Mode - Premi "P" per tornare a Lega Nerd