nondeterministic polynomial time

Üdvözlöm, Ön a nondeterministic polynomial time szó jelentését keresi. A DICTIOUS-ban nem csak a nondeterministic polynomial time szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a nondeterministic polynomial time szót egyes és többes számban mondani. Minden, amit a nondeterministic polynomial time szóról tudni kell, itt található. A nondeterministic polynomial time szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. Anondeterministic polynomial time és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

Főnév

nondeterministic polynomial time (tsz. nondeterministic polynomial times)

  1. (informatika) nemdeterminisztikus polinomiális idő

1. Bevezetés

A számításelmélet egyik legfontosabb komplexitás‐osztálya az NP, azaz a „nemdeterminisztikus polinom‐idő” problémák gyűjteménye. Az NP‐beli problémák olyan döntési feladatok, amelyekre — ha valaki egy „bizonyítékot” (certificate) ad — polinomiális idő alatt ellenőrizhető, hogy a válasz helyes‐e.

A NP elnevezés a nondeterministic polynomial time kifejezésből ered. Bár a való világban a nem‐determinista számítógép (amely egyszerre „megpróbál” minden lehetőséget) nem létezik, az elméleti modell igen hatékonyan ragadja meg azokat a feladatokat, amelyek meghívásra „szerencsére” gyorsan ellenőrizhetők, de megoldásuk látszólag nehéz.



2. Formális definíció

Egy döntési probléma (igen/nem kérdés) akkor tartozik az NP‐be, ha létezik egy polinomiális időben futó determinisztikus Turing‐gép (ellenőrző gép) és egy polinom , hogy minden bemenetre pontosan az alábbi feltételek igazak:

  1. „Igen” eset (): létezik egy bizonyíték (certificate), amire

    futási ideje legfeljebb egy rögzített -ra.

  2. „Nem” eset (): minden esetén

Itt a bemenet hosszát (bit‐sorrendben), hossza pedig legfeljebb polinom . Az ellenőrzési folyamat tehát determinisztikus és polinom időben zajlik.



3. Nem‐determinista Turing‐gép modell

NP‐t alternatív módon úgy is definiálhatjuk, hogy NP‐ben vannak azok a problémák, amelyeket egy nem‐determinista Turing‐gép (NTM) polinomiális lépés alatt meg tud oldani:

  • A nem‐determinista gép egy adott állapotból egyszerre, „párhuzamosan” több ágra (lehetséges folytatásokra) léphet.
  • Ha legalább egy „ágon” sikeresen elfogadja a bemenetet (állapotaiban elér egy elfogadó állapotot) legfeljebb lépés alatt, a gép „igen” döntést ad.
  • Ha semelyik ág nem fogadja el, akkor „nem” a válasz.

Habár ez a modell elméleti, jól megragadja azt a tulajdonságot, hogy „valami” szerencsésen gyorsan megtalálhatja a jó megoldást, míg determinisztikus gépen hasonló feltételekkel nem biztos, hogy polinom idő alatt megoldjuk.



4. NP és P kapcsolata

  • A P osztály azokat a döntési feladatokat tartalmazza, amelyeket determinisztikus Turing‐géppel polinomiális idő alatt meg tudunk oldani.
  • Nyilvánvalóan , hiszen ha megoldjuk „magától” polinom idő alatt, akkor a megoldást mint bizonyítékot ellenőrzéskor is felhasználhatjuk.
  • A híres P vs. NP kérdés arra vonatkozik, hogy vajon van‐e olyan determinisztikus polinom‐idő algoritmus azokhoz a feladatokhoz, amelyeket ma csak nem‐determinista modellben tartunk polinom idejűnek. A legtöbb szakértő szerint , de ez ma is nyitott probléma.



