• Ei tuloksia

581336 Laskennan teoria (kevät 2006) Harjoitus 4 (14.-17.2.)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "581336 Laskennan teoria (kevät 2006) Harjoitus 4 (14.-17.2.)"

Copied!
1
0
0

Kokoteksti

(1)

581336 Laskennan teoria (kevät 2006) Harjoitus 4 (14.-17.2.)

1. Laskennalliset ongelmat esitetään usein tyyliin Annettu: Turingin kone M, merkkijono x Kysymys: Hyväksyykö kone M syötteen x

Jotta tällaisesta ongelmasta voidaan puhua tämän kurssin käsitteillä, se pitää esittää formaalina kielenä. Ylläolevan esimerkkiongelman esitys formaalina kielenä on luennolla esitetty universaa- likieli Lu.

(a) Määrittele samaan tapaan formaalina kielenä ongelma Annettu: Turingin koneet M1 ja M2, merkkijono x

Kysymys: Hyväksyykö sekä kone M1 että kone M2 syötteen x.

(b) Sama ongelmalle

Annettu: Turingin koneet M1 ja M2

Kysymys: Onko olemassa syöte x, jonka sekä M1 että M2 hyväksyvät.

(c) Tulkitse, mitä laskennallista ongelmaa esittää kieli

f u111w 2 f 0; 1 gj L(Mu) \ L(Mw) = ; ja L(Mu) [ L(Mw) = f 0; 1 gg:

(d) Miten määrittelisit universaalikielen, jos haluttaisiin puhua Turingin koneiden sijaan C- kielisistä ohjelmista? (Sinun pitää määritellä, mitä tarkoitat hyväksymisellä C-ohjelman tapauksessa, ja koodata (ohjelma, syöte) -parit merkkijonoiksi.)

2. Osoita, että jos A ja B ovat rekursiivisesti lueteltavia, niin myös A [ B ja A \ B ovat.

3. Olkoon L1; : : : ; Lk sellainen kokoelma aakkoston kieliä, että (a) Li\ Lj = ; kun i 6= j,

(b) L1[ L2[ : : : [ Lk= ja

(c) jokainen kieli Li on rekursiivisesti lueteltava.

Osoita, että jokainen kieli Li on rekursiivinen.

4. Määritellään mielivaltaisella Turingin koneella M kieli

Lb(M) = f 0n1x j syötteellä x kone M tekee korkeintaan n siirtymää ja hyväksyy g:

Siis 0n1x 62 L, jos joko x 62 L(M) tai x 2 L(M) mutta syötteen x hyväksyminen vie koneelta M yli n laskenta-askelta.

(a) Osoita, että millä tahansa M kieli Lb(M) on rekursiivinen. (Vihje: Oletetaan, että M on yksinauhainen. Simuloi konetta M kaksinauhaisella koneella käyttäen kakkosnauhaa siirtymien laskemiseen.)

(b) Osoita, että jos A f 0; 1 g on rekursiivisesti lueteltava ja A 6= ;, niin on olemassa totaalinen Turingin koneella laskettava funktio f, jolla A = f f(w) j w 2 f 0; 1 gg. (Vihje:

tarkastele funktioita f, joilla f(0n1x) = x tietyillä n ja x.)

Viittaukset

LIITTYVÄT TIEDOSTOT

Kysymys: kun Turingin kone M suorittaa laskennan syötteellä x, niin siirtyykö se koskaan tilaan numero 52. Jos sinulla olisi algoritmi tämän ongelman ratkaisemiseksi, miten

Palautus tapahtuu muuttamalla syötteenä saadun koneen M w tilojen numerointia niin, ettei tilaa numero 5 käytetä mihinkään, ja vaihtamalla kaikki siirtymät johonkin lopputilaan

Osoita, että ongelma Siirtääkö annettu Turingin kone annetulla syötteellä koskaan nauhapää- tään vasemmalle on ratkeava1. (Vihje: palautus (a)-kohdan ongelmasta.)

Tehdään taas vastaoletus, että proseduuri Minimoi(M) palauttaa tilamäärältään pienimmän Turingin koneen, joka hyväksyy saman kielen kuin M ja käyttää samaa

Koska algoritmi voi tuottaa minkä tahansa osajoukon A, se löytää myös tällaisen osajoukon, jos sellainen on olemassa.. Toisaalta algoritmi ei hyväksy syötettä, ellei se löydä

Kuvaa, minkä tyyppisiä arvoja tällainen palautus saa syötteenään ja millaisia palauttaa, ja mitä ehtoja sen pitää toteuttaa.. (c) Esitä varsinainen palautus ja osoita, että

Sanomme, että palautusfunktion syötteitä ovat muotoa hG; ki olevat merkkijonot, ja tulos- teita muotoa hG 1 ; G 2 i olevat merkkijonot... Polynomisen laskenta-ajan takaa se,

Voit merkitä teh- tävän tehdyksi, vaikka viimeinen vaihe