Bai Thao Luan

26
MỤC LỤC I. HÌNH MÁY TURING (TM)......................................3 1.1. Mô tả TM................................................. 3 1.2. Định nghĩa................................................4 II. NGÔN NGỮ "HÀM TÍNH ĐƯỢC"................................. 7 III. CÁC KỸ THUẬT XÂY DỰNG MÁY TURING............................9 3.1. Lưu trữ trong bộ điều khiển (Storage in the finite control) .............................................................10 3.2. Nhiều rãnh trên băng (Multiple tracks)....................10 3.3. Đánh dấu hiệu (Checking off symbols)...................11 3.4. Dịch qua (Shifting over).................................12 3.5. Chương trình con (Subroutines)...........................13 IV. CÁC BIẾN THỂ CỦA MÁY TURING................................ 14 4.1. Máy Turing với băng vô hạn 2 chiều.......................14 4.2. Máy Turing với nhiều băng vô hạn hai chiều................16 4.3. Máy Turing không đơn định................................17 4.4. Máy Turing nhiều chiều..................................18 4.5. Máy Turing nhiều đầu đọc.................................18 1

description

Máy turing

Transcript of Bai Thao Luan

MC LCI.MHNHMYTURING(TM)31.1.MtTM31.2.nhngha4II.NGNNGV"HMTNHC"7III.CCKTHUTXYDNGMYTURING93.1.Lutrtrongbiukhin(Storageinthefinitecontrol)103.2.Nhiurnhtrnbng(Multipletracks)103.3.nhdukhiu(Checkingoffsymbols)113.4.Dchqua(Shiftingover)123.5.Chngtrnhcon(Subroutines)13IV.CCBINTHCAMYTURING144.1.MyTuringvibngvhn2chiu144.2.MyTuringvinhiubngvhnhaichiu164.3.MyTuringkhngnnh174.4.MyTuringnhiuchiu184.5.MyTuringnhiuuc18

NHM 2:Nghiu Vn Trng Nguyn c Tin T Duy Hng Mi Vn Mnh ng Ngc VNI DUNGCc k thut lp trnh cho my Turing: L tru bn trong trng thi, my Turing nhiu rnh.Cc bin th ca my Turing c bn: My Turing a bng, my Turing khng n nh.

GII THIUNidungchnh:Trongchngny,tasxtthmmtloimytrutngkhc-myTuring(TM-TuringMachines).Chngckhnngonnhnclpngnnglnhnlpngnngphingcnh.ycnlmtmhnhcastnhton,mhnhcaccthtchiuqu,lnntngchoqutrnhxlcamytnhhini,cgiithiubiAlanTuringvonm1936.Nh,cckhinimv"stnhc","sgiic"cxcnhmtcchrrngtrncssxuthincamtshmkhngtnhc,ccbitonkhnggiic.

Mctiucnt:Cuichng,sinhvincnphinmvng:KhinimTM,nhnghavccthnhphn.CckthutthitkTM.MtsbindngTMtmhnhchun.XydngTMdngnhndngngnnghoctnhtoncchmsnguynngincbiudintronghnhtphn.CctnhchtcalpngnngcchpnhnbiTM.

Kinthccbn:tipthuttnidungcachngny,sinhvincnhiurcchthitkcchmchuyntrngthitrnmhnhmytnhton;tngthitkmtsthuttonngintrntphps,

Tiliuthamkho:

[1]JohnE.Hopcroft,JeffreyD.UllmanIntroductiontoAutomataTheory,LanguagesandComputationAddisonWesleyPublishingCompany,Inc1979(Chapter7:TuringMachines)

[2]PeterLinzAnIntroductiontoFormalLanguagesandAutomataD.C.HeathandCompany1990.

[3]DavidBarker-Plummer-StanfordEncyclopediaofPhilosophyTuringMachines:http://plato.stanford.edu/entries/turing-machine/

[4]TuringMachinesimplementedinJavaScript:http://www.turing.org.uk/turing/scrapbook/tmjava.html

[5]ByJonBarwiseandJohnEtchemendy-TuringMachines:

I.MHNHMYTURING(TM)

Mtmhnhhnhthcchomtthtchiuquscnhngctnhcth.utin,mithtcscmtmtcchhuhn.Tip,thtcscphnthnhmtsbcclp,mmibcthcthimtvn.NguyntcnycngchnhthctrongmhnhmyTuring.

MyTuringcmtbngnh,dngghimiloidliu(dliunhp,dliudngchoviciukhintngtnhmtchngtrnhmytnhvccktqutrunggiankhilmvic).Vimtbiukhinchamtshuhntrngthi,TMcngnhcctmtkhc,lmvictheoli"ngtqung"theotngbcchuyn.

1.1.MtTM

