Spraw z Turinga, Biotechnologia, Fizyka, Labolatorium


Wydział

Techniki

Uniwersytet Śląski

Data

21-01-1999

Zakład Systemów Informatycznych

Zadania z maszyny Turing'a.

Sprawozdanie numer 3.

Paweł Kopaczek

Ocena ................

Piotr Kopaczek

Podpis ...............

Zestaw 4.

Szczegółowe polecenia do wszystkich zadań:

Zad.1.

Dla alfabetu: Σ = { a, b, c } skonstruować tablicę przejść maszyny Turinga, która dokonuje transformacji słowa u na v, gdzie v otrzymujemy z u poprzez usunięcie co drugiego symbolu ( poczynając od drugiego ).

Przykłady:

WE: baccacbb WY: acab

Zad.2.

Skonstruować tablicę przejść maszyny Turinga, która dokonuje transformacji liczby zapisanej w kodzie ZU2 na zapis Znak-Moduł.

Zad.3.

Skonstruować tablice przejść maszyny Turinga, która dokonuje przesunięcia ułamka binarnego zapisanego w kodzie ZU2 w lewo o zadaną liczbę pozycji.

Przykłady:

WE: 0.1101 ← 2 WY: 0.0100

WE: 1.00010 ← 1 WY: 1.00100

Zadanie.1.

0x08 graphic
Q

Σ

q0

q1

q2

q3

q4

q5

q6

q7

q8

q9

q10

q11

q12

q13

q14

q14

- -

q2

∅ P

q3

a L

q4

∅L

q13

a P

q6

∅ P

q7

b L

q8

∅L

q13

b P

q1

∅ P

q11

c L

q1

∅L

q13

c P

q14

- -

q14

- -

A

q1

∅ P

q1

a P

q2

a P

q3

a L

q4

a L

q5

a P

q6

a P

q7

a L

q8

a L

q9

a P

q10

a P

Q11

a L

q12

a L

q0

a P

q14

- -

B

q5

∅ P

q1

b P

q2

b P

q3

b L

q4

b L

q5

b P

q6

b P

q7

b L

q8

b L

q9

b P

q10

b P

Q11

b L

q12

b L

q0

a P

q14

- -

C

q9

∅ P

q1

c P

q2

c P

q3

c L

q4

c L

q5

c P

q6

c P

q7

c L

q8

c L

q9

c P

q10

c P

Q11

c L

q12

c L

q0

c P

q14

- -

Mt = < Q, ∑, F, , qo, δ>

Q = { q0 - q14 },

∑ = { a,b,c},

 = { ∅ } ∪ ∑,

qo - stan początkowy,

F = { q14 },

δ : Q x F →Q x F x { L, P, -}

Kopiujemy --> dan[Author:PK] ą

Przykład.

b a c b a c

Zaczynamy od 1 literki b, przesuwamy się nad literkę a. Kasujemy literkę a i przechodzimy w prawo omijając słowo pierwsze, separator aż do napotkania znaku ∅. Wpisujemy literkę a i wracamy omijając drugie słowo, separator i słowo pierwsze aż do napotkania znaku ∅ gdzie odtwarzamy literkę a, przesuwamy się w prawo omijając literkę c.

Kasujemy literkę b i przechodzimy w prawo omijając słowo pierwsze, separator, słowo drugie aż do napotkania znaku ∅. Wpisujemy literkę b i wracamy omijając drugie słowo, separator i słowo pierwsze aż do napotkania znaku ∅ gdzie odtwarzamy literkę a, przesuwamy się w prawo omijając literkę a.

Kasujemy literkę c i przechodzimy w prawo omijając separator, drugie słowo aż do napotkania znaku ∅. Wpisujemy literkę a i wracamy omijając drugie słowo, separator i słowo pierwsze aż do napotkania znaku ∅ gdzie odtwarzamy literkę c omijając literkę c.

Zadanie 2.

0x08 graphic
Q

q0

q1

q2

q3

q4

q0

- -

q2

L ∅

q2

- -

q3

- -

q4

_- -

0

q4

- -

q1

P 0

q2

L 0

q3

L 1

q4

- -

1

q1

P 1

q1

P 1

q3

L 1

q3

L 0

q4

- -

q0

- -

q4

P •

q4

- -

q4

- -

q4

- -

Mt = < Q, ∑, F, , qo, δ>

Q = { qo - q4 },

∑ = { 0, 1},

 = { ∅ } ∪ ∑,

qo - stan początkowy,

F = { q4 },

δ : Q x F →Q x F x { L, P, -}

