Uafgøreligheden af acceptproblemet for Turing-maskiner er et grundlæggende begreb i beregningsmæssig kompleksitetsteori. Det henviser til, at der ikke er nogen algoritme, der kan afgøre, om en given Turing-maskine vil stoppe og acceptere et bestemt input. Dette resultat har dybtgående implikationer for grænserne for beregning og det teoretiske grundlag for datalogi.
For at forstå uafgøreligheden af acceptproblemet, skal vi først forstå, hvad det betyder for en Turing-maskine at acceptere et input. En Turing-maskine er en matematisk model af en hypotetisk computerenhed, der består af et bånd opdelt i celler, et læse-/skrivehoved, der kan bevæge sig langs båndet, og et endeligt sæt tilstande. Maskinen starter i en starttilstand og læser symboler fra båndet efter et sæt overgangsregler, der bestemmer dens opførsel. Hvis maskinen efter et endeligt antal trin går ind i en udpeget accepterende tilstand, siges den at acceptere inputtet.
Acceptproblemet spørger, om en given Turing-maskine M vil stoppe og acceptere et bestemt input w. Med andre ord søger den at bestemme, om M, når den startes på input w, til sidst vil nå en accepterende tilstand. Uafgøreligheden af dette problem betyder, at der ikke er nogen generel algoritme, der kan besvare dette spørgsmål for alle Turing-maskiner og input.
En måde at bevise uafgøreligheden af acceptproblemet er gennem en teknik kaldet diagonalisering, som først blev introduceret af matematikeren Georg Cantor. Den grundlæggende idé bag diagonalisering er at konstruere en ny Turing-maskine, der simulerer alle mulige Turing-maskiner og deres input, og derefter bruger denne simulering til at producere en modsigelse.
Rekursionssætningen, som er et grundlæggende resultat i beregningsbarhedsteorien, giver et kortere bevis på acceptproblemets uafgørelighed. Rekursionssætningen siger, at enhver beregnelig funktion kan repræsenteres af en Turing-maskine. Med andre ord, for hver beregnelig funktion f eksisterer der en Turing-maskine M, således at M, når den startes på input x, vil stoppe og udsende f(x).
Ved hjælp af rekursionssætningen kan vi konstruere en Turing-maskine H, der som input tager en beskrivelse af en anden Turing-maskine M og et input w, og simulerer M på w. Hvis M stopper og accepterer w, så stopper H og afviser input. Hvis M ikke stopper på w, går H ind i en uendelig løkke. Denne konstruktion viser, at der ikke er nogen Turing-maskine, der kan afgøre acceptproblemet, da en sådan maskine ville være i stand til at afgøre, om H stopper eller ej.
Uafgøreligheden af acceptproblemet for Turing-maskiner er et grundlæggende resultat i beregningsmæssig kompleksitetsteori. Det viser, at der ikke er nogen algoritme, der kan afgøre, om en given Turing-maskine vil stoppe og acceptere et bestemt input. Rekursionssætningen giver et kortere bevis på denne uafgørlighed ved at vise, at der ikke er nogen Turing-maskine, der kan afgøre acceptproblemet. Dette resultat har vidtrækkende implikationer for datalogiens teoretiske grundlag og grænserne for beregning.
Andre seneste spørgsmål og svar vedr EITC/IS/CCTF Computational Complexity Theory Fundamentals:
- Er regulære sprog ækvivalente med Finite State Machines?
- Er PSPACE-klassen ikke lig med EXPSPACE-klassen?
- Er et algoritmisk beregneligt problem et problem, der kan beregnes af en Turing-maskine i overensstemmelse med Church-Turing-afhandlingen?
- Hvad er lukkeegenskaben for regulære sprog under sammenkædning? Hvordan kombineres endelige tilstandsmaskiner for at repræsentere foreningen af sprog, der genkendes af to maskiner?
- Kan ethvert vilkårligt problem udtrykkes som et sprog?
- Er P kompleksitetsklassen en delmængde af PSPACE-klassen?
- Har hver multi-tape Turing-maskine en tilsvarende enkelt-tape Turing-maskine?
- Hvad er output af prædikater?
- Er lambdaregning og turingmaskiner beregnelige modeller, der besvarer spørgsmålet om, hvad betyder beregnelig?
- Kan vi bevise, at Np- og P-klassen er ens ved at finde en effektiv polynomielløsning for ethvert NP-fuldt problem på en deterministisk TM?
Se flere spørgsmål og svar i EITC/IS/CCTF Computational Complexity Theory Fundamentals