TEORETYCZNE
PODSTAWY
INFORMATYKI
Prowadzący:
ppor. mgr inż. Mariusz
CHMIELEWSKI
e-mail:
mchmiel@isi.wat.waw.pl
Temat 1:
Temat 1:
Modele obliczeń – Maszyna
Modele obliczeń – Maszyna
Turinga
Turinga
2
ppor. mgr inż. Mariusz CHMIELEWSKI
Maszyna Turinga
Modele obliczeń zainicjowane przez Alana M. Turinga
(1912-1954) pozwalają dokonywać analizy algorytmów
i problemów bez odwoływania się do konkretnej
specyfiki komputera uwzględniając tylko istotę
obliczeń.
Teza Churcha
Każdy algorytm i dowolny język programowania można
przedstawić jako maszynę Turinga.
Deterministyczna, jednotaśmowa maszyna Turinga (DTM)
3
ppor. mgr inż. Mariusz CHMIELEWSKI
Model maszyny
Sterowanie
(program)
głowica odczytująco -
zapisująca
taśma o nieskończonej ilości klatek (1
bitowych)
. . .
. . .
-4
4
-3 -2 -1 0 1 2 3
DTM składa się z bloku sterowania,
głowicy odczytująco-zapisującej i
nieskończenie długiej taśmy z
jednobitowymi komórkami.
4
ppor. mgr inż. Mariusz CHMIELEWSKI
Formalna definicja modelu –
Deterministyczna Maszyna Turinga
Program dla DTM jest dany gdy ustalone są:
1.Skończony zbiór symboli taśmy, podzbiór symboli
wejściowych
oraz wyróżniony symbol pusty ,
1.Skończony zbiór Q stanów maszyny zawierający
wyróżniony stan początkowy q
0
i dwa stany końcowe: q
y
dla
odpowiedzi „tak” i q
n
dla odpowiedzi „nie”.
2.Funkcja przejść
czyli
Γ
Σ
Σ
\
Γ
b
1
1,0,
Γ
Q
Γ
q
,
q
\
Q
:
h
n
y
l
,
s
,
q
s
q,
h
Γ
5
ppor. mgr inż. Mariusz CHMIELEWSKI
Algorytm działania DTM
Łańcuch x(z) danych problem
u z um
ieszcza się początkowo w
klatkach od nr 1 do
z
x ; w pozostałych klatkach znajduje się
początkowo wyróżniony sym
bol pusty.
a) D
TM
rozpoczyna wykonywanie program
u w stanie q
0
z głowicą
znajdującą się nad klatką nr 1 oraz zgodnie z funkcją przejść h.
b) Program
jest wykonywany do chwili gdy D
TM
znajdzie się w
jednym
ze stanów końcowych tzn. q
y
lub q
n
.
6
ppor. mgr inż. Mariusz CHMIELEWSKI
Rozwiązywalność problemu
Określenie
Mówimy, że DTM rozwiązuje decyzyjny problem dla
ustalonego kodowania jeśli kończy obliczenia dla wszystkich
łańcuchów danych problemu , przy czym kończy obliczenia w
stanie q
y
dla wszystkich x(z) takich, że
Π
Y
z
i tylko dla nich.
7
ppor. mgr inż. Mariusz CHMIELEWSKI
Definicja przykładowej Maszyny
Turinga
Przykład
Zadajmy program DTM do badania czy dana liczba jest parzysta.
1
0
.
0,1
Σ
,
b
0,1,
Γ
2
0
.
n
y
1
0
q
,
q
,
q
,
q
Q
3
0
.
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
8
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład działania
. . .
b
1
0
0
b
. . .
q0
1,0,0
x
Krok 1
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
9
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład działania
. . .
b
1
0
0
b
. . .
q0
Krok 2
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
10
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład działania
. . .
b
1
0
0
b
. . .
q0
Krok 3
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
11
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład działania
. . .
b
1
0
0
b
. . .
q0
Krok 4
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
12
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład działania
. . .
b
1
0
0
b
. . .
q1
Krok 5
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
13
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład działania
. . .
b
1
0
0
b
. . .
qy
Krok 6
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
n
1
y
0
1
0
0
0
0
14
ppor. mgr inż. Mariusz CHMIELEWSKI
Diagram przejść stanów DTM
15
ppor. mgr inż. Mariusz CHMIELEWSKI
Definicja DTM – diagram stanów
16
ppor. mgr inż. Mariusz CHMIELEWSKI
Konfiguracja maszyny Turinga
Dowolna trójka
17
ppor. mgr inż. Mariusz CHMIELEWSKI
Konfiguracja DTM - Przykład
Przykład
Zadajmy program DTM obliczający następnik dla liczb binarnych.
1
0
.
0,1
Σ
,
b
0,1,
Γ
2
0
.
n
y
1
0
q
,
q
,
q
,
q
Q
3
0
.
b
,
q
s
q,
gdy
b,0
,
q
,1
q
s
q,
gdy
1
,
,
q
,0
q
s
q,
gdy
,1,0
q
b
,
q
s
q,
gdy
1
b,
,
q
,1
q
s
q,
gdy
1
,1,
q
,0
q
s
q,
gdy
1
,0,
q
s
q,
h
1
n
1
y
0
0
0
0
0
0
1
1
1
Dla słowa
wejściowego 11011
mamy następującą
konfigurację DTM:
)
00
,
111
,
(
)
00
,
110
,
(
)
0
,
1101
,
(
)
,
11011
,
(
)
,
11011
,
(
)
,
11011
,
(
)
1
,
1101
,
(
)
11
,
110
,
(
)
011
,
11
,
(
)
1011
,
1
,
(
1
1
1
0
0
0
0
0
0
b
b
q
b
b
q
b
b
q
b
b
q
b
b
q
b
q
b
q
b
q
b
q
b
q
y
M
M
M
M
M
M
M
M
M
18
ppor. mgr inż. Mariusz CHMIELEWSKI
)
00
,
111
,
(
)
00
,
110
,
(
)
0
,
1101
,
(
)
,
11011
,
(
)
,
11011
,
(
)
,
11011
,
(
)
1
,
1101
,
(
)
11
,
110
,
(
)
011
,
11
,
(
)
1011
,
1
,
(
1
1
1
0
0
0
0
0
0
b
b
q
b
b
q
b
b
q
b
b
q
b
b
q
b
q
b
q
b
q
b
q
b
q
y
M
M
M
M
M
M
M
M
M
Dla słowa
wejściowego 11011
mamy następującą
konfigurację DTM:
Dla słowa
wejściowego 111
mamy następującą
konfigurację DTM:
)
000
,
,
(
)
000
,
,
(
)
00
,
1
,
(
)
0
,
11
,
(
)
,
111
,
(
)
,
111
,
(
)
,
111
,
(
)
1
,
11
,
(
)
11
,
1
,
(
1
1
1
1
0
0
0
0
b
b
q
b
b
q
b
b
q
b
b
q
b
b
q
b
b
q
b
q
b
q
b
q
n
M
M
M
M
M
M
M
M
19
ppor. mgr inż. Mariusz CHMIELEWSKI
Teza Churcha-Turinga
Cokolwiek da się obliczyć algorytmicznie, da
się przedstawić jako obliczenie pewnej
maszyny Turinga.
Inaczej mówiąc:
Jeżeli do jakiegoś problemu nie ma
rozwiązującej go maszyny Turinga, to
problem nie jest rozwiązywalny
algorytmicznie.
Ze względu na koncepcyjną prostotę maszyn
Turinga, łatwo jest użyć ich do badania
problemów obliczalności i rozstrzygalności.
20
ppor. mgr inż. Mariusz CHMIELEWSKI
Definicja Niedeterministycznej
Maszyny Turinga
N D T M j e s t m a s z y n ą n i e r e a l i s t y c z n ą m a j ą c ą z d o l n o ś ć p o w i e l a n i a s i ę w
d o w o l n y m s t a n i e i d o w o l n e j c h w i l i .
P r o g r a m d l a N D T M j e s t z a d a n y g d y z a d a n e s ą :
1
0
. S k o ń c z o n y z b i ó r s y m b o l i t a ś m y , p o d z b i ó r s y m b o l i w e j ś c i o w y c h
Γ
Σ
o r a z w y r ó ż n i o n y s y m b o l p u s t y
Σ
\
Γ
b
,
2
0
. S k o ń c z o n y z b i ó r s t a n ó w m a s z y n y z a w i e r a j ą c y w y r ó ż n i o n y s t a n
p o c z ą t k o w y q
0
i d w a s t a n y k o ń c o w e : q
y
i q
n
,
3
0
. F u n k c j ę p r z e j ś ć
k
k
k
2
2
2
1
1
1
l,
s,
q
,...,
l,
s,
q
,
l,
s,
q
s
q,
h
( 4 )
g d z i e
k
1,
i
,
q,
q
\
Q
q
q,
n
y
i
k
1,
i
Γ,
s
i
;
k
1,
i
,
D
l
i
;
1
0,1,
D
21
ppor. mgr inż. Mariusz CHMIELEWSKI
Zasady działania NDTM
O k r e ś le n i e
M ó w im y , ż e N D T M r o z w ią z u j e p r o b le m d e c y z y j n y w c z a s ie
w ie lo m ia n o w y m j e ś l i d la k a ż d e g o
Π
D
z
z o d p o w ie d z i ą „ ta k ”
Π
Y
z
is t n ie j e s e k w e n c j a w y b o r ó w N D T M ( c i ą g w a r t o ś c i f u n k c j i i p r z e j ś ć ) ,
k t ó r e j d łu g o ś ć j e s t o g r a n ic z o n a o d g ó r y w ie l o m i a n e m z m i e n n e j N ( z ) ,
p r o w a d z ą c a d o s t a n u q
y
.
T w ie r d z e n ie
J e ś l i N D T M r o z w ią z u j e d e c y z y j n y p r o b le m w c z a s ie w ie lo m ia n o w y m
t o is t n i e j e a > 0 i w ie l o m ia n p t a k i, ż e D T M r o z w ią z u j e p r o b le m w
c z a s ie n ie w ię k s z y m n iż a 2
p ( N ( z ) )
d l a k a ż d e g o
Π
D
z
.
U W A G A
Z w y r a ż e n ia ( 4 ) w y n i k a , i ż d l a k = 2 N D T M p o n k r o k a c h w y t w o r z y 2
n
s t a n ó w .
S y m u l a c j a t a k ie j m a s z y n y t r w a ł a b y n ie k r ó c e j n iż 2
n
j e d n o s t e k c z a s u .