• Ei tuloksia

581336 Laskennan teoria (kevät 2006) Harjoitus 1, ratkaisuja

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "581336 Laskennan teoria (kevät 2006) Harjoitus 1, ratkaisuja"

Copied!
2
0
0

Kokoteksti

(1)

581336 Laskennan teoria (kevät 2006) Harjoitus 1, ratkaisuja

1. (a) Syöte 0011:

q00011 ` Xq1011 ` X0q111 ` Xq20Y 1 ` q2X0Y 1 ` Xq00Y 1

` XXq1Y 1 ` XXY q11 ` XXY q11 ` XXq2Y Y ` Xq2XY Y

` XXq0Y Y ` XXY q3Y ` XXY Y q3 ` XXY Y #q4

Laskenta pysähtyy, koska tilasta q4 ei ole siirtymää tyhjämerkillä (eikä olisi millään muul- lakaan). Koska q4 on hyväksyvä, merkkijono 0011 tulee hyväksytyksi.

(b) Syöte 001011:

q0001011 ` Xq101011 ` X0q11011 ` Xq20Y 011 ` q2X0Y 011

` Xq00Y 011 ` XXq1Y 011 ` XXY q1011 ` XXY 0q111

` XXY q20Y 1 ` XXq2Y 0Y 1 ` Xq2XY 0Y 1 ` XXq0Y 0Y 1

` XXY q30Y 1

Tilasta q3 ei ole siirtymää merkillä 0, joten laskenta pysähtyy. Tila q3 ei ole hyväksyvä, joten merkkijono 001011 ei tule hyväksytyksi.

2. Nauha-aakkosto on f a; b; A; B; # g, tyhjämerkki #. Tilojen nimet on jätetty merkitsemättä

a=A; R

b=B; R

B=B; L

#; #; L

#=#; R

a=a; R b=b:R

a=a; R b=b:R

a=a; L b=b:L

A=A; L B=B; L

#; #; L

a=A; L

b=B:L

A=A; L B=B; L A=A; L

A=A; R B=B; R

a=a; L

b=b:L

(2)

3. Olkoon M = (Q; ; ; ; q0; B; F ) luennolla esitetyn määritelmän mukainen Turingin ko- ne. Muodostetaan tehtävässä annetun vaihtoehtoisen määritelmän mukainen kone M0 = (Q0; ; ; 0; q0; B; qyes; qno), missä qyes62 Q ja qno62 Q ja Q0 = Q [ f qyes; qnog. Siirtymäfunktio 0 määritellään seuraavasti:

0(qyes; X) ei ole määritelty millään X, ei myöskään 0(qno; X) jos q 2 Q ja (q; X) on määritelty, niin 0(q; X) = (q; X).

jos q 2 F ja (q; X) ei ole määritelty, niin 0(q; X) = (qyes; X; R).

jos q 2 Q F ja (q; X) ei ole määritelty, niin 0(q; X) = (qno; X; R).

Selvästi millä tahansa syötteellä koneiden M ja M0 laskennat etenevät samalla lailla, kunnes M pysähtyy. Tällöin M0 tekee vielä yhden viimeisen askeleen, joko tilaan qyes tai tilaan qnosen mukaan pysähtyikö M hyväksyvään ja hylkäävään tilaan. Siis M ja M0 hyväksyvät ja hylkäävät tasan samat syötteet (ja siis myös jättävät pysähtymättä tasan samoilla syötteillä).

4. (Piirrä itse kaavioesitykset koneista.)

(a) Kone hyväksyy säännöllisen kielen 1(01), eli

L(M) = f w0w1w2: : : w2k 1w2kj w0= w2= : : : = w2k = 1; w1= w3= : : : = w2k 1= 0; k 0 g : (b) Kone hyväksyy säännöllisen kielen 011, eli

L(M) = f 0n1mj n 0; m 1 g :

(c) Tarkastellaan, miten kone käyttäytyy tilanteessa uq0w, missä u; w 2 f 0; 1 g. Jos w = 0, laskenta selvästi päättyy hyväksyvään tilaan. Jos w = 1w0tai w = 00w0jollain w0 2 f 0; 1 g, laskenta selvästi päättyy hylkäävään tilaan. Muuten olkoon w = 01w0. Laskenta etenee

uq001w0 ` u1q11w0` uq210w0` u1q00w0: Siis laskenta tilanteesta uq00v johtaa hyväksymiseen, jos joko

i. v = " tai

ii. v = 1w0, missä laskenta tilanteesta u1q00w0 johtaa hyväksymiseen.

Laskenta tilanteesta uq01v ei koskaan johda hyväksymiseen. Tästä nähdään helposti induk- tiolla, että laskenta tilanteesta uq00v johtaa hyväksymiseen, jos ja vain jos v = 1n jollain n 0. Valitsemalla erityisesti u = " nähdään, että

L(M) = f 01nj n 0 g eli kone hyväksyy säännöllisen kielen 01.

2

Viittaukset

LIITTYVÄT TIEDOSTOT

Oletetaan, että ohjelmat (oikeammin niiden C-kieliset lähdekoodit) ja syötteet ovat (esim.) ASCII- merkistön merkkijonoja. Ohjelma ja syöte on pystyttävä erottamaan toisistaan

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,