MyTuringcrtnhiudngngkhnng,nghalcnhiumhnhvnhnghakhcnhauchomyTuringnhngttcchngutngngnhau.Song,nichungmhnhcbncamtmyTuringgm:-Mtbiukhinhuhn.-Mtbngcchiathnhcc.-Mtuc-vit,milnccthduytquamttrnbngchayvitkhiu.

Micthgicmtkhiutrongshuhncckhiubng(cckhiucphpvittrnbng).Khiuxemnhnbntricabng(n0)gichuinhp(input),chuinhplmtchuiccktcchntmttphpconcatphpcckhiubng,tphpconnygiltpcckhiunhp.Phncnlicabngcoinhcvhnkhongtrng,khiuB(Blank),Blmtkhiucbitcabngnhngkhngphilkhiunhp.

Input,Bnh,Output

a1a2...ai...anBBB...

Biukhin

Hnh7.1-MtmtTM

MibcchuyncamyTuring,phthucvokhiudouccctrnbngvtrngthicabiukhin,mysthchinccbcsau:1)Chuyntrngthi2)Inmtkhiutrnbngtiangduyt(nghalthaykhiucctrnbngbngkhiuno)3)Dchchuynuc-vit(sangtri(L),sangphi(R)hocngyn())Cuhi:

SosnhcchmyTuringvihaidngtmtkhosttrongccchngtrc(tmthuhnFAvtmtyxungPDA)?Nunhngimkhcbitquantrngtrongnguyntcnhndngngnng?

1.2.nhngha

Mtcchhnhthc,tanhnghamtmyTuring(TM)nhsau:

nhngha:TMlmththngM(Q,,,,q0,B,F),trong:.Q:tphuhncctrngthi..:bkhiunhp..:tphuhnccktcphpvittrnbng..B:khiuthucdngchkhongtrngtrnbng(Blank)..:hmchuynnhx:QQ{L,R,}(cthkhngxcnhvimtviis).q0Qltrngthibtu.FQltpcctrngthiktthc

HnhthiTM(Instantaneousdescription-ID)

MthnhthicamyTuringMcchobia1qa2,trongqltrngthihinhnhcaM;a1a2*lnidungcabngtnhtubngchotikhiukhcBlankbnphinhtcabng.GisQvrinhau:ucangckhiubntrinhtcaa2hocnua2=thuccBlank.

Hmchuyn

TanhnghamtphpchuyntrngthicaTMnhsau:tX1X2...Xi-1qXi...XnlmtID.+Gis(q,Xi)=(p,Y,L),trong:-Nui-1=nthXilB.-Nui=1thkhngcIDktip,nghaluckhngcphpvtquacntricabng.-Nui>1tavit:

X1X2...Xi-1qXi...XnMX1X2...Xi-2pXi-1YXi+1...Xn+Tngt(q,Xi)=(p,Y,R)thtavit:X1X2...Xi-1qXi...XnMX1X2...Xi-1YpXi+1...Xn+Tngt(q,Xi)=(p,Y,)thtavit:X1X2...Xi-1qXi...XnMX1X2...Xi-1pYXi+1...Xn

Chrngnui-1=nthchuiXi...Xnlrngvvphidihnvtri,nghalTMMmrngchuikhiutrnbng.

NuhaiIDcquanhnhaubiMthtaniIDthhailktqucaIDthnhtbngmtlnchuyn,mtbcpdnghmchuyn(hocnicithhaithuctcithnhtbngmtlnchuyn).NumtIDthuctIDkhcbngmtslnchuyn(cthbng0)thtakhiuquanhlM*.TacngcthbikhiuMtrongcchvitccquanhtrnnukhngcnhmln.

NgnngcchpnhnbiTM

KhiuL(M):tphpccchuitrong*lnguynnhnaTMMivotrngthiktthckhithchinvicthaythtbntricckhiutrnbngcaMvitrngthibtuq0.Mtcchhnhthc,tanhnghatphpngnngcchpnhnbiTMM(Q,,,,q0,B,F)ltpL(M)={ww*vq0wM*1p2vipFcn1*}ChoTMnhndinmtngnngLlcholnltcctcaLvoTMxemTMcchpnhntkhng.TMsdngvivomttrongnhngtrngthiktthcF(khngcphpchuynktip)khitcchpnhn,nhngnuTMkhngchpnhnmttnothTMcthngngmttrngthiFhoccngcthnchymimkhngdngli.

Thd7.1:ThitkTMchpnhnngnngL={0n1nn1}

KhiuTMcha0n1nbntrinhttrnbngsaulvhnkhongtrngBlank.TMlpliqutrnhsau:-Mthay0bntrinhtbngXrichuynsangphiti1trinht,TMthay1nybngYridchchuynvbntrichotikhigpXphinhtnchuynsangphimt(ti0trinht)ritiptclpmtchutrnhmi.-Nutrongkhidchchuynsangphitm1mTMgpBlankthTMdngvkhngchpnhninput.Tngt,khiTMthayht0bngXvkimtracn1trnbngthTMcngdngvkhngchpnhninput.-TMchpnhninputnunhcngkhngcnkhiu1nonatrnbng.

