Sunteți pe pagina 1din 54

Curs 8: Maşini Turing reactive.

Maşini Turing persistente


2016-2017 Dezvoltarea aplicaţiilor interactive
1 / 53
Cuprins

1 Maşini Turing

2 Sisteme de tranziţie

3 Maşini Turing reactive

4 Maşini Turing Persistente

2 / 53
Maşini Turing

3 / 53
Maşini Turing şi interacţiunea

Pentru orice funcţie calculabilă există o maşină Turing care o poate


calcula.
Interacţiunea nu poate fi surprinsă de maşinile Turing.
Putem transforma maşinile Turing ı̂ntr-un model pentru
interacţiune?
Maşini Turing persistente
Maşini Turing reactive

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

O maşină Turing se execută pe o bandă (o secvenţă de simboluri)


O instanţă δ a benzii este un şir de simboluri din Γ
Există un simbol special pe bandă, cel spre care indică capul benzii
De obicei, se folosesc benzi infinite spre dreapta

Definiţie (2)
Limbajul instanţelor benzii este limbajul

Lδ = Γ∗ Γ˘ Γ∗


unde Γ˘ este simbolul de bandă spre care indică capul de bandă

Notăm cu  atât cuvântul vid, cât şi banda vidă

6 / 53
Relaţia de tranziţie

Dacă o maşină Turing este ı̂n


starea qi şi
instanţa benzii este wL ab̆cwR , cu wL , wR ∈ Γ∗
atunci o tranziţie (qi , b, d, L, qj ) ∈→ rezultă ı̂n
scrierea simbolului d ı̂n locaţia spre care indică capul de bandă
mutarea capului de bandă spre stânga
intrarea ı̂n starea qj
instanţa benzii devine wL ădcwR

not. [b,d]L
(qi , b, d, L, qj ) ∈→ = qi −−−−−→ qj

7 / 53
Configuraţia unei maşini Turing

Configuraţia unei maşini Turing 6= starea maşinii


Pe lângă stare, trebuie să indicăm atât banda, cât şi capul benzii

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

Iniţial, o maşină Turing (cu o bandă) se afla ı̂n configuraţia


(qI , i)
˘
unde i este intrarea.
Ulterior, maşina Turing face tranziţii din → până ajunge ı̂ntr-o stare
din QF , lăsând pe bandă ieşirea.
Diferenţa dintre Γ şi Σ:
intrarea şi ieşirea de pe bandă folosesc doar simboluri din Σ
ı̂n calcularea ieşirii, maşina Turing poate folosi orice simbol din Γ

9 / 53
Variante de maşini Turing

Există multe variante de maşini Turing


cu mai multe benzi
benzi finite sau infinite ı̂ntr-un capăt sau ı̂n ambele capete
o singură stare finală
...

Aceste modificări nu modifică expresivitatea maşinilor Turing!


Toate aceste modificări sunt echivalente ı̂ntre ele.

10 / 53
Limbajul unei maşini Turing

Maşinile Turing pot accepta limbaje peste alfabetul Σ.


O maşină Turing acceptă un limbaj L ⊆ Σ∗
ddacă
ajunge ı̂ntr-o stare finală pentru orice intrare w ∈ L.

Un limbaj este recursiv enumerabil dacă toate cuvintele sale sunt


acceptate de o maşină Turing.
Respingerea unui cuvânt poate duce la neterminare!
Maşina Turing poate să nu dea niciodată raspunsul w 6∈ L

Un limbaj este recursiv dacă toate cuvintele sale sunt acceptate de o


maşină Turing care se opreşte mereu.

11 / 53
Ierarhia Chomsky

12 / 53
Funcţii calculabile

Funcţii de forma f : Nn → N pot fi descrise ca maşini Turing care


primesc n numere ca intrare pe bandă şi produc o ieşire pe bandă
după terminare.
Numerele naturale sunt reprezentate ca şiruri de 1.
Un număr natural n este codificat ca 1n+1 .
Numărul 0 este codificat ca un singur 1.

O funcţie este calculabilă


ddacă
există o maşină Turing care o calculează.

13 / 53
Sisteme de tranziţie

14 / 53
Sisteme de tranziţie

Pentru a analiza comportamentul proceselor folosim sisteme de


tranziţie A-etichetate.
Sistemele de tranziţie sunt comparabile cu automatele finite:
relaţia de tranziţie este etichetată de un simbol dintr-un alfabet

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

