background image

Maszyna Turinga

background image

W roku 1937 angielski matematyk, 

Alan Turing

,pracuj c nad koncepcj

obliczalno ci funkcji matematycznych opisuje bardzo prost maszyn
logiczn , która dzi nosi nazw Maszyny Turinga.
.

Pomimo swej prostoty Maszyna Turinga 
posiada obecnie olbrzymie
znaczenie teoretyczne, poniewa
wszystkie współczesne komputery daj
si do niej sprowadzi , zatem dany 

problem jest rozwi zalny na komputerze,

je li da si zdefiniowa rozwi zuj c
go maszyn Turinga

background image

Ta ma

Niesko czona 

ta ma 

jest 

odpowiednikiem 

współczesnej 

pami ci  komputera

.  Ta ma  dzieli  si

na komórki, w których umieszczone zostały symbole, 

czyli  po  prostu  znaki  przetwarzane  przez  maszyn

Turinga.  Symbole  te  stanowi odpowiednik  danych 

wej ciowych.  Maszyna  Turinga odczytuje  te  dane  z 

kolejnych  komórek  i  przetwarza  na  inne  symbole, 

czyli  dane  wyj ciowe.  Wyniki  oblicze równie s

zapisywane w komórkach ta my.

background image

Głowica zapisuj co-odczytuj ca

Aby  przetwarza

dane,  maszyna  Turinga musi  potrafi

je 

odczytywa

z  ta my  i  zapisywa

na  ta m .  Do  tego  celu 

przeznaczona  jest  wła nie  głowica  zapisuj co-odczytuj ca,  która 

odpowiada 

funkcjonalnie 

urz dzeniom 

wej cia/wyj cia

współczesnych komputerów lub 

układom odczytu i zapisu pami ci

.

Głowica zawsze znajduje si nad jedn z komórek ta my. Mo e 

ona odczytywa zawarto

tej komórki oraz zapisywa do niej inny 

symbol - na tej zasadzie odbywa si przetwarzanie danych - z 

jednych symboli otrzymujemy inne. Oprócz odczytywania i 

zapisywania symboli w komórkach głowica wykonuje ruchy w 

prawo i w lewo do s siednich komórek na ta mie. W ten sposób 
mo e si ona przemie ci do dowolnie wybranej komórki ta my.

background image

Układ sterowania

Przetwarzaniem  informacji  zarz dza  układ  sterowania 

głowic . Jego współczesnym odpowiednikiem jest 

procesor 

komputera

.  Układ  ten  odczytuje  za  pomoc

głowicy 

symbole  z  komórek  ta my  oraz  przesyła  do  głowicy 

symbole  do  zapisu  w  komórkach.  Dodatkowo  nakazuje  on 

głowicy przemie ci si do s siedniej komórki w lewo lub w 

prawo.

background image