tTMM(Q,,,,q0,B,F)viccthnhphn:Q={q0,q1,q2,q3,q4};={0,1};={0,1,X,Y,B}vF={q4}.

18TrngthiKhiu

01XYB

q0(q1,X,R)--(q3,Y,R)-

q1(q1,0,R)(q2,Y,L)-(q1,Y,R)-

q2(q2,0,L)-(q0,X,R)(q2,Y,L)-

q3---(q3,Y,R)(q4,B,)

q4-----

Tacthhnhdungmitrngthilmtculnhhocmtnhmccculnhtrongchngtrnh.Trngthiq0ltrngthikhiuvnlmchokhiu0bntrinhtthaybngX.Trngthiq1cdngtinsangphibquaccs0vYtm1bntrinht.NuMtmthy1nthay1bngYriivotrngthiq2.Trngthiq2aMtinsangtrichotiXutinvivotrngthiq0,dchchuynsangphiti0bntrinhtvtiptcmtchutrnhmi.KhiMtinsangphitrongtrngthiq1,nuBhocXctmthytrc1thinputbloib(khngchpnhn)vcchanhiukhiu0hn1hocinputkhngcdng0*1*.Trngthiq0cncvaitrkhc.Nutrngthiq2tmthyXbnphinhtvngaysaulYthccs0cxtht,dotrngthibtumtchutrnhmiq0khngtmthykhiu0nothaythnhXmchgpYthTMivotrngthiq3duytquaccYkimtrachaykhngckhiu1cnli.NutheongaysauccYlB,nghaltrnbngnhpkhngcnkhiu1nonathTMsivoq4(trngthiktthc)chpnhninput.Ngcliinputbloib.

Hmchuyncchotrongbngsau:CcphpchuynhnhthicaTMMtrninput0011:

q00011Xq1011X0q111Xq20Y1q2X0Y1Xq00Y1XXq1Y1XXYq11XXq2YYXq2XYYXXq0YYXXYq3YXXYYq3XXYYq4

Nhnxt:Nhvy,tacthddngthy,TMkhcvimttmthuhnchuc-vitcthdchchuyntdotrnbng,khngnhngcmcnckhnngvittrnbngvvnglmviccncthmrngtheoyucuphtsinh.TMkhcvitmtyxungchnkhngdngthmStacknhmtbginhmvitcckhiucnghinhngaytrnbng.

II.NGNNGV"HMTNHC"

NgnngcchpnhnbimtmyTuringcgilngnngquilitk-recursivelyenumerable(r.e).lmtlpngnngrtrng,nthcschangnngphingcnhCFLvmtsngnngmkhngthxcnhccthnhphnmtcchmymc.NuL(M)lmtngnngnhvythbtkmtmyTuringnonhndinL(M)cngskhngdngtrnmtsinputkhngthucL(M).Nhng

113

numtchuiwL(M)thchcchnTMdng,tuynhinTMschybaolutrninputthchngtakhngthbitcvtacngkhngbitchcchnliuTMcdnglihaykhng.Mtcchthunlivcnghahnlxtmtlpconcalpngnngquilitk,trongmingnngucchpnhnbitnhtmtmyTuringdngtrnmiinput.Lpngnngnygillpngnngqui-recursivesets.

MyTuringnhlmtmytnhhmsnguyn

MyTuringcngcthcxemnhlmtmytnhcacchmsnguyn(ittpsnguynntpsnguyn).Misnguyntavitdidngstronghnhtphn(unary),tclvimtsi0tavitthnhchui0i(gmichs0).Nuhmfckisi1,i2,...,ikthtavitlnltccsnguynnytrnbngcaTMngncchnhaubi1,nghalinputcdng0i110i21...10ik.NuTMdng(chpnhnhockhngchpnhninput)vibng0mthtanif(i1,i2,...,ik)=m.

Chrngtacngcthtnhchmchcmtis.Nufxcnhvimibisi1,i2,...,ikthtagiflhmquitonb.MthmftnhcbimyTuringtagilhmquibphn.HmquibphntngtnhngnngquilitkbivntnhcbimyTuringnhngcthkhngdngvimtsisno.HmquitonbtngtnhngnngquivTMsdngtrnmiinput.

Thd7.2:ThitkmyTuringtnhtonphptrringTanhnghaphptrring(propersubtraction)nhsau:

f(m,n)=m\n.Input:0m10n.Output:0m\n

