Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aa:lab:3 [2022/11/05 13:15]
dmihai
aa:lab:3 [2024/10/31 20:08] (current)
stefan.sterea [Exerciții]
Line 1: Line 1:
-====== Reduceri ​Turing ​======+====== Reduceri ======
  
-<note important>​ +Reducerile sunt o unealtă folositoare pentru a demonstra (ne)decidabilitatea/​acceptabilitatea unor probleme. Vom folosi în mod predominant reducerile pentru a demonstra prin absurd că o problemă nouă $ f$ nu este decidabilă,​ atfel:
-Solutii: https://​drive.google.com/​drive/​folders/​1gTA4sF6inYPcwaR6sx-iS88uWJkSzE-7 +
-</​note>​ +
- +
-Reducerile ​Turing ​sunt o unealtă folositoare pentru a demonstra (ne)decidabilitatea/​acceptabilitatea unor probleme. Vom folosi în mod predominant reducerile pentru a demonstra prin absurd că o problemă nouă $ f$ nu este decidabilă,​ atfel:+
  
   * presupunem că $ f$ e decidabilă,​ deci există o mașină $ M_f$ care o decide   * presupunem că $ f$ e decidabilă,​ deci există o mașină $ M_f$ care o decide
Line 16: Line 12:
  
 <​note>​ <​note>​
-În continuare, ​problemele $ f_{all}$ și $ f_{any}$ sunt cunoscute ca nedecidabile: +În continuare, ​aveti un {{:aa:​lab:​cheatsheet.pdf|}} pentru a va ajuta la rezolvări.
- +
-  * $ f_{all}(M) = 1 \iff \forall w, M[w] \rightarrow TRUE$ +
-  * $ f_{any}(M) = 1 \iff \exists w, M[w] \rightarrow TRUE$ +
 </​note>​ </​note>​
  
Line 26: Line 18:
  
   * $ f_{111}(M) = TRUE \iff  M[111] \rightarrow TRUE$   * $ f_{111}(M) = TRUE \iff  M[111] \rightarrow TRUE$
 +
   * $ f_{p}(M) = TRUE \iff \forall w, M \text{ decide dacă w e palindrom} $   * $ f_{p}(M) = TRUE \iff \forall w, M \text{ decide dacă w e palindrom} $
 +
   * $ f_{rev}(M) = TRUE \iff \forall w, M \text{ computează inversul lui w}$   * $ f_{rev}(M) = TRUE \iff \forall w, M \text{ computează inversul lui w}$
 +
   * $ f_{own}(M) = TRUE \iff M[enc(M)] \rightarrow TRUE$   * $ f_{own}(M) = TRUE \iff M[enc(M)] \rightarrow TRUE$
 +
   * $ f_{finite}(M) = TRUE \iff M \text{ se oprește pentru un număr finit de cuvinte}$   * $ f_{finite}(M) = TRUE \iff M \text{ se oprește pentru un număr finit de cuvinte}$
 +
   * $ f_{set}(A, M) = TRUE \iff \forall w \in A, M[w] \text{ halts}$   * $ f_{set}(A, M) = TRUE \iff \forall w \in A, M[w] \text{ halts}$
 +
   * $ f_{x}(M) = TRUE \iff \exists w, M[w] \text{ scrie un x pe bandă la un moment dat}$   * $ f_{x}(M) = TRUE \iff \exists w, M[w] \text{ scrie un x pe bandă la un moment dat}$
-  * $ f_{eq}(M_1, M_2) = TRUE \iff  \forall w, M_1[w] \equiv M_2[w]$; i.e. mașinile au același comportament (fie acceptă, fie resping, fie computează aceeași valoare, fie ciclează) pentru orice cuvânt. 
  
 +  * $ f_{eq}(M_1, M_2) = TRUE \iff  \forall w, M_1[w] \equiv M_2[w]$; i.e. mașinile au același comportament (fie acceptă, fie resping, fie computează aceeași valoare, fie nu se termină) pentru orice cuvânt.
 +
 +<note tip>
 +În continuare, problemele $ f_{all}$ și $ f_{any}$ sunt cunoscute ca nedecidabile:​
 +  * $ f_{all}(M) = 1 \iff \forall w, M[w] \rightarrow TRUE$
 +  * $ f_{any}(M) = 1 \iff \exists w, M[w] \rightarrow TRUE$
 +</​note>​
 2. Construiți următoarele reduceri: 2. Construiți următoarele reduceri:
  
   * $ f_{all} \le_m f_{eq}$   * $ f_{all} \le_m f_{eq}$
 +
   * $ f_{any} \le_m f_{eq}$   * $ f_{any} \le_m f_{eq}$
 +
   * $ f_{p} \le_m f_{eq}$   * $ f_{p} \le_m f_{eq}$
 +
   * $ f_{own} \le_m  f_{eq}$   * $ f_{own} \le_m  f_{eq}$
 +
 +<note tip>
 +Dacă $ t_{1}$ şi $ t_{2}$ sunt două funcţii computabile $ \Rightarrow t = t_{1} \circ t_{2} $ este computabilă.
 +</​note>​
  
 3. Demonstrați că relația $ \le_m$ e reflexivă și tranzitivă. 3. Demonstrați că relația $ \le_m$ e reflexivă și tranzitivă.
 +
 +<note tip>
 +Soluțiile acestui laborator se găsesc [[aa:​lab:​sol:​3|aici]]
 +</​note>​
 +