You are on page 1of 5

Skriftlig eksamen

Beregnelighed og kompleksitet
Vejledende løsning

20. februar 2019 kl. 13.00-16.00

Opgave 1
(5 point) Herunder er transitionsdiagrammet for en Turing-maskine med starttilstand q0 og input-alfabet
{a, b}. Båndalfabetet er {a, b, t}.

a→L
b → t, R b→L

a→R t → b, L
start q0 q1 q2

t→R

qacc

Skriv den følge af konfigurationer, som M vil besøge, når den får strengen bba som input. Alle tran-
sitioner, der ikke er angivet på figuren, antages at gå til tilstanden qrej og flytte hovedet mod højre.
Løsning:

q0 bba → tq0 ba → t t q0 a
→ t t aq1 → t t q2 a
→ tq2 t a → t t qacc a

Opgave 2
(5 point) Her er nogle påstande om Turing-maskiner og deres sprog. Sæt kryds ved det, du mener er det
rigtige.
Løsning:
Sandt Falsk
Hvis et sprog L er genkendeligt, ved vi at L også er afgørbart. FALSK

∅ er et afgørbart sprog. SANDT

En Turing-maskine M vil altid enten acceptere eller afvise det FALSK


input, den får.

Der findes mindst én Turing-maskine M hvor L(M ) ikke er et FALSK


genkendeligt sprog.

Hvis G er en kontekstfri grammatik og w er en string, er det SANDT


afgørbart om w ∈ L(G).

1
Opgave 3
(5 point) Herunder er fem sprog. Placer dem i kasserne herunder.

L1 = {hM, wi | M er en Turing-maskine, der accepterer input w}


L2 = {hG, ki | G er en ikke-orienteret graf med en knudeoverdækning af størrelse k}
L3 = {hM1 , M2 i | M1 og M2 er Turing-maskiner og L(M1 ) = L(M2 )}
L4 = {hM i | M er en Turing-maskine som ikke standser på inputstrengen aab}
L5 = {hM i | M er en Turing-maskine med præcis 400 tilstande}

Løsning:
Afgørbart L2 , L5

Uafgørbart og genkendeligt L1

Uafgørbart og ko-genkendeligt L4

Hverken genkendeligt eller ko-genkendeligt L3

Opgave 4
(15 point) Her er et beslutningsproblem.

Givet en Turing-maskine M , gælder det da at M vil acceptere præcis én streng af længde 3?

1. Formulér dette beslutningsproblem som et sprog T RETM .


Løsning:

T RETM = {hM i | M er en Turing-maskine, der vil acceptere præcis én streng af længde 3}

2. Bevis at T RETM er uafgørbart.


Løsning:
Reduktion fra ATM . Vi viser hvordan vi givet en ATM -instans hM, wi kan konstruere en T RETM -
instans hM 0 i så denne trofasthedsbetingelse overholdes:

M accepterer w ⇐⇒ M 0 accepterer præcis én streng af længde 3

Her er M 0 :

På input x
a) Hvis x 6= aab, så afvis.
b) Ellers simulér M på input w og svar hvad M svarede

• Hvis M 0 accepterer w, vil M 0 acceptere aab.


• Hvis M 0 ikke accepterer w, vil M 0 ikke acceptere aab.

Hvis T RETM var afgørbart med afgører R, kunne vi da lave en afgører for ATM :

På input hM, wi


a) Konstruér hM 0 i.
b) Kør R med input hM 0 i og svar hvad den svarer.

Men ATM er uafgørbart, så R kan derfor ikke findes.

2
Opgave 5
(20 point) Her er et beslutningsproblem.

Givet en Turing-maskine M , gælder det da at L(M ) er et sprog der indeholder uendeligt


mange strenge?

1. Formulér dette beslutningsproblem som et sprog U EN DELIGTM .


Løsning:

U EN DELIGTM = {hM i | M er en Turing-maskine, så L(M ) er et sprog der indeholder uendeligt mange strenge}

2. Bevis ved brug af reduktion at U EN DELIGTM er uafgørbart.


Løsning:
Vi viser at ATM ≤m U EN DELIGTM ved at konstruere en reduktion f , der givet en ATM -instans
hM, wi giver os en U EN DELIGTM -instans hM 0 i så denne trofasthedsbetingelse overholdes:

M accepterer w ⇐⇒ L(M 0 ) er et uendeligt sprog

Lad os kalde f (hM, wi) for M 0 . Her er M 0 :

På input x
a) Simulér M på input w og svar hvad M svarede.

Hvis M accepterer w vil M 0 acceptere alle strenge. Hvis M 0 ikke accepterer w, vil M 0 ikke acceptere
nogen strenge overhovedet.
Da ATM er uafgørbart og ATM ≤m U EN DELIGTM , har vi også at U EN DELIGTM er uafgørbart.

3. Bevis ved brug af Rice’s sætning at U EN DELIGTM er uafgørbart.


Løsning:
Til U EN DELIGTM svarer egenskaben

S = {L | L er et genkendeligt sprog som indeholder uendeligt mange strenge}

Ser en egenskab, da alle sprog i Ser genkendelige. Ser ikke-triviel, da {aab, abba, bbbb} ∈
/ S mens
Σ∗ ∈ S.

Opgave 6
(10 point) Her er et beslutningsproblem.