m-nnumn0numn.DovyMphithaylittcn+1s1sauthnhB,vsaudchtrithaytrlimtBvthnh0,cuicngtrnbngcnliktquphptrlm-ns0.ii)Khibtumtvnglpmi,Mkhngtmthy0ithnhB,lcnyms0ubithnhB,trnghpnyxyrakhinm.Khi,Mthayttcccs1v0trnbngthnhBchoktquphptrl0(biudingmtonkhiuBtronghnhtphn).

TaxydngTMnhsau:M({q0,q1,...,q6},{0,1},{0,1,B},,q0,B,{q6})Msbtubng0m10ntrnbngvktthcvi0m\ntrnbng.Ccphpchuyntrngthicnhnghanhsau:1)(q0,0)=(q1,B,R)

Mthay0ubngbiB.2)(q1,0)=(q1,0,R)(q1,1)=(q2,1,R)Mdichuynsangphiqua0tm1.3)(q2,1)=(q2,1,R)(q2,0)=(q3,1,L)Mdichuynsangphivtqua1nkhigp0,i0thnh1.4)(q3,0)=(q3,0,L)(q3,1)=(q3,1,L)(q3,B)=(q0,B,R)MdchtritikhigpB,trvtrngthiq0vbtumtvnglpmi.5)(q2,B)=(q4,B,L)(q4,1)=(q4,B,L)(q4,0)=(q4,0,L)(q4,B)=(q6,0,)Nutrngthiq2sangphitm0thaythnh1nhngchgpBthtaxttrnghpktthci)trn:TMivotrngthiq4vchuynsangtriittc1thnhBchotikhigpmtBbntriutin.Bnyscthaylithnh0riMivotrngthiktthcq6vdng.6)(q0,1)=(q5,B,R)(q5,0)=(q5,B,R)(q5,1)=(q5,B,R)(q5,B)=(q6,B,)Nutrngthibtuvnglpmiq0gp1thayvgp0,thkhiccs0bntrixtht,yltrnghpktthcii)nutrn:TMsivotrngthiq5,xophncnlicabngriivotrngthiktthcq6vdng.

ChnghnTMtnhtonphptr2\1(tcinput0010)nhsau:q00010Bq1010B0q110B01q20B0q311Bq3011q3B011Bq0011BBq111BB1q21BB11q2BB1q41BBq41Bq4Bq60

NuchoTMtnhton1\2(tcinput0100):q00100Bq1100B1q200Bq3110q3B110Bq0110BBq510BBBq50BBBBq5BBBBq6

III.CCKTHUTXYDNGMYTURING

VicxydngmyTuringbngcchvit(litk)ttccchmchuyncantrnbngnhpcthlmtcngvicniu.mtycchxydngmyTuring,tacnmtvicngc"cpcao"hn.Phnnystrnhbymtscngctngqut:

3.1.Lutrtrongbiukhin(Storageinthefinitecontrol)

Biukhincthdnglutrmtlnghuhnthngtin.lmnhth,tavitmitrngthinhlmtcpccphnt:mtthnhphniukhin,thnhphnkialugi1khiu.Chrng,ychlmtcchmrngtrnkhinimchkhngthayinhnghamyTuring.

Thd7.3:XtmyTuringMnhnvokhiuutintrnchuinhp(vittrnbchci{0,1}),lutrvobiukhinvkimtrarngkhiunykhngcxuthinvtrnokhctrnchuinahaykhng?.TaxydngTMM(Q,{0,1},{0,1,B},,[q0,B],B,F}),trongtptrngthiQbaogmcctrngthidngmtcpthnhphn{q0,q1}{0,1,B},tclQgmchacctrngthi[q0,0],[q0,1],[q0,B],[q1,0],[q1,1]v[q1,B].Trongmicpnythnhphnthnhtghitrngthiiukhin,thnhphnthhaighinhkhiu.Tanhnghahmchuynnhsau:1)([q0,B],0)=([q1,0],0,R)([q0,B],1)=([q1,1],1,R)Btuttrngthi[q0,B],TMcvlutrkhiuutintrnbngvothnhphnthhaitrongbiukhin.2)([q1,0],1)=([q1,0],1,R)([q1,1],0)=([q1,1],0,R)Nucckhiucctiptheokhnggingvikhiuanglutrthtiptcdichuynsangphi.3)([q1,0],B)=([q1,B],0,)([q1,1],B)=([q1,B],0,)Mivotrngthiktthc[q1,B]khigpBlank.MsivotrngthiktthcnuntinngpkhiuBmkhngckhiunogingvikhiuutinangclutrtrongbiukhin.VynuMtinnBtrngthi[q1,0]hoc[q1,1]thinputcchpnhn.Ngcli,trngthi[q1,0]vgp0hoctrngthi[q1,1]vgp1thMdngvkhngchpnhnchuiinputvkhngchmchuyntrngthixcnhccbcchuynny.

Mtcchtngqut,tacthxembiukhingmkthnhphntrongmtthnhphngitrngthiiukhinvccthnhphnkia(k-1thnhphn)dnglugithngtin.

