decision problem (tsz. decision problems)
A decision problem (döntési probléma, Entscheidungsproblem) az elméleti számítástechnika egyik alapfogalma, amely olyan kérdés, amelyre a válasz mindig „igen” vagy „nem”. Minden számítási probléma átszabható döntési problémává, így ezek központi szerepet játszanak a komplexitáselméletben, különösen a P, NP, és NP-complete osztályok definícióiban.
Egy döntési probléma olyan probléma, amely bemenetként egy objektumot (pl. egy sztringet vagy gráfot) kap, és eldönti, hogy az eleme-e egy adott halmaznak.
Formálisan:
Tulajdonság | Jelentés |
---|---|
Bemenet | Egy bináris vagy karakterlánc |
Kimenet | „IGEN” (1) vagy „NEM” (0) |
Példa kérdés | „Van-e a gráfban Hamilton-kör?” |
Döntési mód | Egy algoritmus vagy gép eldönti |
Probléma | Kérdés |
---|---|
Prímszám-ellenőrzés | „A szám prímszám?” |
Rendezett-e? | „A lista elemei növekvő sorrendben vannak?” |
Satisfiability (SAT) | „Létezik-e változóértékadás, amely kielégíti a formulát?” |
Hamiltonian cycle | „Van-e Hamilton-kör a gráfban?” |
Knapsack decision | „Létezik-e tárgykiválasztás, ami nem lépi túl a súlykorlátot és elér egy adott értéket?” |
Típus | Példa |
---|---|
Optimalizálás | „Mi a legnagyobb érték, amit elérhetünk?” |
Döntési | „Van-e megoldás legalább ennyi értékkel?” |
Megjegyzés: Az optimalizálási probléma gyakran döntési problémává alakítható, és így vizsgálható komplexitáselméleti szempontból.
def is_prime(n):
if n < 2:
return False
for d in range(2, int(n**0.5)+1):
if n % d == 0:
return False
return True
print(is_prime(7)) # → True
print(is_prime(9)) # → False
Osztály | Döntési probléma tulajdonsága |
---|---|
P | Megoldható determinisztikusan polinomiális idő alatt |
NP | Ellenőrizhető polinomiális idő alatt |
NP-complete | Legnehezebb NP-problémák |
co-NP | „NEM” válasz ellenőrizhető gyorsan |
PSPACE | Megoldható polinomiális memóriahasználattal |
Bemenet: Egy logikai formula, ami csak három literálból álló zárójeles klauzulákból áll. Kérdés: Van-e olyan változóértékadás, amely kielégíti az összes klauzulát?
Ez a klasszikus NP-complete döntési probléma.
Fogalom | Leírás |
---|---|
Döntési probléma | Olyan probléma, amelyre a válasz „igen” vagy „nem” |
Fontosság | Alapja a komplexitáselméletnek |
Optimalizálás vs döntés | Az optimalizálás gyakran átalakítható döntésre |
Példák | SAT, Hamilton-kör, Knapsack döntési változata |
Alkalmazás | P vs NP kérdés, bonyolultsági osztályok, bizonyítások |