Givet en orienteret graf G, findes der da en sti af længde mindst 5 i G som ikke besøger nogen
knude mere end én gang?

1. Formuler dette beslutningsproblem som et sprog, FEMHAM.

2. Bevis at FEMHAM ∈ P.

3. Ved vi nu, ud fra de foregående delopgavers svar, at HAMPATH ∈ P?

Løsning:

1. Vi har

FEMHAM = {hGi | G er en orienteret graf med en sti af længe mindst 5, hvor ingen knude gentages}

3
2. Her er en afgører for FEMHAM med polynomiel tidskompleksitet

På input hG, ki


a) For alle x1 , x2 , x3 , x4 , x5 ∈ S
• Hvis der er en sti (x1 , x2 , x3 , x4 , x5 , x6 ) så acceptér
b) Hvis intet valg af x1 , x2 , x3 , x4 , x5 , x6 ∈ S førte til accept, så afvis
n n!

Vi analyserer nu afgørerens kompleksitet. Hvis n er antallet af elementer i S, er der 5 = (n−5)!5! =
n·(n−1)·n−2·(n−3)·(n−4)·(n−5) 6
720 = O(n ) mulige valg af x1 , x2 , x3 , x4 , x5 , x6 , så hovedløkken gennemløbes
)
højst O(n gange. Hvis det største tal i S kan repræsenteres med m cifre, kan addition gennemføres
i O(m) skridt. Hele algoritmen vil kun bruge polynomiel tid som funktion af n og m.
3. Vi kan ikke konkludere at HAMPATH ∈ NP, da HAMPATH er sproget

HAMPATH = {hGi | G er en graf med en Hamilton-sti}

Opgave 7
(15 point)
Bevis at hvis L1 ≤P L2 og L2 ∈ P, så har vi også at L1 ∈ P
Løsning: Antag at L1 ≤P L2 og L2 ∈ NP. Vi vil nu vise at L1 ∈ P. Fordi L1 ≤P L2 ved vi, at
at der findes en funktion f som er beregnbar i polynomiel tid O(nk ) med Turing-maskine Mf og så
w ∈ L1 ⇐⇒ f (w) ∈ L2 . Og fordi L2 ∈ P, ved vi at der er en deterministisk Turing-maskine M2 med
polynomiel tidskompleksitet O(n` .
Her er en deterministisk afgører for L1 , som vi kalder M1 .

På input w:
1. Kør Mf med input w.
2. Kør M2 med input f (w) og svar hvad den svarer.

Afgøreren er deterministisk, da Mf og M2 er deterministiske Turing-maskiner.


Da f er trofast, har vi at M1 accepterer w hvis og kun hvis f (w) ∈ L2 , og det gælder hvis og kun
hvis w ∈ L1 .
Vi mangler nu blot at analysere tidskompleksiteten af M1 . Lad n = |w|. Trin 1 kræver O(nk ) skridt.
Da ethvert skridt kan frembringe et nyt tegn, har vi at |f (w)| = O(nk ), og derfor kan trin 2 bruge
O((nk )` ) = O(nk` ) skridt. Dette betyder at M1 i alt bruger O(nk + nk` ) = O(nk` ) skridt, som er
polynomielt i n.

Opgave 8
(10 point) Bevis at NP ⊆ PSPACE.
Løsning:
Et sprog L er i NP hvis der findes en nondeterministisk Turing-maskine M med polynomiel tids-
kompleksitet O(nk ) for et k ≥ 0. Da vil M på et input af størrelse n kun kunne besøge O(nk ) felter
på sit bånd og har derfor pladskompleksitet højst O(nk ). Derfor har vi også L ∈ NPSPACE. Men ifølge
Savitch’s sætning har vi at PSPACE = NPSPACE.

Opgave 9
(15 point)
Bevis at kompleksitetsklassen SPACE(n2 ) er lukket under foreningsmængde, dvs. at hvis L1 ∈ SPACE(n2 )
og L2 ∈ SPACE(n2 ), så har vi også at L1 ∪ L2 ∈ SPACE(n2 ).
Løsning:
Da L1 ∈ SPACE(n2 ) findes der en nondeterministisk afgører M1 for L1 med pladskompleksitet O(n2 ).
Og da L2 ∈ SPACE(n2 ) findes der en nondeterministisk afgører M2 for L2 med pladskompleksitet O(n2 ).
Her er nu en afgører for L1 ∪ L2 ; den kalder vi for M .

På input x

4
1. Kopiér x på båndet, så der er et ekstra eksemplar af x.
2. Kør M1 på den nye kopi af input x.
3. Hvis M1 accepterede, så acceptér.
4. Ellers fjern resultatet af M1 ’s beregning og kør M2 med input x.
5. Hvis M2 accepterede, så acceptér. Ellers afvis.

Det er klart at M accepterer x hvis og kun hvis x ∈ L1 ∪ L2 . Vi mangler nu kun at analysere


pladskompleksiteten af M .
Lad n = |x|. Det kræver O(n) felter at lave en ekstra kopi af x. Det kræver O(n2 ) felter at simulere
M1 og O(n2 ) felter at simulere M2 . Så M bruger derfor O(n + n2 + n2 ) = O(n2 ) felter, dvs. den har en
pladskompleksitet på O(n2 ).

You might also like