3.2.Nhiurnhtrnbng(Multipletracks)

Mtcchmrngkhc,tacngcthxembngcaTMcchiathnhkthnhphn,vik>1vhuhn.Mtkhiutrnbngcxtlmtbgmkkhiu,mikhiunmtrnmtrnh.

Thd7.4:ThitkTMnhnvomtsnguynn(vitdngnhphn)vkimtraxemcphilsnguynthaykhng?Tadngbng3rnhnhhnh7.2vinguyntcsau:Sndngnhphncavotrnrnh1vcbaobicpduv$.Nhvycckhiucphpghitrnbngl[,B,B],[0,B,B],[1,B,B]v[$,B,B].Cckhiunytngngvi,0,1,$khixemchnglkhiunhp.KhiuBlankl[B,B,B].Vits2dngnhphntrnrnh2(tc10)Chprnh1vornh3saulyrnh3trrnh2nhiulnnhtcthc(thchinvicchiascnkimtrachostrnrnh2,lyphnd)Xtscnli(sd):-Nuscnlil0thinputkhnglsnguynt(vnchiahtchostrnrnh2)-Nuscnlikhc0thtngstrnrnh2thmmtnv:nustrnrnh2bngstrnrnh1(sn)thinputnlsnguyntvnkhngchiahtchobtksnot2nn-1.Nustrnrnh2nhhnstrnrnh1thtalpliqutrnhtrnvismitrnrnh2.

101111$BBBBBB101BBBB100101BBB

Biukhin

Hnh7.2-TMvibng3rnh

Hnh7.2trnmtmtTMvik=3,kimtrasn=47vittrnrnh1didngnhphn,TMangthchinphpchia47cho5.Ntr2lns5vos47,vyrnh3hinangcs37.

3.3.nhdukhiu(Checkingoffsymbols)

Kthutnhduthngdngnhndinccngnngcnhnghabngcchlplichuichnghnnh{www*};{wcyw,y*,wy}hoc{wwRw*}hocccngnngcdiccchuiconcncsosnh,nh{aibii1}hoc{aibjcki=jhocj=k}.

Tadngmtrnhmrngtrnbnggikhiunhdu.KhiuxuthinkhikhiutrnrnhngaybndinhocangcxtbiTM.

Thd7.5:XtmyTuringM(Q,,,,q0,B,F)nhndinngnngLcdng{wcww(a+b)+}viccthnhphnnhsau:

Q={[q,d]q=q1,...,q9vd=a,bhocB}={q1,...,q9}{a,b,B}(thnhphnthhaicacctrngthidnglutrkhiunhp)={[B,d]d=a,b,c}(khiunhp[B,d]cxcnhbid)={[X,d]X=Bhoc;d=a,b,chocB}.q0=[q1,B]B=[B,B]cnhnghalB,khiuBlank.F={[q9,B]}.Vid=ahocb;e=ahocb,tanhnghahmchuynnhsau:1)([q1,B],[B,d])=([q2,d],[,d],R)Mnhdukhiucduyttrnbng,lutrvobiukhinvdchchuynsangphi.2)([q2,d],[B,e])=([q2,d],[B,e],R)Mtiptcdchphitrncckhiuchanhduvtmc.3)([q2,d],[B,c])=([q3,d],[B,c],R)Khitmthyc,Mivotrngthimthnhphnutinlq3.4)([q3,d],[,e])=([q3,d],[,e],R)Mdchphiquacckhiunhdu.5)([q3,d],[B,d])=([q4,B],[,d],L)Mgpkhiuchanhdu.NukhiuchanhdugingvikhiuanglutrongbiukhinthMnhduridchtri.NukhiukhnggingkhiulutrongbiukhinthMkhngdchchuynnavkhngchpnhninput.Mcngdngnutrngthiq3vgpkhiu[B,B]trckhigpkhiuchanhdu.6)([q4,B],[,d])=([q4,B],[,d],L)Mdchtritrncckhiunhdu.7)([q4,B],[B,c])=([q5,B],[B,c],L)Mgpkhiuc.8)([q5,B],[B,d])=([q6,B],[B,d],L)NukhiungaybntricchacnhduthMtinsangtritmkhiubnphinhtcnhdu.9)([q6,B],[B,d])=([q6,B],[B,d],L)Mtiptcdchchuynsangtri.10)([q6,B],[,d])=([q1,B],[,d],R)Mgpkhiunhdu,ndchphilykhiuchanhdubncnhvtiptcvnglpsosnh.Khi,thnhphnth1litrthnhq1.11)([q5,B],[,d])=([q7,B],[,d],R)Mtrngthi[q5,B]ngaysaukhivtsangtric.Nukhiuxuthinngaytrcccnhduthttccckhiutrccucnhdu.M

