Tw (O podstawianiu) Niech f ∈ C k a g1,...,gk ∈ C n. Wte

Transkrypt

Tw (O podstawianiu) Niech f ∈ C k a g1,...,gk ∈ C n. Wte
Tw (O podstawianiu) Niech f ∈ Ck a g1 , . . . , gk ∈ Cn . Wtedy funkcja h(x) ' f (g1 (x), . . . , gk (x)) ∈ Cn .
ciej w O(f (n)) krokach. co razem daje O(f (n)) · O(2f (n) ) =
O(4f (n) ) kroków.
Dowód: Niech f ∈ Ck bedzie
˛
obliczana przez program F , a
g1 , . . . , gk ∈ Cn bed
˛ a˛ obliczane przez programy G1 , . . . , Gk
odpowiednio. Wtedy funkcja h(x) jest obliczana przez podany program H. Niech
m = max{n, k, ρ(F ), ρ(G1), . . . , ρ(Gk)}.
T (1, m + 1)
...
T (n, m + n)
G1 [m + 1, . . . , m + n → m + n + 1]
...
Gk [m + 1, . . . , m + n → m + n + k]
F [m + n + 1, . . . , m + n + k → 0]
Dla k-taśmowej MT M (k ­ 2) istnieje 1-taśmowa MT
M, która rozpoznaje ten sam jezyk.
˛
Jeśli M ma złożoność
czasowa˛ O(f (n)), to M ma złożoność czasowa˛ O(f (n) ∗
f (n)). Szkic dowodu: Dla k-taśmowej maszyny M jej konfiguracja opisana jest przez zawartość każdej z taśm; czyli ciag
˛ słów vi qwi , i = 1 . . . k zamieniamy na słowo
#v1 qw1 #v2 qw2 # . . . vk qwk #. Konstrukcja M polega na zamianie każdej instrukcji M na ciag
˛ instrukcji, które symuluja˛ jej realizacje˛ na opisanym słowie. Każde słowo powstajace
˛ w czasie symulacji obliczeń M na słowie długości n jest długości O(f (n)), a
zmiana wymaga po prostu jego przeczytania.
Rekursja to sposób zadania kolejnej wartości funkcji poprzez wartości wcześniej obliczone.
Tw (O op rekursji) Niech f (x) ∈ Cn i g(x, y, z) ∈ Cn+2 .
Wtedy funkcja h(x, y) : N n+1 → N określona układem
h(x, 0) ' f (x) h(x, y + 1) ' g(x, y, h(x, y)) jest obliczalna
(h ∈ Cn+1 ).
Niech β : N → Π bedzie
˛
dowolna˛ numeracja˛ zbioru RAMprogramów (czyli funkcja˛ "na"). Mówimy, że β jest efektywna, jeśli
istnieja˛ obliczalne funkcje d : N → N, kod, A : N 2 → N
takie, że dla wszelkich x ∈ N i β(x) = hi0, ..., ini mamy:
d(x) = n ∀0¬r¬n ir = hkod(x, r), A(x, r)i. Funkcja d
określa ilość instrukcji, natomiast kod, A określaja˛ kody oraz adresy komórek, którymi one manipuluja.
˛ I = {0, 1, 2, 3} × N
x
∈ N, x = 4a + k Funkcja α : N → I, α(x) = hk, ai
Dowód: Niech f (x) ∈ Cn i g(x, y, z) ∈ Cn+2 bed
˛ a˛ objest
bijektywn
a
˛
numeracj
a
˛
zbioru
instrukcji.
Funkcja: µ(x) =
liczane przez programy F i G odpowiednio. Wtedy funkcja
hα(a0 ), . . . , α(an )i gdzie τ (a0 , . . . , an ) = x. Wyznaczenie
h(x, y) : N n+1 → N jest obliczana przez podany proy+1
przedstawienia x l(x) = µ(y ¬ x)(x < 2
), c - ciag
˛ dziegram H. Niech
˛ reszt l1 (x) =
sg(b(y, x + 1)) - ilość
m = max(n + 2, ρ(F ), ρ(G)). Używać bedziemy
˛
rejestrów leń, b - ciag
y¬l(x+1)
1, 2, . . . , m + n + 1, m + n + 2, m + n + 3 i oznaczenia
’1’ w rozw. bin. b1 - pozycje kolejnych jedynek, a1 (i + 1, x) =
t=m+n
b1 (i + 1, x) − b(i, x) − 1 - odpowiednie współczynniki takie,
T (1, m + 1)
...
i
a1 (j,x)
T (n + 1, m + n + 1)
l1 (x)
j=0
że: x =
2
− 1 Należy zauważyć, że:
F [1, 2, . . . , n → t + 3]
P
P
P
i=0
q : I(t + 2, t + 1, p)
G(m + 1, . . . , m + n, t + 2, t + 3 → t + 3]
S(t + 2)
I(1, 1, q)
p : T (t + 3, 0)
d(x) = l1 (x), kod(x, r) = rm(4, a1 (r, x)), A(x, r) =
qt(4, a1 (r, x))
Tw (O parametryzacji, s-m-n) Dla dowolnych liczb naturalnych
1+m
n, m ­ 1 istnieje totalna i obliczalna funkcja sm
→N
n : N
(m+n)
Minimalizacja
Dla f (x, y) : N n+1 → N połóżmy: g(x) ' µy(f (x, y) =
0) najmniejsze y takie, że f (x, z) jest określona dla wszystkich
z ¬ y i f (x, y) = 0; gdy takie y nie istnieje wartość funkcji
pozostaje nieokreślona.
Tw (O op minimalizacji) Jeśli f ∈ Cn+1 , to g ∈ Cn.
Dowód: Załóżmy, że f jest obliczana przez program F . Wtedy
podany program G oblicza funkcje˛ g. Niech m = max(n +
1, ρ(F )).
T (1, m + 1)
...
T (n, m + n)
p : F [m + 1, . . . , m + n, m + n + 1 → 1]
I(1, m + n + 2, q)
S(m + n + 1)
I(1, 1, p)
q : T (m + n + 1, 0)
taka, że ∀e∈N,a∈N m ϕe
(n)
(a, −) ' ϕ m
(−)
sn (e,a)
Szkic dowodu: Dla prostoty założymy, że n = m = 1 i bedzie˛
my swobodnie używać tych oznaczeń. Niech e, a ∈ N . Przez
Πe,a oznaczymy program powstały z Pe poprzez modyfikacje: 1.
na po czatku
˛
umieszczamy ciag
˛ instrukcji T(1,2), Z(1), S(1), . . . ,
S(1); przy czy instrukcja S(1) wystepuje
˛
a-razy; 2. potem nastepuje
˛
tekst programu Pe ze zmodyfikowanymi instrukcjami warunkowy(2)
(1)
(y)
e,a
mi. Z konstrukcji wynika, że ϕe (a, y) ' ϕΠ
Pozostaje
zauważyć, że µ(m) = Πe,a ↔ s1
1 (e, a) = m.
Funkcja˛ uniwersalna˛ d la n-argumentowych funkcji RAM(n)
obliczalnych nazywamy funkcje˛ ΨU
: N n+1 → N taka,
˛ że:
(n)
∀e∈N,x∈N n ΨU (e, x) ' ϕ( n)e (x)
Każda funkcja uniwersalna jest cz˛eściowo-rekurencyjna, a wiec
˛ i
RAM-obliczalna.
Dowód: Niech e bedzie
˛
dowolna˛ liczba˛ naturalna.
˛ Niech
Zbiór R funkcji cz˛eściowo rekurencyjnych definiujemy jako naj- σn (e, x, k) bedzie
˛
kodem konfiguracji uzyskanej po k krokach
mniejszy zbiór funkcji rzutowania, który zawiera funkcje bazwoe: obliczeń Pe na x. Przyjmować bedziemy,
˛
że konfiguracja˛ nastep˛
zerowa,
˛ nastepnika i rzuty oraz jest domkniety
˛ na operatory pod- na˛ po końcowej jest ona sama. Wtedy (σn (e, x, k))0 jest zastawiania, rekursji i minimalizacji
wartościa˛ licznika rozkazów, natomiast (σn (e, x, k))1 zawartościa˛ rejestru zerowego po k krokach obliczeń Pe . Inaczej σn
Zbiór PR oznacz zbiór funkcji pr. rek., które powstaja˛ z funkcji ba- zadana jest poprzez schemat rekursji: f (x) = cd(codn (x))
g(x,
y, z) = C(z) <d(e)+1 δ̄(i(z) , z) + C(z) ­d(e)+1 z
zowych przy uzyciu operatorów podstawiania i rekursji.
0
0
0
Wtedy funkcje: cn (e, x, k) = (σn (e, x, k))1 , jn (e, x, k) =
(σn (e, x, k))0 sa˛ prymitywnie rekurencyjne i opisuja˛ zawartość
MT M = hS, Q, P, q0 , F i jest det, jeśli dla każdej pary rejestru 0 (c) i licznik rozkazów (j) po k krokach obliczeń P . Wtee
(stan,litera) (konfiguracji zawierajacej
˛
takie podsłowo) istnieje co
(n)
dy ΨU (e, x) ' cn (e, x, µk(jn (e, x, k) ­ d(e) + 1)) co
najwyżej jedna instrukcja, która˛ można do niej zastosować.
oznacza, że funkcja uniwersalna jest cz˛eściowo rekurencyjna.
Niech M bedzie
˛
deterministyczna˛ MT zatrzymujac
˛ a˛ sie˛ na wszystkich wejściach. Czasem działania lub złożonościa˛ czasowa˛ M jest
funkcja f : N → N , gdzie f (n) jest maksymalna˛ ilościa˛ kroków
obliczeń M wykonywanych przez nia˛ na każdym wejściu długości
n. Mówimy też, że M działa w czasie f (n).
Niech M bedzie
˛
MT zatrzymujac
˛ a˛ sie˛ na wszystkich wejściach.
Czasem działania lub złożonościa˛ czasowa˛ M jest funkcja f :
N → N , gdzie f (n) jest maksymalna˛ ilościa˛ kroków obliczeń M
wykonywanych przez nia˛ na każdym wejściu długości n w czasie
każdego przebiegu obliczeń. Mówimy też, że M działa w czasie
f (n).
Dla nd MT M o czasowej złożoności obliczeniowej f (n) takiej, że
n ¬ f (n) dla wszystkich n ∈ N , istnieje det trójtaśmowa MT M1
rozpoznajaca
˛ ten sam jezyk,
˛
której czasowa złożoność obliczeniowa jest rz˛edu: O(cf (n) ), dla pewnej liczby c > 1.
Idea konstrukcji maszyny M1. Załóżmy, że M w każdej konfiguracji może wykonać co najwyżej dwie instrukcje. Ponieważ jest nd w
pewnej konfiguracji ma faktycznie wybór pomiedzy
˛
dwiema instrukcjami. Dokonajmy ponumerowania liczbami 0 lub 1 tych instrukcji
dla takich konfiguracji. Każdy ciag
˛ obliczeń M na wejściu długości
n można wtedy opisać ciagiem
˛
zer i jedynek długości co na jwyżej
f (n), odpowiadajacym
˛
wyborowi kolejnej instrukcji. Ciagów
˛
takich
jest 2f (n)+1 − 1.
Maszyne˛ det M1 konstruuje sie˛ tak, aby dla wejścia długości n
umieszczanego na pierwszej taśmie wyznaczała na drugiej taśmie
kolejny ciag
˛ w porzadku
˛
leks, a nastepnie
˛
realizowała obliczenia
M opisane przez wygenerowany ciag
˛ na taśmie trzeciej. Każde z
O(2f (n) ) obliczeń wymaga: 1. kopiowania wejścia z taśmy 1. na
3. (ponieważ n ¬ O(f (n)) kroków; 2. generowania nastepnego
˛
ciagu
˛ w O(f (n)) krokach; 3. wykonania obliczeń na taśmie trze-
Tw (Rice) Niech B bedzie
˛
właściwym i niepustym podzbiorem C1 .
Wtedy problem "ϕx ∈ B" jest nierozstrzygalny; bardziej formalnie
zbiór B = {x ∈ N ; ϕx ∈ B} nie jest rekurencyjny.
Ponieważ zbiory N i ∅ sa˛ rekurencyjne otrzymujemy inne sformułowanie tw: Problem "ϕx ∈ B" jest rozstrzygalny wtw, gdy
B = ∅ lub B = C1 . Dowód: Niech f∅ bedzie
˛
funkcja˛ o pustej dziedzine. Funkcja ta jest obliczalna. Załóżmy, że funkcja ta
nie należy do B. Jeśli tak jest, to prowadzimy dowód dla zbioru C1 \B i korzystamy z faktu, że problem "ϕx ∈ B" jest rozstrzygalny wtw gdy problem "ϕx ∈
/ B" jest rozstrzygalny. Niech
f ∈ B bedzie
˛
ustalona˛ funkcja.
˛ Rozważmy obliczalna˛ funkf (y)
x ∈ Wx
cje:
˛ g(x, y) =
Możemy do niej zasto∞
x∈
/ Wx
sować tw. o parametryzacji, niech k bedzie
˛
totalna i obliczalna:
∀x,y∈N g(x, y) = ϕk(x) (y) Zależnie of tego czy x ∈ Wx
mamy: ∀x∈N x ∈ Wx ↔ ϕk (x) ∈ B Wiec
˛ "ϕ(x) ∈ B" nie
może być rozstrzygalny.
Tw (R-S) Niech A ∈ C1 bedzie
˛
takim zbiorem funkcji RAMobliczalnych, że zbiór indeksów A = {x ∈ N : ϕx ∈ A} jest
r. p. Wtedy dla dowolnej funkcji f ∈ C1 nastepuj
˛ ace
˛ warunki sa˛
równoważne: 1. f ∈ A 2. Istnieje skończona funkcja θ ⊆ f taka,
że θ ⊆ A.
Dowód: (1) pociaga
˛
(2): nie wprost. Niech f ∈ A bedzie
˛
taka˛ funkcja,
˛ że żadna skończona funkcja θ ⊆ f nie należy do A. Niech P = Pe bedzie
˛
programem obliczajacym
˛
ccK , K = x ∈ N ; x ∈ Wx . Rozważmy obliczalna˛ funkcje:
˛
f (t)
¬H(e, z, t)
g(z, t) =
Zastosujmy tw o para∞
H(e, z, t)
metryzacji, s ∈ C1 , totalna, obliczalna i taka, że: g(z, t) =
ϕs(z) (t) Z określenia ϕs(z) ⊆ f , ale z ∈ K pociaga,
˛
że
ϕs(z) jest skończona, wiec
˛ ∈
/ A podobnie, gdy z ∈
/ K Otrzymujemy: ∀z ∈ z ∈
/ K ↔ s(z) ∈ A, wiec
˛ pierwszy nie jest
r.e. co daje sprzecznośc z założeniem. (2) pociaga
˛ (1): nie wprost.
1
Przypuśćmy, że istnieje obliczalna funkcja f ∈
/ A dla której θ ∈ A
dla pewnej skończonej funkcji θ ⊆ f . Postapimy
˛
podobnie. Niech
f
(t)
t
∈
Domθz
∈
K
g(z, t) =
Najpierw pokażemy,
∞
w.p.p.
że g obliczalna. Domθ jest skończony, wiec
˛ rekurencyjny. Wtedy
zbiór B = {(t, z)t ∈ Domθ ∈ K} jest r.e. Na koniec zauważmy: g(z, t) = f (t) · ccB (t, z). Zastosujmy s-m-n tw. s totalna,
obliczalna i taka, że: g(z, t) = ϕs(z) (t) dla wszystkich z, t.
Wtedy w zależności od tego czy z ∈
/ K ponownie otrzymujemy:
∀z ∈ z ∈
/ K ↔ s(z) ∈ A.