Kauppamatkustajan ongelma
Kauppamatkustajan ongelma on laskennallinen ongelma, joka on erittäin vaikea ratkaista tietoteknisesti.
Ongelma voidaan kuvata kansantajuisesti seuraavasti: jos kauppamatkustaja tietää kaupunkien keskinäiset etäisyydet, miten hän voi laskea itselleen nopeimman kulkureitin, jossa palataan lopussa lähtökaupunkiin ja käydään kaikkien kaupunkien kautta tasan kerran?
Matemaattisesti ilmaistuna: kun annetaan täydellinen painotettu graafi, etsi graafille Hamiltonin kierros, jolla on pienin kokonaispaino.
Ongelman voi ratkaista laskemalla kaikki mahdolliset kulkureitit ja valitsemalla nopein, mutta jos graafin solmuja (kaupunkeja) on
kappaletta, tähän ratkaisuun vaaditaan
permutaatiota, joten tämä ratkaisu muuttuu nopeasti epäkäytännölliseksi solmumäärän kasvaessa. Dynaamisen ohjelmoinnin kautta paras mahdollinen aikakompleksisuusluokka on
. Kyllä/ei-ongelmamuodossa ("Jos joukosta valitaan reitti x jonka hinta tiedetään, onko olemassa kulkureitti, joka on halvempi kuin x?") ongelma on NP-täydellinen.
Ongelmalle ei ole helppoja ratkaisuja, mutta ratkaisuilla on merkitystä monella alalla, kuten logistiikassa.
Sivulta puuttuu