phikimtraxembnphiccnckhiunochacnhduhaykhng.NukhngcnkhiunothMchpnhninput.12)([q7,B],[B,c])=([q8,B],[B,c],R)Mdchsangphic.13)([q8,B],[,d])=([q8,B],[,d],R)Mtiptcdchsangphitrncckhiucnhdu.14)([q8,B],[B,B])=([q9,B],[,B],)MtmgpBlank,ndngvchpnhnchui.NuMgpkhiuchacnhdukhithnhphnth1lq8thndngvkhngchpnhn.

3.4.Dchqua(Shiftingover)

MyTuringcthtoramtkhnggiantrngtrnbngbngcchdicckhiukhngtrngtrnbngisangphihuhn.lmiuucphithchindchphi,lpliviclukhiuccvobiukhinvthaythchngbngkhiuccbntri.Nuctrng,TMcngcthchuyndchmtkhikhiusangtrimtcchtngt.

Thd7.6:XydngTMM(Q,,,,q0,B,F)dchtonbcckhiukhngtrngtrnbngsangphi2.TagiskhngcBlankgiacckhiukhngtrng,vvykhiucgpBlankthndchxongcckhiukhctrngtrnbng.TpcctrngthiQchaccphntdng[q,A1,A2]viq=q1hocq2vA1,A2.GiXlmtkhiucbitcchpnhntrnbngcaM,nkhngcsdngvimcchnokhcngoiqutrnhdchchuyntrnbng.Mbtuvitrngthi[q1,B,B]vhmchuynthchinnhsau:ViAi-{B,X}1)([q1,B,B],A1)=([q1,B,A1],X,R)Mlukhiucutinvothnhphnth3trongbiukhin,ghiXvoangcridchsangphi.2)([q1,B,A1],A2)=([q1,A1,A2],X,R)Mchuynkhiuthnhphnth3sangthnhphnth2,lutrkhiuccvothnhphnth3,vitXvoangcridchsangphi.3)([q1,A1,A2],A3)=([q1,A2,A3],A1,R)Btutbcchuynny,Mlnltcvomtkhiu,ghinvothnhphnth3,chuynkhiucghitrcthnhphnth3sangthnhphnth2,chplikhiuthnhphnth2voangcridchsangphi.4)([q1,Ai-2,Ai1],Ai)=([q1,Ai-1,Ai],Ai-2,R)5)([q1,An-1,An],B)=([q2,An,B],An-1,R)ChonkhiMgpB,ndcnt2khiucuianggitrongbnhbtuivotrngthiktthc.6)([q2,An,B],B)=([q2,B,B],An,L)012B

q1q2q3q4(q2,2,R)(q2,0,R)(q3,0,L)(q4,1,L)(q2,1,R)(q3,1,L)(q5,1,R)(q1,2,R)(q4,0,L)(q3,0,L)

Cuicng,ttccckhiukhngtrngtrnbngcchuyndchsangphi2.Lcnscchuynsangmttrngthino(cthquayvtri,trvubng)thchinmtchcnngkhc.

3.5.Chngtrnhcon(Subroutines)

Cnggingnhmtchngtrnhmytnhhini,myTuringcthngvaitrtngtnhbtkmtkiuchngtrnhconnotrongngnnglptrnhbaogmthtcquihoccthams.tngchungltavitmtphnchngtrnhcaTMnhlmtchngtrnhcon.Nscthitkcchamttrngthikhiuvmttrngthitrv,trngthitrvltrngthikhngcphpchuynktipvnsngvaitrltrngthikhiucamtTMkhchoclmttrngthinotrongmtTMkhc.NghalttrngthitrvcaTMnytatiptcccphpchuyncamtTMkhc,skinnycnghanhlgimtchngtrnhconkhchoctiptcthchinchngtrnhcptrn.Lu,cctrngthicachngtrnhconphiphnbitvichngtrnhcptrncan.

Thd7.7:ThitkTMthchinphpnhn2snguynm,n..Input:0m10n.Output:0mnMbtuvi0m10ntrnbngvktthcvi0mntrnbngcbaoquanhbiccBlank.tngchungltthms1sau0m10nrichpkhins0sangphimlnmilnxomtcon0bntrica0m.Tacktqucuicngl10n10mn.Bygitachvicxo10n1tascktqu0mn.PhnchnhcagiithuttrnlthtcCOPYchpns0sangphi.Thtcnycxcnhbngcchmchuynsau:

trngthiq1nhnthy0,Mi0thnh2vivotrngthiq2.trngthiq2,MdchphitiBlankvit0ridchtritrongtrngthiq3.Khitrngthiq3mgp2,Mivotrngthiq1tiptclpliqutrnhtrnchotikhigp1.Trngthiq4cdngbini2thnh0vthtcdngtiq5.lmychngtrnhtaphithmcctrngthibinihnhthikhiuq00m10nthnhB0m-11q10n1.Tcltacnbaquitc:(q0,0)=(q6,B,R)(q6,0)=(q6,0,R)(q6,1)=(q1,1,R)012B

