Next: About this document ...
Megoldások a hatodik óra pótgyakorlatához
1. A diagonális nyelv komplementerében kétféle w szó van:
(1) a w nem kódol Turing gépet vagy
(2) a w Turing gépet kódol és az Mw Turing gép a w szót elfogadja.
Az első esetet könnyű felismerni, minden szóról el bírjuk
dönteni, hogy kód-e vagy sem.
A második esetben tegyük a következőt: kezdjük el futtatni az
Mw-t a w szón. Ha elfogadja, fogadjuk el mi is a w-t, ha az
Mw elutasítja vagy nem áll meg, akkor ne álljunk meg mi se.
Az így működő Turing gép (tehát ami először ellenőrzi hogy a
w szó kód-e és ha igen, akkor a fenti dolgot teszi)
pontosan a kívánt nyelvet fogadja el.
2. A teljes feladatsorban szerepel a megoldás a Turing gépek
8. feladatnál.
3. Adunk egy Turing gépet, ami éppen ezt fogadja el és mindig megáll.
Ha az x szó nem kódol Turing gépet, akkor utasítsuk el.
Különben meg a következő van. Nyilván elég egybetűs szavakra
leellenőrizni, hogy azokkal elindítva elmozdul-e a fej,
hiszen a többi betű már csak akkor jönne, ha elmozdul,
de akkor azonnal elutasítunk.
Ezért nézzük csak az egybetűs szavakat (meg még az üreset, na jó),
ezekből véges sok van. Az egyszalagos
Turing gép állapotát mindig leírja és a
további működését meghatározza, hogy milyen állapotban van,
hogy mi van a szalagon és hogy hol áll a fej. Mivel most azt
teszteljük, hogy elmegy-e a fej az első mezôrôl,
(ha elmegy azonnal elutasítunk) ezért csak azt kell észrevennünk,
hogy ha még nem ment el onnan, akkor csak az állapotát birja
váltogatni, meg azt, hogy mi van az első mezôn. Ez összesen is csak
|Q|x|T| lehetőség. Vagyis, ha ennyi lépést várunk egy szónál és még
nem ment sehova, akkor már nem is fog, mert akkor biztos, hogy
végtelen ciklusban van. (Miért is? Azért, mert akkor ugyanott áll a
fej és olyan állapoptban van a gép illetve olyan betű van az
első cellában, ami már egyszer volt, akkor innen kezdve ugyanazt
csinálja már amit az előbb tett, azaz nem megy sehova.)
Ha minden max. egybetűs szóra ez van, akkor elfogadunk, ha egyszer is
ellép, akkor elutasítunk.
4. A teljes feladatsorban szerepel a megoldás a Turing gépek
19. feladatnál.
Next: About this document ...
Judit Csima
1999-12-02