1 Maşini Turing
2 Sisteme de tranziţie
2 / 53
Maşini Turing
3 / 53
Maşini Turing şi interacţiunea
4 / 53
Maşini Turing
Definiţie (1)
O maşină Turing (standard) M ∈ TM este un 6-tuplu
M = (Q, Γ, Σ, →, qI , QF )
unde
Q este mulţimea stărilor
Γ este mulţimea simbolurilor de bandă şi Γ = Γ ∪ {} este
mulţimea simbolurilor de bandă la care adaugăm simbolul pentru o
celulă goală
Σ este alfabetul cu Σ ⊆ Γ
→⊆ Q × Γ × Γ × {L, R} × Q este relaţia de tranziţie, unde L şi R
descriu mişcarea capului de bandă
qI este starea iniţială cu qI ∈ Q
QF este o mulţime de stări finale cu QF ⊆ Q
5 / 53
Banda maşinii Turing
Definiţie (2)
Limbajul instanţelor benzii este limbajul
6 / 53
Relaţia de tranziţie
not. [b,d]L
(qi , b, d, L, qj ) ∈→ = qi −−−−−→ qj
7 / 53
Configuraţia unei maşini Turing
Definiţie (3)
Configuraţia unei maşini Turing cu n benzi este un (n + 1)-tuplu
(q, δ0 , δ1 , . . . , δn−1 ) ∈ Q × Lnδ
8 / 53
Configuraţia unei maşini Turing
9 / 53
Variante de maşini Turing
10 / 53
Limbajul unei maşini Turing
11 / 53
Ierarhia Chomsky
12 / 53
Funcţii calculabile
13 / 53
Sisteme de tranziţie
14 / 53
Sisteme de tranziţie
Marea diferenţă constă ı̂n faptul că sistemele de tranziţie pot avea
un număr infinit de stări şi de tranziţii.
15 / 53
Sisteme de tranziţie
Definiţie (4)
Un sistem de tranziţie A-etichetat este un 5-tuplu
T = (S, A, −→, sI , sF )
A
unde
S este mulţimea stărilor
A este mulţimea simbolurilor de acţiuni
16 / 53
Maşini Turing reactive
17 / 53
Maşini Turing reactive
18 / 53
Maşini Turing reactive
Definiţie (7)
O maşină Turing reactivă (MTR) M ∈ RTM este un 7-tuplu
M = (Q, Γ, C, Aτ , →, qI , QF )
unde
C este o mulţime de canale de comunicaţie
A = {c!γ, c?γ | c ∈ C, γ ∈ Γ } este mulţimea de simboluri de
acţiune şi A ∪ {τ } este mulţimea simbolurilor de acţiune la care
adăugăm simbolul pentru tranziţii mute τ
→⊆ Q × Aτ × Γ × Γ × {L, R} × Q este relaţia de tranziţie
Restul componentelor sunt ca la maşinile Turing standard
19 / 53
Maşini Turing reactive
20 / 53
Maşini Turing reactive
21 / 53
that use an action symbol must be executed simultaneously with transi-
tions of their complementary action symbol. The complementary action
Maşini
must Turing
take place reactive
in another agent, for example another RTM. The transi-
c! [a/b]R
tion qi ! qj can only be executed when a transition with c? can be
executed by another agent interacting with the RTM. To make internal com-
putations
Exemplu an(1)
RTM can use the silent, unobservable transition ⌧ . A standard
Turing machine can be modelled by an RTM that only uses ⌧ -transitions.
În figura de jos avem o MTR M1 care trimite şirul aaa#aaa# . . .
Example 3.2. In Figure 1 we see M1 , a simple RTM that sends the string
prin canalul i.
aaa#aaa# . . . along channel i. This RTM in particular does not make use
of silent ⌧1 nu
M foloseşte τwhich
transitions, -tranziţii,
means decithat
fiecare pas
every al său
step este observabil
is externally ı̂n
observable.
exterior.
i!#[⇤/⇤]R
start q0 q1 q2 q3
i!a[⇤/⇤]R i!a[⇤/⇤]R i!a[⇤/⇤]R
22 / 53
Sistemul de tranziţie asociat unei MTR
Definiţie (8)
Sistemul de tranziţie TMTR (M) = (S, A, −→, sI , sF ) asociat unei maşini
A
sI = (qI , )
˘ este starea iniţială
sF = Q F × Lδ
23 / 53
tion channel c. Similarly c? is the event that is received along communi-
cation channel c, thus c! and c? are complementary actions. Transitions
Sistemul de tranziţie asociat unei MTR
that use an action symbol must be executed simultaneously with transi-
tions of their complementary action symbol. The complementary action
must take place in another agent, for example another RTM. The transi-
c! [a/b]R
tion qi ! qj can only be executed when a transition with c? can be
executed by another agent interacting with the RTM. To make internal com-
Exemplu (2) an RTM can use the silent, unobservable transition ⌧ . A standard
putations
Turing machine can be modelled by an RTM that only uses ⌧ -transitions.
Sistemul de tranziţie asociat maşinii Turing reactive M1 dinthe
Example 3.2. In Figure 1 we see M , a simple RTM that sends
Exemplul
string
1:
1
aaa#aaa# . . . along channel i. This RTM in particular does not make use
i!#
TMTR (M ˘ i!a (q1 , means
0 , ) −→which
1 ) =⌧(qtransitions,
of silent )
˘ −→i!a
that(q 2 , )
every ˘stepi!a
−→ (q3 , ) −→ (q0 , )
˘ observable.
is externally ˘ ...
i!#[⇤/⇤]R
start q0 q1 q2 q3
i!a[⇤/⇤]R i!a[⇤/⇤]R i!a[⇤/⇤]R
8
24 / 53
Compunere paralelă
25 / 53
Compunere paralela
Definiţie (9)
Fie M1 = (Q1 , Γ1 , C1 , Aτ 1 , →1 , qI1 , QF 1 ) şi M2 = (Q2 , Γ2 , C2 , Aτ 2 , →2 , qI2 , QF 2 )
două maşini Turing reactive.
26 / 53
Compunere paralelă
Definiţie (9 (cont.))
→⊆→1 × →2 este relaţia de tranziţie astfel ı̂ncât
(q1 , q2 ) → (q10 , q20 )
dacă
a[b/c]M a[b/c]M
1 fie (q1 −−−−−→1 q10 şi q2 = q20 ) sau (q2 −−−−−→2 q20 şi q1 = q10 )
(fie M1 face o tranziţie, fie M2 face o tranziţie) sau
c!g[b/c]M c?g[b/c]M
2 (q1 −−−−−→1 q10 şi q2 −−−−−→2 q20 ) sau
c?g[b/c]M c!g[b/c]M
(q1 −−−−−→1 q10 şi q2 −−−−−→2 q20 ), unde c ∈ C şi γ ∈ Γ1 ∩ Γ2
(M1 şi M2 fac tranziţii cu simboluri de acţiune complementare)
27 / 53
Sistemul de tranziţie asociat unei compuneri paralele
Definiţie (10)
Fie M1 = (Q1 , Γ1 , C1 , Aτ 1 , →1 , qI1 , QF 1 ) şi M2 = (Q2 , Γ2 , C2 , Aτ 2 , →2 , qI2 , QF 2 )
două masini Turing reactive şi
A A
fie TMTR (M1 ) = (S1 , A1 , −→1 , sI1 , sF 1) şi TMTR (M2 ) = (S2 , A2 , −→2 , sI2 , sF 2 )
sistemele de tranziţie asociate lor.
Fie M = [M1 k M2 ]C , unde C ⊆ C1 ∩ C2
28 / 53
Sistemul de tranziţie asociat unei compuneri paralele
29 / 53
Sistemul de tranziţie asociat unei compuneri paralele
M1 M2
i
Comunicarea
Figure 2: internă ı̂n [M1 k M
Internal communication in2 ]i[M
devine neobservabilă
1 ||M2 ]{i} is unobservable
Exemplu (3)
MTR M2 care
primeşte un şir prin canalul i
ı̂l copiază pe banda sa şi
decide dacă banda conţine un număr par sau impar de a-uri
După ce intrarea este separată prin primirea simbolulul #, M2 trimite
răspunsul prin canalul o (trimiţând 0 sau 1), urmat de #.
Intrarea primită rămâne pe bandă şi M2 reţine şi paritatea numărului de
a-uri de pe bandă.
În orice moment poate primi o nouă intrare prin canalul i continuând să
numere a-uri.
31 / 53
read the output of M1 (Figure 1). In Figure 3 the RTM M2 receives a string
along channel i, copies is to its tape and decides whether the tape contains
Compunerea paralelă
an even or an odd number of a’s. After the input is separated by receiving
#, the RTM submits the answer to this question to channel o (by sending
either a 0 or a 1), followed by a #. The received input remains on the tape
and M1 also remembers the parity of the number of a’s on the tape. At any
Exemplu (3 (cont))
time it can receive a new input from channel i to continue counting a’s.
i?a[⇤/a]R
i?a[⇤/a]R
i?#[⇤/#]R i?#[⇤/#]R
q1 o!#[⇤/⇤]L q3 o!#[⇤/⇤]L
o!1[⇤/⇤]R o!0[⇤/⇤]R
q2 q4
Example 3.2. In Figure 1 we see M1 , a simple RTM that sends the string
Exemplu (3. .(cont.))
aaa#aaa# . along channel i. This RTM in particular does not make use
of silent ⌧ transitions, which means
MTR M care trimite şirul aaa#aaa# that. .every
. prinstep is externally
canalul i. observable.
1
i!#[⇤/⇤]R
start q0 q1 q2 q3
i!a[⇤/⇤]R i!a[⇤/⇤]R i!a[⇤/⇤]R
8
33 / 53
Compunerea paralelă
Exemplu (3 (cont.))
Definim sistemul de tranziţie asociat compunerii paralele a lui M1 cu M2 .
Canalul i este folosit pentru comunicarea dintre cele MTR, deci C = {i}.
TMTR ([M2 k M1 ]i ) =
τ
((qeven , ),
˘ (q0 , ))
˘ −→
τ
((qodd , a),
˘ (q1 , ))
˘ −→
τ
((qeven , aa),
˘ (q2 , ))
˘ −→
τ
((qodd , aaa),
˘ (q3 , ))
˘ −→
o!0
((q3 , aaa#),
˘ (q0 , ))
˘ −→
o!#
((q4 , aaa#),
˘ (q0 , ))
˘ −→
34 / 53
Compunerea paralelă
Exemplu (3 (cont.))
τ
((qodd , aaa#),
˘ (q0 , ))
˘ −→
τ
((qeven , aaa#a),
˘ (q1 , ))
˘ −→
τ
((qodd , aaa#aa),
˘ (q2 , ))
˘ −→
τ
((qeven , aaa#aaa),
˘ (q3 , ))
˘ −→
o!1
((q1 , aaa#aaa#),
˘ (q0 , ))
˘ −→
o!#
((q2 , aaa#aaa#),
˘ (q0 , ))
˘ −→
τ
((qeven , aaa#aaa#),
˘ (q0 , ))
˘ −→
...
35 / 53
Compunerea paralelă
Exemplu (3 (cont.))
τ
((qodd , aaa#),
˘ (q0 , ))
˘ −→
τ
((qeven , aaa#a),
˘ (q1 , ))
˘ −→
τ
((qodd , aaa#aa),
˘ (q2 , ))
˘ −→
τ
((qeven , aaa#aaa),
˘ (q3 , ))
˘ −→
o!1
((q1 , aaa#aaa#),
˘ (q0 , ))
˘ −→
o!#
((q2 , aaa#aaa#),
˘ (q0 , ))
˘ −→
τ
((qeven , aaa#aaa#),
˘ (q0 , ))
˘ −→
...
Comunicarea dintre M1 şi M2 nu poate fi observată, fiind transformată ı̂n
τ -tranziţii.
35 / 53
Maşini Turing Persistente
36 / 53
Maşini Turing persistente
37 / 53
Maşini Turing persistente
Definiţie (1)
O maşină Turing persistentă (MTP) M ∈ MTP este un 5-tuplu
M = (Q, Γ, →, qI , QF )
unde
→⊆ Q × Γ2 × Γ2 × {L, R, S}3 × Q este relaţia de tranziţie, unde
L, R şi S descriu mişcarea capului benzii
restul componentelor sunt definite ca la maşinile Turing standard
38 / 53
Maşini Turing persistente
Tranziţiile ı̂ntr-o MTP arată diferit şi sunt numite şi micro-paşi:
[a/R, b/c/R,d/R]
qi −−−−−−−−−−−−−−−→ qj
MTP trece din starea qi ı̂n starea qj
citeşte a de pe banda de intrare şi b de pe banda de lucru
scrie c pe banda de lucru şi d pe banda de ieşire
mută toate cele trei capete de bandă la dreapta
39 / 53
Maşini Turing persistente
Exemplu (1)
[⇤/S, a/a/R, ⇤/S]
start q1 q2
qeven qodd
a
[a/R, ⇤/⇤/R, ⇤/S]
[⇤/S, ⇤/#/S, 1/L] [⇤/S, ⇤/#/S, 0/L]
q3
40 / 53
Maşini Turing persistente
Exemplu (1)
banda de intrare conţine o intrare, iar banda de lucru conţine un
cuvânt
iniţial, maşina verifică paritatea numărului de a-uri de pe banda de
lucru
după aceea, maşina copiază intrarea pe banda de lucru, ţinând şi
evidenţa parităţii numărului de a-uri
când maşina termină de copiat, banda de ieşire conţine 0 sau 1 ı̂n
funcţie dacă numărul de a-uri este impar sau, respectiv, par
starea finală nu ı̂nseamnă finalul procesului
după ce atinge starea q3 , configuraţia maşinii revine la
(q1 , w
˘ 0 , w
i
˘ pentru a răspunde la noua intrare w 0
˘ 0 , Box)
i
41 / 53
Macro-paşi
42 / 53
Maşini Turing persistente
Definiţie (2)
Fie wi , w , w 0 , wo ∈ Γ∗ .
Fie M o MTP care conţine wi pe bandă de intrare şi w pe banda de ieşire.
wi/wo
Atunci w −−−−−→ w 0 este un macro-pas ı̂n M, rezultatul fiind că wo
este pe banda de ieşire şi w 0 este pe banda de lucru.
43 / 53
Maşini Turing persistente
44 / 53
Comportamentul unei MTP
unde
wi este conţinutul benzii de intrare
w este conţinutul benzii de lucru
wo este conţinutul benzii de ieşire
w 0 este noul conţinut al benzii de lucru
Se observă că fM este o funcţie dacă M este deterministă.
45 / 53
Maşini Turing persistente
Exemplu (2)
Funcţia corespunzătoare maşinii M din Exemplul 1 este:
(
(0, wwi #), dacă wwi conţine un număr impar de a-uri
fM (wi , w ) =
(1, wwi #), dacă wwi conţine un număr par de a-uri
46 / 53
Fluxuri de interacţiune
Definiţie (3)
Fie A o mulţime de simboluri acţiuni. Un flux SA este clasa fluxurilor
peste A definită ca
SA = A × SA
47 / 53
Fluxuri de interacţiune
Definiţie (4)
Limbajul de fluxuri persistente al unei MTP M ı̂n starea w este:
PSL(M, w ) = {((wi , wo ), σ) ∈ SΓ×(Γ∪{µ}) |
wi/wo
există w 0 ∈ Γ∗ , w −−−−−→ w 0 şi σ ∈ PSL(M, w 0 )}
48 / 53
Fluxuri de interacţiune
Exemplu (3)
Să considerăm MTP M din Exemplul 1.
Presupunem că M primeşte fluxul de intrare (aaa, aaa, . . .).
Limbajul de fluxuri persistente PSL(M) conţine fluxurile
((aaa, 0), (aaa, 1), (aaa, 0), (aaa, 1), . . .).
49 / 53
Sistemul de tranziţie asociat unei MTP
Definiţie (5)
Sistemul de tranziţie
50 / 53
Sistemul de tranziţie asociat unei MTP
Exemplu (4)
Sistemul de tranziţie asociat MTP din Exemplul 1
TMTP (M) = (S, A, −→, sI , sF ) este definit astfel:
A
S = Γ∗ = {, a, aa, . . .}
A
−→= {(w , wi , wo , w 0 ) ∈ (Γ∗ )4 | dacă w = am şi wi = an
atunci wo = (m + n)mod 2 şi w 0 = am+n }
sI =
51 / 53
fined as follows:
S = ⇤
{✏, a, aa, . . . }
Sistemul de=tranziţie
A
asociat unei MTP
! = {(w, wi , wo , w0 ) 2 ( ⇤ )4 |w = am ^ wi = an ) wo = (m + n) mod
2 ^ w0 = am+n }
sI = ✏
ai /(i mod 2)
✏
aa/1
a/0
a aa ... ai ...
Figure 5: TP T M (M3 )
Din orice stare ai , există o tranziţie la aj dacă i < j.
16
52 / 53
Baftă la examen!
53 / 53