−→⊆ S × A × S este relaţia de tranziţie


A

sI ∈ S este starea iniţială


sF ⊆ S este mulţimea stărilor finale

16 / 53
Maşini Turing reactive

17 / 53
Maşini Turing reactive

Dezvoltate ı̂n 2013 de către Baeten, Luttik şi Van Tilburg


Extensie a maşinilor Turing
Orice tranziţie are un argument ı̂n plus, un simbol de acţiune.
Simbolul de acţiune este folosit pentru a trimite/primi simboluri de
bandă către/de la alte procese prin canale de comunicaţie.

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

c!γ: evenimentul ı̂n care γ este trimis prin canalul de comunicaţie c


c?γ: evenimentul ı̂n care γ este primit prin canalul de comunicaţie c
c!γ şi c!γ sunt acţiuni complementare
Tranziţiile care folosesc un simbol de acţiune trebuie executate
simultan cu tranziţiile care folosesc simbolul de acţiune
complementar.
Acţiunea complementară trebuie să aibă loc ı̂ntr-un alt agent, de
exemplu ı̂ntr-o altă maşină Turing reactivă.

20 / 53
Maşini Turing reactive

Pentru a face calcule interne, o MTR poate folosi simbolul pentru


tranziţie mută τ .
O maşină Turing standard poate fi modelată printr-o MTR care
foloseşte doar τ -tranziţii.

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

Figure 1: M1 , an example of an RTM.

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

Turing reactive M = (Q, Γ, C, Aτ , →, qI , QF ) este un sistem de tranziţie