q5q7q8q9q10q11(q7,0,L)

(q9,0,L)(q9,0,L)

(q11,B,R)(q8,1,L)

(q11,B,R)(q12,B,)(q10,B,R)(q0,B,R)

Sau,talithmccphpchuynvtrngthicnthitbinithnhim-ingthikimtrai=mhaykhng(khittccc0ca0mbxo).Nui=mth10n1bxovqutrnhtnhtonsdngtrngthiq12.Cchmchuynbsungnhsau:

IV.CCBINTHCAMYTURING

Sauy,tasxtthmmtsdngkhccamyTuring,chngcvphctpvtinhvihn,songthctchngcngutngngvimhnhTMcbnnhnghatrn.

4.1.MyTuringvibngvhn2chiu

MyTuringvibngvhnhaichiucngtngtnhmhnhgc(TMvhnmtchiubng),chkhclbngcankhngccntrinhmhnhgc,nghaltaxemnhTMcvhnBlankchaiubng.Vthhmcmrngthmbngcchxtthmcctrnghpcbitticntrinhsau:

(a)-BngcaM2Nu(q,X)=(p,Y,L)th qXapBYaNu(q,X)=(p,B,R)thqXapa

NHL7.1:NuLcnhndinbiTMvibngvhnhaichiuthLcngcnhndinbngTMvhnmtchiubng

Chngminh

GiM2lTMvibngvhnhaichiuM2(Q2,2,2,2,q2,B,F2)nhndinL.TaxydngM1lTMvhnmtchiubngnhndinL.BngcaM1c2rnh:-RnhtrnbiudinchobngcaM2phaphiuclckhiu.-Rnhdibiudinchobngphatriuclckhiutheothtngcli.

...A-5A-4A-3A-2A-1A0A1A2A3A4A5...A0A1A2A3A4A5...

A-1A-2A-3A-4A-5...

(b)-BngcaM1

Hnh7.3-BngnhpcaTMM2vM1

M1thchinccphpchuyntngtnhM2nhngkhiM2thchinccphpchuynphaphiucthM1lmvicvirnhtrn,khiM2thchinccphpchuynbntriucthM1lmvicrnhdiMtcchhnhthcM1(Q1,1,1,1,q1,B,F1),trong:Q1ltphpccitngdng[q,U]hoc[q,D],trongqltrngthitrongQ2,cnU,DdngchrngM1anglmvicvirnhtrn(Up)hayrnhdi(Down).CckhiubngcaM1(cckhiuthuc1)cdng[X,Y]trongX,Ythuc2,hnnaYcthllkhiukhngctrong2dngnhdutrinhttrnbngcaM1.1ltphpccitngdng[a,B]tronga2.F1={[q,U],[q,D]qF2}.Hmchuyn1cdngnhsau:1)1(q1,[a,B])=([q,U],[X,],R)nu2(q2,a)=(q,X,R)NuM2chuynsangphitronglnchuynutinthMintrnrnhdi,ghinhUvothnhphnthhaicatrngthivdchphi.ThnhphnthnhtcatrngthilutrngthicaM2.M1inX(khiumM2inra)rnhtrn.2)a2U{B}:1(q1,[a,B])=([q,D],[X,],R)nu2(q2,a)=(q,X,L)NuM2chuynsangtritronglnchuynutinthM1intrnrnhdi,ghinhDvothnhphnthhaicatrngthivdchphi.ThnhphnthnhtcatrngthilutrngthicaM2.M1inX(khiumM2inra)rnhtrn.3)[X,Y]1,viYvA=LhocR:1([q,U],[X,Y])=([p,U],[Z,Y],A)nu2(q,X)=(p,Z,A)M1rnhtrnthchintngtnhM2.4)1([q,D],[X,Y])=([p,D],[X,Z],A)nu2(q,Y)=(p,Z,A)(TrongnuA=LthA=RvnuA=RthA=L)rnhdi,M1lmtngtM2nhngdchchuynuctheohngngcli.5)1 ([q,U],[X,])=1([q,D],[X,])=([p,C],[Y,],R]nu1(q,X)=(p,Y,A)(TrongC=UnuA=R,C=DnuA=L)M1lmtngtM2khiu,cngvictiptheocaM1thchinrnhtrnhaydiphthucvohngchuynuccaM2.4.2.MyTuringvinhiubngvhnhaichiu

XtmyTuringcmtbiukhinckucvkbngvhnhaichiu.MiphpchuyncamyTuring,phthucvotrngthicabiukhinvktcctimiuc,ncththchinccbcsau:1)Chuyntrngthi.2)Inkhiumitimiucthaythkhiuvac.3)uccthginguynvtrhocdchtrihocdchphi1mtcchclpnhau.Khiuinputxuthintrnbngthnht,ccbngkhcchtonBlank.MtmyTuringnhvygilmyTuringvinhiubngvhnhaichiu.