Znajdujemy się nad bitem znakowym, jeśli jest 0 to robimy skok do stanu q4. Jeśli nie przesuwamy się na sam koniec wyrazu ( w q1 aż do napotkania znaku pustego i cofnięcie w lewo). Skok do q2. Jeśli wystąpi 0 lub 1 to przechodzimy w prawo, aż napotkamy 1. Po wykryciu 1 przechodzimy do q3 gdzie negujemy wartości bitów. Po napotkaniu kropki kończymy program.

Przykład:

a)1.011010

Odczytujemy 1 na bicie znakowym i idziemy w prawo aż dojdziemy na sam koniec słowa.

0 - pozostawiamy 0 i przesuwamy się w lewo.

1 - pozostawiamy 1 i przesuwamy się w lewo.

0 - zmieniamy na 1 i przesuwamy się w lewo.

1 - zmieniamy na 0 i przesuwamy się w lewo.

1 - zmieniamy na 0 i przesuwamy się w lewo.

0 - zmieniamy na 1 i przesuwamy się w lewo.

Napotykamy kropkę kończącą wykonywanie zadania.

a)0.101101

Odczytujemy 0 na bicie znakowym, kończymy pracę.

Zadanie 3.

0x08 graphic
Q

q0

q1

q2

q3

q4

q4

- -

q4

- -

q4

- -

q4

- -

q4

- -

0

q0

P 0

q4

P 0

q2

L 0

q2

L 1

q4

- -

1

q0

P 1

q2

L 0

q3

L 0

q3

L 1

q4

- -

2

q0

- -

q2

L 1

q1

- -

q1

- -

q4

- -

q1

P

q1

- -

q2

L ←

q1

- -

q4

- -

q0

P .

q1

- -

q2

- -

q0

P .

q4

- -

Mt = < Q, ∑, F, , qo, δ>

Q = { qo - q4 },

∑ = { 0, 1, 2, ←, . },

 = { ∅ } ∪ ∑,

qo - stan początkowy,

F = { q4 },

δ : Q x F →Q x F x { L, P, -}

  1. W qo przechodzimy za całe słowo i znak „←” nad cyfrę określającą przesunięcie.

  2. Sprawdzamy wartość bieżącej cyfry, jeśli równa się 0 kończymy program, jeśli nie, zmniejszam wartość o 1.

  3. Przechodzimy w lewo za znak „←”. Na pierwszej napotkanej cyfrze wpisujemy wartość 0, jeśli zapisaliśmy to na 1 to na następnej cyfrze wpiszemy 1 (skok do q3), jeśli zapisaliśmy to na 0 to na następnej cyfrze wpisze 0 ( skok do q2).

  4. Jeśli napotkamy „•” skaczemy do q0 i powtarzamy cały algorytm od początku.

Przykład:

Przechodzimy za 1,słowo za „←”, czytamy 1, wpisujemy 0.

Przesuwamy się w lewo za „←”.

Jesteśmy nad 0, wpisujemy 0, idziemy w lewo.

Jesteśmy nad 1, wpisujemy 0, idziemy w lewo.

Jesteśmy nad 0, wpisujemy 1, idziemy w lewo.

Jesteśmy nad 0, wpisujemy 0, idziemy w lewo.

Jesteśmy nad 0, wpisujemy 0, idziemy w lewo.

Jesteśmy nad „•”, idziemy w prawo za „←”, czytamy 0, kończymy program.

2

1



Wyszukiwarka

Podobne podstrony:
LABORKA2, Biotechnologia, Fizyka, Labolatorium
LEPKOŚĆmm, Biotechnologia, Fizyka, Labolatorium
Fizyka - Ćw 60, Biotechnologia, Fizyka, Labolatorium
Fizyka - sprawozdanie 49, Biotechnologia, Fizyka, Labolatorium
neonówka, Biotechnologia, Fizyka, Labolatorium
Elektronika, Biotechnologia, Fizyka, Labolatorium
szeregowy rezonans napiŕciowy, Biotechnologia, Fizyka, Labolatorium
LAB110, Biotechnologia, Fizyka, Labolatorium
ĆWICZENIE NR 2A, Biotechnologia, Fizyka, Labolatorium
2a, Biotechnologia, Fizyka, Labolatorium
Fizyka - sprawozdanie 50, Biotechnologia, Fizyka, Labolatorium
Pojęcia w formacie ściągi, Biotechnologia, Fizyka, Labolatorium
drg, Biotechnologia, Fizyka, Labolatorium

więcej podobnych podstron