• Nie Znaleziono Wyników

MASZYNY TURINGA I FUNKCJE REKURENCYJNE 6.1

N/A
N/A
Protected

Academic year: 2021

Share "MASZYNY TURINGA I FUNKCJE REKURENCYJNE 6.1"

Copied!
3
0
0

Pełen tekst

(1)

Logika A

6. MASZYNY TURINGA I FUNKCJE REKURENCYJNE

6.1. Maszyna Turinga składa si¸e z taśmy (bez końców) i głowicy czytaj¸acej. Symbole, wpisywane w polach taśmy, tworz¸a alfabet zewn¸etrzny S maszyny Turinga. B¸edziemy zakładać, że S = {0, 1}, gdzie 0 odpowiada polu pustemu. Alfabet wewn¸etrzny maszyny Q = {q1, ..., qn, q0} jest zbiorem stanów (oznaczanych literami qi) głowicy czytaj¸acej. Zawsze zakładamy że q1 jest stanem pocz¸atkowym, a q0 jest stanem końcowym (STOP).

Każdy krok głowicy składa si¸e z nast¸epuj¸acych działań (w zależności od symbolu s w polu i od stanu q głowicy): (1) wpisywanie (lub niewpisywanie) symbolu ze zbioru S w polu, na którym głowica si¸e znajduje; (2) przesuni¸ecie (lub nieprzesuni¸ecie) o jedno pole w prawo lub w lewo; (3) zmiana stanu.

Schematycznie opis kroku oznaczamy przez:

sq → s0Rq0, gdzie R ∈ {N, P, L},

i nazywamy poleceniem maszyny Turinga. Niepusty zbiór poleceń nazywamy programem maszyny Turinga.

6.2. Zadanie. Znaleźć programy realizuj¸ace nast¸epuj¸ace przekształcenia taśmy.

A : 00

q1

x

