Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
aa:lab:sol:4 [2023/11/07 15:01] stefan.sterea |
aa:lab:sol:4 [2023/11/10 21:00] (current) stefan.sterea |
||
---|---|---|---|
Line 36: | Line 36: | ||
Din faptul că ar trebui să decidem dacă mașinile se termină, în primul rând, pe inputul 111, pentru a vedea dacă vreuna din ele acceptă inputul, ne dăm seama că problema nu este decidabilă (și vom demonstra mai jos printr-o reducere). Totuși, din moment ce putem vedea dacă una din mașini a acceptat inputul atunci când îl acceptă, intuim că am putea face o astfel de verificare pentru ambele mașini simultan și atunci problema ar fi în $ {\rm RE} \setminus {\rm R}$. Într-adevăr, putem scrie următoarea mașină care acceptă problema: | Din faptul că ar trebui să decidem dacă mașinile se termină, în primul rând, pe inputul 111, pentru a vedea dacă vreuna din ele acceptă inputul, ne dăm seama că problema nu este decidabilă (și vom demonstra mai jos printr-o reducere). Totuși, din moment ce putem vedea dacă una din mașini a acceptat inputul atunci când îl acceptă, intuim că am putea face o astfel de verificare pentru ambele mașini simultan și atunci problema ar fi în $ {\rm RE} \setminus {\rm R}$. Într-adevăr, putem scrie următoarea mașină care acceptă problema: | ||
<code> | <code> | ||
- | M_or[enc((M1, M2))]: | + | M_or[(M1, M2)]: |
while (M1 nu s-a terminat) sau (M2 nu s-a terminat): | while (M1 nu s-a terminat) sau (M2 nu s-a terminat): | ||
simulează un pas din M1[111] | simulează un pas din M1[111] | ||
Line 65: | Line 65: | ||
La fel ca în cazul anterior, problema se află în $ {\rm RE} \setminus {\rm R}$, în mod analog. Mașina care acceptă problema este: | La fel ca în cazul anterior, problema se află în $ {\rm RE} \setminus {\rm R}$, în mod analog. Mașina care acceptă problema este: | ||
<code> | <code> | ||
- | M_and[enc((M1, M2))]: | + | M_and[(M1, M2)]: |
while (M1 nu s-a terminat) sau (M2 nu s-a terminat): | while (M1 nu s-a terminat) sau (M2 nu s-a terminat): | ||
simulează un pas din M1[111] | simulează un pas din M1[111] |