Ugrás a tartalomhoz

NP-hard problem

A Wikiszótárból, a nyitott szótárból


Főnév

NP-hard problem (tsz. NP-hard problems)

  1. (informatika) Egy probléma NP-nehéz (NP-hard), ha legalább olyan nehéz, mint a legnehezebb NP-problémák, azaz bármely NP-beli döntési probléma polinomiális időben visszavezethető rá. Formálisan:
  1. Redukció Egy ismert NP-teljes (vagy NP-nehéz) döntési probléma polinomiális időben redukálható egy másik problémára, ha létezik polinomiális idejű függvény

    olyan módon, hogy

    Ez azt jelenti, hogy legalább olyan nehéz, mint .

  2. Nem kell NP-ben lennie Ellentétben az NP-teljes problémákkal, egy NP-nehéz feladat nem feltétlenül tartozik az NP-be — lehet, hogy a döntés igazolása sem polinomiális idejű. Sok optimalizációs, számérték-kimenetű vagy akár tetszőleges számítási feladat NP-nehéz (például a halting-probléma redukálható rájuk).



Tipikus NP-nehéz példák

  1. Travelling Salesman Problem (TSP) optimalizációs verzió – „Mekkora a legrövidebb Hamilton-kör összhossza a súlyozott gráfban?” – Döntési verzió (költség ≤ K?) NP-teljes, az optimalizáció önmagában NP-nehéz.
  2. Knapsack (zsák-) optimalizáció – Maximális értékű részhalmazt keresünk súlykorlát alatt. A döntési kérdés NP-teljes, az optimalizáció NP-nehéz.
  3. Graph Coloring minimalizálás – „Adott gráfban mi a minimális színek száma, hogy szomszédok különböző színt kapjanak?” Ez a döntési változat -színezés NP-teljes.
  4. Job-shop ütemezés – Több gépen, több feladat ütemezése minimális összkésésre vagy befejezési időre – NP-nehéz optimalizációs feladat.



Miért fontos a különbség NP-teljes és NP-nehéz között?

  • NP-teljes = NP-ben van, és NP-nehéz.
  • NP-nehéz = legalább olyan nehéz, mint egy NP-teljes; nem kell NP-ben lennie.

Például:

  • A TSP-döntési (költség ≤ K?) NP-teljes.
  • A TSP-optimalizációs (minimális költség) NP-nehéz, de nem NP-ben (nem „igen/nem” kérdés).



Megközelítések NP-nehéz feladatokra

  1. Exponenciális algoritmusok – Teljes keresés, Branch & Bound, vágóegyenletek (cutting planes).
  2. Közelítő algoritmusok (approximation) – Greedy, PTAS/FPTAS, logaritmikus közelítés (például set cover ).
  3. Heurisztikák és metaheurisztikák – Genetikus algoritmus, szimulált hőkezelés, tabu-keresés.
  4. Paraméterezett (FPT) algoritmusok – Fix paraméter (pl. célköltség, erőforrás-keret) kis értéke esetén polinomiális a teljes bemenetre.



Összefoglalva

  • Egy probléma NP-nehéz, ha minden NP-feladat redukálható rá, azaz nem valószínű, hogy polinomiális algoritmusa létezik.
  • Gyakran optimalizációs verziók vagy olyan döntési feladatok, ahol a jutalom/költség nem igazolható egyszerűen.
  • A gyakorlati megoldások exponenciális, közelítő, heurisztikus vagy paraméterezett algoritmusok használatával kezelik ezeket az intractable feladatokat.