Zbiór symboli S = {s

i

- zbiór symboli, które b d przetwarzane przez maszyn

Turinga, nazwany alfabetem S

Stan maszyny - okre la jednoznacznie stan głowicy q

i odczytany przez ni

symbol alfabetu s

i

S

ij

= (s

i

,q

j

)

Ruch maszyny - opisuje akcj , jak ma wykona MT. Ruch maszyny jest reakcj

maszyny na stan maszyny S

ij

. Opisywany jest jako trójka:

R

ij

= (s

k

, q

l

, p

m

),

Gdzie:
s

k

– symbol zapisany przez głowic ,

q

l

– nowy stan wewn trzny głowicy,

p

m

–przesuni cie głowicy {P, N, L},

background image

q

1

q

2

...

q

j

...

q

m

s

1

s

2

...

...

s

n

Ka dy ruch R

ij

jest zwi zany jednoznacznie ze stanem maszyny S

ij

.

Zatem: R

ij

= T (S

ij

), gdzie T – to tablica charakterystyczna maszyny Turinga

R

ij

= (s

k

, q

l

, p

m

)

Je li b d c w stanie q

j

głowica 

odczytała symbol s

i

, to nale y 

zapisa  na ta mie symbol s

k

zmieni  stan wewn trzny głowicy 

na q

l

i dokona  przesuni cia 

głowicy p

m

,

Twierdzenie:

Ka dy algorytm mo e by  realizowany 
przez odpowiednio zaprogramowan  (za 

pomoc  tablicy charakterystycznej) 
Maszyn  Turinga

background image

Zadanie 1

Maszyna Turinga odejmuj ca 1 od liczby binarnej

Liczba parzysta

Liczba nieparzysta

10

100

1010

1

-

1

-1

10011

10100

Negacja wszystkich cyfr od prawej a do pierwszej jedynki wł cznie

Uwagi:

Alfabet składa si ze znaków: {

φ, 0, 1}.

Głowica na pocz tku umieszczona jest z prawej strony ta my.

Po wykonaniu przetwarzania głowica pozostaje po lewej stronie liczby 

binarnej.

background image

q

0

q

1

q

2

q

3

φ

φq

0

L

φq

3

L

φq

3

L

φq

3

N

0

1q

1

L

1q

1

L

0q

2

L

0q

3

N

1

0q

2

L

0q

2

L

1q

2

L

1q

3

N

Stany wewn trzne głowicy
q

0

– stan pocz tkowy, szukanie liczby,

q

1

– stan inwersji,

q

2

– stan przepisywania,

Q

3

– stan ko cowy.

Pocz tkowy napis i poło enie głowicy

φ

1

0

0

0

1

0

0

φ

φ

Stan głowicy

Napis na ta mie

q

0

φ

φφφφφ

q

0

φ

φφφφφ

q

0

φ

0φφ

q

1

φ

01φφ

q

1

φ

111φφ

q

2

φ

0011φφ

q

2

φ 00011φφ

q

2

φ 000011φφ

q

2

φ 000011φφ

q

2

φφφφ

φφ

q

3

φφφφ

φφ

background image

Zaprojektowa maszyn Turinga eliminuj c nieznacz ce zera liczb ułamkowych 

w zapisz trójkowym (zarówno na pocz tku jak i na ko cu liczby).

Mo liwe symbole:

, 0, 1, 2, .

Stan pocz tkowy głowicy:

z lewej strony liczby

Zało enia:

Liczby s tylko w poprawnej postaci:   <ci g cyfr>.<ci g cyfr>

Pocz tkowy napis i poło enie głowicy

φ

φ

0

0

1

.

0

1

0

0

0

φ

φ

Ko cowy napis i poło enie głowicy

φ

φ

φ

φ

1

.

0

1

φ

φ

φ

φ

φ

background image

q

0

q

1

q

2

q

3

q

4

φ

φq

0

P

φq

2

L

φq

4

N

φq

3

N

φq

4

N

0

φq

0

P

0q

1

P

φq

2

L

0q

3

N

1

1q

1

P

1q

1

P

1q

3

N

1q

3

N

2

2q

1

P

2q

1

P

2q

3

N

2q

3

N

.

.q

1

P

.q

1

P

.q

3

N

.q

3

N

Stany wewn trzne głowicy
q

0

– przesuwanie w prawo i pomijanie 

zer pocz tkowych,

q

1

– przej cie na prawy koniec liczby,

q

2

– eliminowanie zer ko cowych,

q

3

– poprawny stan ko cowy,

q

4

– bł dny stan ko cowy.

background image

Ogólny opis zło enia dwóch maszyn Turinga

Dane maszyny: T1, T2
Alfabet wspólny:

S = {s

0

, s

1

, .. , s

l

}

Zbiory stanów wewn trznych:

Q

1

= {q

01

, q

11

, q

21

, .. , q

n1

}

Q

2

= {q

02

, q

12

, q

22

, .. , q

m2

}

Zło enie  (iloczyn)  maszyn  Turinga jest  maszyn Turinga o  tym  samym 

alfabecie oraz zbiorze stanów wewn trznych Q:

Q = {q

0

, q

1

, q

2

, .. , q

m+n

},

w  którym  kolejne  stany  odpowiadaj stanom  maszyn  T1,  T2  w  nast puj cy 

sposób:

background image

q

0

≡ q

01

q

1

≡ q

11

q

2

≡ q

21

...

q

n-1

≡ q

n-1,1

q

n

≡ q

n1

≡ q

02

q

n+1

≡ q

12

q

n+2

≡ q

22

...

q

n+m

≡ q

m,2

Zakłada si ,  e q

n1

jest stanem poprawnego zako czenia pracy maszyny T1 i pocz tkowym 

stanem dla maszyny T2. 

background image

Zadanie 

Zaprojektowa maszyn Turinga dodaj c 1 do liczby binarnej, je li jest ona ujemna albo 

odejmuj ca 1, je li liczba jest dodatnia.

Uwagi:

·

Symbole alfabetu: {

φ, 0, 1}.

·

Pierwszy znak z lewej strony napisu jest bitem znaku.

·

Głowica na pocz tku znajduje si z lewej strony liczby binarnej,

Po wykonaniu przetwarzania głowica z prawej stronie liczby.

T1 –

maszyna testuj ca znak liczby i szukaj ca jej prawego ko ca (stan pocz tkowy 

głowica z lewej)

T2 –

maszyna dodaj ca 1 (stan pocz tkowy głowica z prawej)

T3 –

maszyna odejmuj ca 1 (stan pocz tkowy głowica z prawej)

background image

Maszyna T1

maszyna testuj ca znak liczby i szukaj ca jej prawego ko ca 

Stany wewn trzne głowicy
q

0

– stan pocz tkowy,

q

1

– bit znaku ‘0’,

q

2

– bit znaku ‘1’,

q

3

– liczba ujemna,

q

4

– liczba dodatnia.

Tablica charakterystyczna

q

0

q

1

q

2

q

3

q

4

φφφφ

φq

0

P

φq

4

N

φq

3

N

q

3

N

q

4

N

0

0q

1

P

0q

1

P

0q

2

P

q

3

N

q

4

N

1

1q

2

P

1q

1

P

1q

2

P

q

3

N

q

4

N

q

s

background image

Maszyna T2 - dodaj ca 1

(głowica z prawej)

1010

0

00

011

10101

00100

+ 1

+ 1

Stany wewn trzne głowicy

q

0

– stan pocz tkowy, głowica z prawej,

q

1

– inwersja,

q

2

– przepisywanie,

q

3

– stan ko cowy.

S

Q

q

0

q

1

q

2

q

3

φφφφ

φq

0

L

φq

3

N

φq

3

N

q

3

N

0

1q

2

L

1q

2

L

0q

2

L

q

3

N

1

0q

1

L

0q

1

L

1q

2

L

q

3

N

Tablica charakterystyczna

background image

T3 – maszyna odejmuj ca 1 (głowica z prawej)

10

100

0001

1

10011

00010

– 1

– 1

Stany wewn trzne głowicy
q

0

– stan pocz tkowy, głowica z prawej,

q

1

– inwersja,

q

2

– przepisywanie,

q

3

– stan ko cowy.

q

0

q

1

q

2

q

3

φφφφ

φq

0

L

φq

3

N

φq

3

N

q

3

N

0

1q

1

L

1q

1

L

0q

2

L

q

3

N

1

0q

2

L

0q

2

L

1q

2

L

q

3

N

s

q

Tablica charakterystyczna

background image

T1

q

0

q

1

q

2

q

3

q

4

T2

q

0

q

1

q

2

q

3

T3

q

0

q

1

q

2

q

3

T

q

0

q

1

q

2

q

3

q

4

q

5

q

6

q

7

q

8

q

9

φφφφ

φq

0

P

φq

6

N

φq

3

N

φq

3

L

φq

9

N

φq

9

N

φq

6

L

φq

9

N

φq

9

N

φq

9

N

0

0q

1

P

0q

1

P

0q

2

P

1q

5

L

1q

5

L

0q

5

L

1q

7

L

1q

7

L

0q

8

L

φq

9

N

1

1q

2

P

1q

1

P

1q

2

P

0q

4

L

0q

4

L

1q

5

L

0q

8

L

0q

8

L

1q

8

L

φq

9

N

background image