z}|{1...100 → 00

x+1

z }| { 1...11

q0

0,

B : 000000000

q1

x

z}|{1...10...0

y

z}|{1...10 → 00

q0

x

z}|{1...10

y

z}|{1...100,

C : 00

q1

100 → 00101

q0

00,

D : 00000010...0

q1

0000 → 01

q0

0...0,

D0 : 010...01...1

q1

00 → 01

q0

0...01...100,

E : 00

q1

x

z}|{1...10 →







 00q2

x

z}|{1...10 : x 6= 0

00q3

x

z}|{1...10 : x = 0 ,

1

(2)

F : 0 ∗

q1

1 → 0 ∗

q0

0,

J : 00000000

q1

10...01...10 → 010...01...1

q0

0,

H : 00

q1

10...01 → 011...1

q0

01,

I : 000000

q1

y1

z}|{1...10

y2

z}|{1...10...0

ym

z}|{1...10 → 00...0

ym

z }| { 1...1

q0

0,

K : 00

q1

x

z}|{1...10 → 00

q0

x

z}|{1...10

x

z}|{1...10.

Funkcja f (x1, ..., xn) ze zbioru n-elementowych ci¸agów liczb naturalnych ωn(przez ω oznaczamy zbiór liczb naturalnych) w zbiór ω nazywa si¸e funkcj¸a obliczaln¸a, jesli istnieje program maszyny Turinga taki, że głowica zaczynaj¸ac

wykonanie programu w sytuacji

0000000

q1

l1

z}|{1...10

l2

z}|{1...10...0

ln

z}|{1...1000000000000000000000

kończy wykonanie w sytuacji

000000000000000

qo

f (l1,...,ln)

z}|{1...1 000000000000000000000000000000000000000

6.3. Zadanie. Znaleźć programy obliczaj¸ace nast¸epuj¸ace funkcje:

s(x): y = x + 1, O(x): y = 0;

I23(x1, x2, x3): y = x2;

y = 1 : x ∈ {0, 2, ...}

0 : x ∈ {1, 3, ...} .

6.4. Funkcje rekurencyjne. Na zbiorze wszystkich funkcji cz¸eściowych określonych na ω wprowadzamy nast¸epuj¸ace operatory.

2

(3)

Operator złożenia g = S(fm, f1n, ..., fmn) jest określony przez równość g(x1, ..., xn) = f (f1(x1, ..., xn), ..., fm(x1, ..., xn)),

gdzie Dom(g) składa si¸e z takich ci¸agów l1, ..., ln, że wartości kj = fj(l1, ..., ln) s¸a określone i f jest określona na k1, ..., km.

Operator rekursji perwotnej gn+1 = P R(fn+2, hn) jest określony przez:

g(x1, ..., xn, 0) = h(x1, ..., xn), ...

g(x1, ..., xn, i + 1) = f (x1, ..., xn, i, g(x1, ..., xn, i)), ...,

gdzie Dom(g) składa si¸e z takich ci¸agów l1, ..., ln, l, że wartości k0 = h(l1, ..., ln) i kj = f (l1, ..., ln, j − 1, kj−1), 1 ≤ j ≤ l, s¸a określone.

µ-Operator gn = µ(fn+1) jest określony przez:

g(x1, ..., xn) = min{y : f (x1, ..., xn, y) = 0},

gdzie Dom(g) składa si¸e z takich ci¸agów l1, ..., ln, że wartości kj = f (l1, ..., ln, j), 0 ≤ j, s¸a określone do pewnego j spełniaj¸acego kj = 0.

Funkcja f jest rekurencyjna jeśli jest zbudowana z funkcji O(x), s(x), Imn(x1, ..., xn) = xm, 1 ≤ m ≤ n ∈ ω, przez skończon¸a ilość stosowań opera- torów S, P R i µ.

6.5. Zadanie. Pokazać, że nast¸epuj¸ace funkcje s¸a rekurencyjne:

x1+ x2, x1· x2, 2x, [x/2];

sg(x) = 0 : x = 0 1 : x 6= 0 ;

¯

sg(x) = 1 : x = 0 0 : x 6= 0 ;

x ˙−y =

 0 : x < y x − y : y ≤ x .

6.6. Twierdzenie. Funkcja jest obliczalna wtedy i tylko wtedy gdy jest funkcj¸a rekurencyjn¸a.

6.7. Teza Churcha. Każda funkcja obliczalna intuicyjnie jest funkcj¸a rekurencyjn¸a.

3

Cytaty

Powiązane dokumenty

Możliwy zatem do przyjęcia jest taki maszynowy model umysłu, w którym byłby on wprawdzie maszyną operującą rachunkiem zdań (np. wypowiedziami), lecz maszyna

Maszyna Turinga składa si¸e z taśmy (bez końców) i głowicy czytaj¸ acej.. Niepusty zbiór poleceń nazywamy programem

● Maszyny Turinga, które zawsze się zatrzymują się na każdym wejściu nazywamy maszynami. rozstrzygającymi lub maszynami z

wejściowych obliczenie maszyny zatrzymuje się w stanie akceptującym to zakładamy, że wynik obliczenia zapisany jest na taśmie.. przeciwnym przypadku, gdy maszyna wykonuje

Zbudować maszynę Turinga o dwustronnie nieskończonej taśmie, która dla wejścia w postaci niepustego łańcucha binarnego o dowolnej długości traktowanego jako liczba

Teza Churcha-Turinga Odmiany modelu Maszyny Turinga Co nale»y wiedzie¢?. Algorytmika -

To znakomita promocja miasta! Latem na promenadzie w Ustce by- wa cała Polska, dlatego już po raz 20. Tłumy wczasowiczów słuchały koncertów zespołów Pearl Band i Włóczykije,

W sta- nie akceptującym aby zaakceptować dane słowo musi być spełniony dodatkowy warunek, aby stos był pusty lub na stosie znajdował się tylko symbol startowy stosu Z..