NHL7.2:NuLcnhndngbimyTuringnhiubngvhnhaichiuthncngcnhndngbimyTuringmtbngvhnhaichiu.

ChngminhGisLcnhndinbimyTuringkbngvhnhaichiuM1,taxydngmyTuringM2mtbngvi2krnh,2rnhsmphngmtbngcaM1bngcch:mtrnhgikhiutrnbngcaM1mtrnhkiagikhiunhduvtruc.MiphpchuyncaM1cmphngbngM2nhsau:M2xutphttivtrtrinhtchakhiunhduuc,M2qutsangphi,khiquamicnhduvtrucnghinhkhiutivtrnyvmsvtrucgp.KhiM2isangphivmkucthncthngtinxcnhphpchuyntngtnhM1,M2liquttphisangtri,khiingangquamicnhduucninkhiuthaythkhiutiuc(nhM1)chuynvtrnhduuc(nhM1chuynuccan).CuicngM2itrngthitrongbiukhincanthnhtrngthimM1chuynti.

Biukhin

...A1A2......Am...

...B1B2...Bi...Bm...

...C1C2......Cm...

uc1XBng1A1A2......Amuc2XBng2B1B2...Bi...Bmuc3X

Bng3C1C2......Cm

Hnh7.4-MyTuring1bngmphngmyTuring3bng

Thd7..8:Ngnng{www(0+1)*}cthcchpnhnbimtmyTuringc2bngbngcchnhsau:utin,nchplichuinhpbngthnhtlnbngthhai.Sau,trnbngthnhtucchuyndntcntrisangcnphicachui,trongkhitrnbngthhaiuclichuynngclitcnphisangcntricachui.Chuicchpnhnnusutqutrnh,cckhiucctrn2bnglunlunngnht.Nhtabit,onnhnngnngnybngTMmtbngthucphidchchuyntiluirtnhiulnsosnhhainacachuinhptchaiubng.Nhvy,sbcdchchuyncanxpxbngbnhphngdichuinhp,trongkhiTMvi2bngnhpchcnthchinsbcchuyntlvidicachuinhp.

4.3.MyTuringkhngnnh

MyTuringkhngnnhcmhnhtngtnhmhnhgcnhngimkhcbitchltrongmilnchuyn,myTuringcthlachnmttrongmtshuhncctrngthiktip,lachnhngchuynuc,vlachnkhiuinratrnbngthaythkhiuvacc.MyTuringtrongmhnhgccngilmyTuringnnh.

NHL7.3:NuLcchpnhnbimyTuringkhngnnhM1thLcngcchpnhnbimtmyTuringnnhM2no.ChngminhVimttrngthivmtkhiubngbtkcaM1,cmtshuhnccphpchuynntrngthiktip,tacthnhscctrngthinyl1,2,...Girlslnnhtcascccchlachnvimtcptrngthivkkiubtk.Tac,midyccphpchuyntrngthiucchrabngmtdychaccst1nr.Ngclimtdyhuhnbtkgmccst1nrcthbiudinchomtdyccphpchuynnocngcthkhng.M2cthitkcbabng:Bng1chainputBng2sinhradychaccst1nrmtcchtngtheotnhchtdyngnsinhratrc,nuccdycngdithnsinhratheothtlitks(numericalorder).Bng3dngchpinputtrnbng1voxl:vimissinhratrnbng2,M2chpinputtrnbng1vobng3vthchinccphpchuyntheodystrnbng2.Nucmtchuinotrnbng2lmchoM2ivotrngthiktthcthM2dngvchpnhninput.NukhngcchuinonhvythM2khngchpnhninput.TtnhinM2chpnhninputkhivchkhiM1chpnhninput.

4.4.MyTuringnhiuchiu

MyTuringnhiuchiugmmtbiukhinhuhn,nhngbngcanlmtmngkchiuvhnvc2kpha.Vimtskno,phthucvotrngthivmtkhiucc,mythayitrngthi,inmtkhiumitiangcvdchchuynuctheomttrong2kpha.

NHL7.4:NuLcchpnhnbimyTuringkchiuM1thLcngcchpnhnbimtmyTuringmtchiuM2no.

4.5.MyTuringnhiuuc

MyTuringnhiuucckuccnhst1nkviklmtshuhnno,nhngchcmtbnginput.MtphpchuyncamyTuringphthucvotrngthivccktccbimiubng.Miudchchuynmtcchclpsangtri,sangphihocngyn.

NHL7.5:NuLcchpnhnbimyTuringkucM1thLcngcchpnhnbimtmyTuringmtucM2no.