Def.: RAM-gep futasanak logaritmikus koltsege
Minden lefutott program sorra:
peldaul:
X[4] = X[4] + 1
Q.: Miert jo nekunk ez a definicio?
A.: Mert igy mar osszemerheto lesz a RAM-gep lepesszama a Turing-gep lepesszamaval.
Tetel: Minden RAM-gephez van olyan Turing-gep, ami ugyanazt szamolja ki, tehat ugyanazokra az inputokra all meg es uganaz a kimenet.
Ha a RAM-gepnek egy konkret inputon a futasanak a logaritmikus koltesege , akkor a Turing-gep idoben fut erre az inputra.
Biz.: (vazlatosan)
Fo nehezseg egy RAM-gepnel az adattar irasa es olvasasa.
Adattar szalagon valo szimulalasa.
Ez a szalag kezdetben ures.
Ha a RAM-gep irna X[i] := j
akkor a szalagra irja a kovetkezot *i**j
ahol i
es j
binarisan van irva.
Ezen a szalagon sosme fogunk torolni
Kiolvasas (i
indexet):
Jobbrol → balra olvas es ha **
utan az i
all, akkor a tole jobbra levo szamot kiolvassuk
Koltsege a kiolvassasnak
Tegyuk fel, hogy minden programsorhoz gyartunk egy Turing-gepet az adattarszalag segitsegevel. Ezeket osszeillesztjuk.
Egy lepes koltsege
Osszesen a futasido:
Plinomialis Church-Turing tezis
Minden ertelmes szamitasi modell ugyanazt engedi kiszamitani es a szamitasi koltsegek polinomialisan viszonyulnak egymashoz.
Megj.: Ez egy hit, semmi konkret.
Kiszamithatosag elmelet
Def.: A Turing-gep akkor ismeri fel az nyelvet, ha:
- minden szora megall.
- Ha akkor elfogado allapotban (
1
) all meg. - Ha akkor elutasito allapotban (
0
) all meg.
Def.: nyelv indikator fuggvenye a kovetkezo keppen definialt:
Def.: fuggveny rekurziv, ha letezik olyan Turing-gep amire minden inputon megall es a kimenete
Def.: nyelv rekurziv, ha rekurziv fuggveny.
Allitas: Minden veges nyelv rekurziv.
Biz.: Legyen a leghosszabb szo. Keszitsunk melysegu binaris fat (egy szofat). Ekkor minden csucs egy szonak felel meg.
Egy csucs elfogado allapot a neki megfelelo szora
Turing gep sorban beolvas, lep
Mikozben a Turing-gep olvassa az inputot mi lepdelunk a fan a betuk menten a kovetkezo szoba.
Allitas: Majdnen minden nyelv nem rekurziv.
Biz.:
Nyelvek szamossaga:
Def.: rekurziv felsorolhato, ha vagy rekurziv fuggveny, melyre .
Tetel: rekurzivan felsorolhato Turing-gep, mely pontosan az szavain all meg.
Biz.:
:
Vegyunk egy Turing-gepet, mely felsorolja az elemet.
Ha a felsorolasban megjelenik az input akkor megall.
Ha akkor sosa all meg.
:
Ha akkor trivialis es nem foglalkozunk tobbet vele.
Ha akkor legyen egy felsorolasa a szavainak
Legyen olyan Turing-gep, mely ponotsan szavain all meg.
Futtatjuk a Turing-gepet a inputon ideig.
- Ha ennyi ido alat megall, akkor az output
- Ha ennyi ido alatt nem all meg, akkor az output .
Ez a Turing-gep kiszamolja az fuggvenyt. Vilagos, hogy
Tehat igy minden -re:
-re futtatjuk -t:
-szer
-szer
-szer
Tetszolegesen hosszan
ido ido alatt megall
Allitas: Majdnem minden nyelv nem rekurzivan felsorolhato.
Biz.: Ugyanaz mint a hasonlo allitas csak rekurziv nyelvre.
Allitas: rekurziv rekurziv.
Biz.: Figyeljuk az indikator fugvenyeit a fenti dolgoknak es trivialisan kijon.
Allitas: rekurzivan felsorolhato rekurzivan felsorolhato.
Biz.: es Turing-gepek melyek pont es nyevet ismerik fel.
megall, ha vagy megall.
megall, ha es megall
Megj.: Vigyazni kell mert nem mindig rekurziv felsorolhato ha es rekurziv felsorolhato.
Def.: Megallasi problema (Halting-problem)
programu Turing-gep megall a inputon.
Allitas: Nem rekurziv nyelv a fenti.