A-etichetat astfel ı̂ncât:
S este mulţimea configuraţiilor lui M (vezi Definiţia 3)
A = Aτ este mulţimea de etichete
A
−→ este cea mai mică relaţie astfel ı̂ncât pt. or. a ∈ Aτ ,
d, e, f ∈ Γ , δL , δR ∈ Γ∗ , avem
a ˘ δR ) a[e/f]L
(q, δL d ĕδR ) −→ (q 0 , δL df ddacă q −−−−−→ q 0
a ˘ R) a[e/f]R
(q, δL ĕdδR ) −→ (q 0 , δL f dδ ddacă q −−−−−→ q 0

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

Figure 1: M1 , an example of an RTM.


Cum M1 nu are nicio stare finală, sistemul de tranzi̧tie este infinit.

8
24 / 53
Compunere paralelă

Pentru a descrie interacţiunea, avem nevoie de mai multe MTR


rulate ı̂n paralel.
Putem defini compunerea paralela a două MTR M1 şi M2 folosind
canale de comunicaţie, notată
[M1 k M2 ]C ,
unde C este mulţimea canalelor de comunicaţie observabile din
exterior.

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.

Compunerea paralela a lui M1 şi M2 este definită ca fiind


[M1 k M2 ]C = (Q, C, →, qI , QF )
unde
Q = Q1 × Q2 este mulţimea stărilor combinate ale lui M1 şi M2
C ⊆ C1 ∪ C2 este o mulţime de canale de comunicaţii comună
qI = (qI1 , qI2 ) este starea iniţială
QF = QF1 × QF2 este mulţimea stărilor finale

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

Sistemul de tranziţie asociat compunerii paralele a lui M1 şi M2 este


A
TMTR (M) = TMTR ([M1 k M2 ]C ) = (S, Aτ , −→, sI , sF )
unde
S = S1 × S2
A = A 1 ∪ A2
sI = (sI1 , sI2 )
sF = sF1 × sF2

28 / 53
Sistemul de tranziţie asociat unei compuneri paralele

Definiţie (10 (cont.))


A
−→ este relaţia binară astfel ı̂ncât
a
(s1 , s2 ) −→ (a10 , a20 )
dacă există a ∈ Aτ \ {c!g , c?g | c ∈ C şi g ∈ Γ } şi
a a
1 fie (s1 −→ s10 şi s2 = s20 ) sau (s1 = s10 şi s2 −→ s20 ) sau
2 a = τ şi
c!g c?g
s1 −→ s10 şi s2 −→ s20 sau
c?g c!g
s1 −→ s10 şi s2 −→ s20 ,
unde g ∈ Γ şi c ∈ C

29 / 53
Sistemul de tranziţie asociat unei compuneri paralele

Comunicarea dintre două MTR prin nişte canale de comunicaţie devin


τ -tranziţii invizibile când ne uităm la compunerea lor paralelă

M1 M2
i

Comunicarea
Figure 2: internă ı̂n [M1 k M
Internal communication in2 ]i[M
devine neobservabilă
1 ||M2 ]{i} is unobservable

Example 3.7. To illustrate parallel composition we need another RTM to


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
30 / 53
Compunerea paralelă

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

start qeven qodd

i?a[⇤/a]R

i?#[⇤/#]R i?#[⇤/#]R

q1 o!#[⇤/⇤]L q3 o!#[⇤/⇤]L

o!1[⇤/⇤]R o!0[⇤/⇤]R

q2 q4

Figure 3: M , another example of an RTM. 32 / 53


tions of their complementary action symbol. The complementary action
must take place in another agent, for example another RTM. The transi-
Compunerea
tion qi
c! [a/b]R paralelă
! 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 an RTM can use the silent, unobservable transition ⌧ . A standard
Turing machine can be modelled by an RTM that only uses ⌧ -transitions.

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

Figure 1: M1 , an example of an RTM.

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

Au fost dezvoltate ı̂n 2004 de D. Goldin


Maşinile Turing persistente sunt cele mai mici extensii ale maşinilor
Turing standard care pot captura ideea de interacţiune
Maşinile Turing persistente sunt maşini Turing cu 3 benzi

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

o MTP foloseşte 3 benzi:


prima bandă este de intrare şi doar de citire,
a doua bandă este de lucru şi de citire/scriere
a treia bandă este de ieşire şi doar de scriere

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

Capul unei benzi poate sta nemişcat folosind S.

39 / 53
Maşini Turing persistente

Exemplu (1)
[⇤/S, a/a/R, ⇤/S]

start q1 q2

[⇤/S, a/a/R, ⇤/S]


[⇤/R, ⇤/⇤/S, ⇤/R] [⇤/R, ⇤/⇤/S, ⇤/R]
a
[a/R, ⇤/⇤/R, ⇤/S]

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

Pentru a modela interacţiunea, MTP au noţiunea de macro-paşi.


Înaintea unui macro-pas, o MTP are o intrare pe prima bandă.
Banda de lucru poate conţine un cuvânt, iar banda de ieşire este
goală.
Maşina apoi calculează o ieşire care o să fie scrisă pe banda a treia.
Conţinutul benzii de lucru se poate modifica ı̂n acest proces.
După un macro-pas, conţinutul benzii de ieşire este şters şi MTP
primeşte o nouă intrare.
Conţinutul benzii de lucru persistă ı̂ntre 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

Un macro-pas (privit ca o secvenţă de micro-paşi) se termină cand


MTP ajunge ı̂ntr-o stare finală.
Când este util, vom identifica starea unei MTP cu conţinutul benzii
de lucru.
Caz special:
wi/µ
Dacă M diverge, notăm w −−−−→ s∞ , unde s∞ este o stare specială
pentru divergenţă, iar µ este o ieşire specială pentru divergenţă.
Deoarece o MTP se comportă haotic după ce diverge, avem
wi/µ
s∞ −−−−→ s∞ , pentru orice wi .

44 / 53
Comportamentul unei MTP

Pentru a descrie comportamentul unei MTP M folosim descrierea


fM (wi , w ) = (wo , w 0 ),

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

O MTP primeşte ca intrare elemente din fluxuri.


Un flux conţine un element şi un alt flux (definiţie coninductivă).

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

Vom folosi fluxuri peste A = Γ × (Γ ∪ {µ}). Astfel, fluxurile sunt de forma


((wi , wo ), σ),
unde σ ∈ SΓ×(Γ∪{µ}) .

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

TMTP (M) = (S, A, −→, sI , sF )


A

asociat unei maşini Turing persistente M = (Q, Γ , →, qI , QF ) este un


sistem de tranziţie A-etichetat astfel ı̂ncât:
S ⊆ Γ∗ ∪ {s∞ } este mulţimea stărilor
A = Γ × (Γ ∪ {µ}) este mulţimea simbolurilor de acţiuni
−→⊆ S × A × S este relaţia de tranziţie
A

sI ∈ S \ {s∞ } este starea iniţială


sF = ∅

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 = ✏

Figure 5 is a graphical representation of a small part of this transition sys-


Exemplu
tem. (4 cont.)
Only the transitions from the initial state are depicted, but from any
state ai there is a transition to aj with i < j.
Mai jos sunt reprezentate doar tranziţiile din starea iniţială.

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

S-ar putea să vă placă și