Maszyna Turinga

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

j

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

Wyszukiwarka

Podobne podstrony:
ćw1 Maszyna turinga
Automaty?strakcyjne maszyna Turinga
Maszyna Turinga
MASZYNA TURINGA A UMYSŁ LUDZKI
maszyna Turinga id 281783 Nieznany
3 Maszyna Turinga
Kubity i kot Schrödingera Od maszyny Turinga do komputerów kwantowych
złożoność obliczeniowa algorytmu Maszyny Turinga
3 maszyna turinga
maszyna Turinga przyklady id 28 Nieznany
ćw1 Maszyna turinga
Maszyna Turinga,v1 1

więcej podobnych podstron