5. Példák NP‐beli problémákra

  1. SAT (boole‐kielégíthetőség)
    • Bemenet: egy Boole‐kifejezés CNF formában.
    • Kérdés: van‐e változó‐értékadás, ami a kifejezést igazra értékeli?
    • Bizonyíték: egy változó‐értékadás; ellenőrzés polinom időben.
  2. Hamilton‐út döntés
    • Bemenet: egyszerű gráf , csúcs‐szám .
    • Kérdés: van‐e olyan egyszer végigjáró út, ami minden csúcsot pontosan egyszer érint (Hamilton‐út)?
    • Bizonyíték: a csúcslánc felsorolása ; ellenőrzés -ben.
  3. Subset Sum
    • Bemenet: egész számok halmaza és célösszeg .
    • Kérdés: létezik‐e részhalmaz, amelynek összege ?
    • Bizonyíték: a megfelelő részhalmaz indexei; összeadás polinom időben.
  4. Vertex Cover döntés
    • Bemenet: gráf és egész .
    • Kérdés: van‐e csúcs, amelyek érintenek minden élt?
    • Bizonyíték: a csúcshalmaz; él‐ellenőrzés polinom időben.



6. NP‐teljes és NP‐nehéz problémák

  • NP‐teljes: NP‐ben vannak és NP‐nehézek (minden NP‐feladat polinom időben visszavezethető rájuk).
  • Ezek a „legtöbb NP‐feladat nehézségi csúcsai”: például 3‐SAT, Hamilton‐út, Vertex Cover.
  • Ha egy NP‐teljes feladatot determinisztikusan polinom időben megoldanánk, akkor teljesen.

A NP‐teljesség bizonyítása rendszerint két lépésben történik:

  1. Mutassuk meg, hogy a probléma NP‐ben van (ellenőrizhetőség).
  2. Vegyük egy már ismert NP‐teljes feladatot, és konstruáljunk polinomiális redukciót rá.



7. NP‐beli problémák megközelítése

Mivel a NP‐teljes feladatok várhatóan nem oldhatók meg polinom időben, három fő stratégiát alkalmazunk:

  1. Pseudopolinomiális algoritmusok – A futásidő a bemeneti numerikus értékek (pl. célösszeg) függvénye, nem „kvázi‐polinom”, de gyakorlati paraméterekkel működik (Subset Sum, Knapsack).
  2. Approximation (közelítő) algoritmusok – PTAS, FPTAS: -pontosság garanciával, futásidő polinomális a bemeneti méretben és -ben.
  3. Heurisztikák és metaheurisztikák – Greedy, lokális keresés, szimulált hőkezelés, genetikus algoritmusok — hatékonyak nagy inputokra, de nincs optimális garancia.



8. NP‐beli problémák jelentősége

  • A kriptográfia: az RSA, DSA és hasonló rendszerek biztonsága a diszkrét logaritmus és faktorizáció NP‐nehézségén alapszik (bár nem tudjuk, hogy NP‐ben vannak‐e).
  • A tudományos kutatás: a P vs. NP kérdés Az Egyik legnagyobb nyitott probléma, amely a számítástudomány alapjait érinti.
  • Az ipari alkalmazások: ütemezés, hálózat‐tervezés, portfólió‐optimalizálás, genetikai algoritmusok, adatbányászat — ezekben gyakran NP‐beli alfeladatok bukkannak fel.



9. Összefoglalás

  • Az NP azokat a döntési feladatokat foglalja magába, melyekre polinomiális időben ellenőrizhető egy „bizonyíték”.
  • Formálisan nem‐determinista Turing‐gép polinomiális futási idejét modellezi.
  • NP‐teljes problémák a legnehezebbek NP‐ben; megoldásuk -t implikálna.
  • Gyakorlatban közelítő, pseu­do­polinomiális és heurisztikus módszerekkel közelítjük őket.

Az NP osztály és a nem‐determinista polinom‐idő modell alapozza meg a számítástudomány elméleti és gyakorlati kutatásának egyik legerőteljesebb keretrendszerét.