Tomhedsproblemet og ækvivalensproblemet er to grundlæggende problemer inden for beregningsmæssig kompleksitetsteori, som er tæt beslægtede. I denne sammenhæng refererer tomhedsproblemet til at bestemme, om en given Turing-maskine accepterer noget input, mens ækvivalensproblemet involverer at bestemme, om to Turing-maskiner accepterer det samme sprog. Ved at reducere tomhedsproblemet til ækvivalensproblemet kan vi etablere en sammenhæng mellem disse to problemer.
For at forstå reduktionen, lad os først definere tomhedsproblemet formelt. Givet en Turing-maskine M, spørger tomhedsproblemet, om der findes en inputstreng x, sådan at M accepterer x. Med andre ord ønsker vi at afgøre, om det sprog, som M accepterer, ikke er tomt.
Lad os nu overveje ækvivalensproblemet. Givet to Turing-maskiner M1 og M2, spørger ækvivalensproblemet, om de sprog, der accepteres af M1 og M2, er de samme. Med andre ord, vi ønsker at bestemme, om L(M1) = L(M2), hvor L(M) repræsenterer det sprog, der accepteres af Turing-maskine M.
For at reducere tomhedsproblemet til ækvivalensproblemet, skal vi konstruere to Turing-maskiner M1 og M2 sådan, at L(M1) = ∅ (tomt sprog) hvis og kun hvis L(M2) = L(M). Med andre ord, hvis M1 ikke accepterer noget input, skal M2 acceptere det samme sprog som M.
For at opnå denne reduktion kan vi konstruere M1 og M2 som følger:
1. M1: Konstruer en Turing-maskine, der øjeblikkeligt afviser ethvert input. Dette sikrer, at L(M1) = ∅, da M1 ikke accepterer input.
2. M2: Konstruer en Turing-maskine, der simulerer M på hvert input. Hvis M accepterer inputtet, accepterer M2 også inputtet. Ellers afviser M2 inputtet. Dette sikrer, at L(M2) = L(M), da M2 accepterer det samme sprog som M.
Ved at konstruere M1 og M2 på denne måde har vi reduceret tomhedsproblemet til ækvivalensproblemet. Hvis vi kan løse ækvivalensproblemet for M2 og M, så kan vi bestemme, om M accepterer input ved at kontrollere, om L(M2) = L(M1). Hvis L(M2) = L(M1), så accepterer M ingen input (L(M) = ∅). Ellers accepterer M mindst ét input.
For at opsummere kan tomhedsproblemet for Turing-maskiner reduceres til ækvivalensproblemet for Turing-maskiner ved at konstruere to Turing-maskiner M1 og M2. M1 accepterer ingen input, mens M2 simulerer M på hver input. Ved at kontrollere, om L(M2) = L(M1), kan vi afgøre, om M accepterer noget input.
Eksempel:
Lad os overveje et simpelt eksempel for at illustrere reduktionen. Antag, at vi har en Turing-maskine M, der accepterer sproget L = {0, 1}. For at reducere tomhedsproblemet for M til ækvivalensproblemet konstruerer vi M1 og M2 som beskrevet ovenfor.
1. M1: En Turing-maskine, der øjeblikkeligt afviser ethvert input.
2. M2: En Turing-maskine, der simulerer M på hvert input. Hvis M accepterer inputtet, accepterer M2 også inputtet. Ellers afviser M2 inputtet.
For nu at afgøre, om M accepterer noget input, kontrollerer vi, om L(M2) = L(M1). Hvis L(M2) = L(M1), så accepterer M ingen input (L(M) = ∅). Ellers accepterer M mindst ét input.
I dette eksempel, hvis L(M2) = L(M1), så accepterer M ingen input. Men hvis L(M2) ≠ L(M1), så accepterer M mindst én indgang.
Ved at reducere tomhedsproblemet til ækvivalensproblemet etablerer vi en sammenhæng mellem disse to grundlæggende problemer i beregningsmæssig kompleksitetsteori.
Andre seneste spørgsmål og svar vedr afgørbarhed:
- Kan et bånd begrænses til størrelsen af inputtet (hvilket svarer til, at turingmaskinens hoved er begrænset til at bevæge sig ud over TM-båndets input)?
- Hvad betyder det, at forskellige varianter af Turing-maskiner er ækvivalente med hensyn til computerkapacitet?
- Kan et genkendeligt sprog danne en delmængde af afgøreligt sprog?
- Er stopproblemet med en Turing-maskine afgøreligt?
- Hvis vi har to TM'er, der beskriver et sprog, der kan afgøres, er ækvivalensspørgsmålet stadig uafgørligt?
- Hvordan adskiller acceptproblemet for lineært afgrænsede automater sig fra det for Turing-maskiner?
- Giv et eksempel på et problem, der kan afgøres af en lineært afgrænset automat.
- Forklar begrebet afgørelighed i sammenhæng med lineært afgrænsede automater.
- Hvordan påvirker størrelsen af båndet i lineært afgrænsede automater antallet af distinkte konfigurationer?
- Hvad er den største forskel mellem lineært afgrænsede automater og Turing-maskiner?
Se flere spørgsmål og svar i Afgørelighed