This is an old revision of the document!


Reduceri Turing

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
  • alegem o problemă cunoscută $ g$ despre care știm deja (dintr-o demonstrație anterioară de la curs/laborator) că este nedecidabilă. Un exemplu bun este problema terminării.
  • găsim o transformare computabilă $ T: \Sigma^* \rightarrow \Sigma^*$ pentru care propoziția $ \forall w \in \Sigma^*, g(w) = TRUE \iff f(T(w)) = TRUE$ este adevărată
  • putem deci să construim mașina $ M_g$ care pentru orice input $ w$ simulează $ M_T$, apoi $ M_f$; rezultatul fiind că $ g$ e decidabilă
  • în urma contradicției, concluzionăm că presupunerea e greșită, deci $ f$ nu e decidabilă.
În continuare, aveti un cheatsheet.pdf pentru a va ajuta la rezolvări.

1. Demonstrați, folosind reduceri, că următoarele probleme sunt nedecidabile:

  • $ f_{111}(M) = TRUE \iff M[111] \rightarrow TRUE$

Click to display ⇲

Click to hide ⇱

O să încercăm să arătăm că $ f_{h} \le_m f_{111}$.

Trebuie să găsim o transformare t care primeşte inputul lui Halting Problem şi întoarce un input pentru $ f_{111}$: $ M, w \to t \to M^*$

După ce am găsit asta, mai ramane de demonstrat doar: $ f_{h}(M, w) = TRUE \iff f_{111}(M^*) = TRUE$

$ M^*(x):$

   run M[w]
   return x == 111

Demonstraţii:

  1. $ f_{h}(M, w) = TRUE \Rightarrow M[w] \text{se termină} \Rightarrow \text{vom returna x == 111} \Rightarrow \text{când x este 111}, M^* \text{va tranziţiona în Y} \Rightarrow M^*[111] \rightarrow TRUE \Rightarrow f_{111}(M^*) = TRUE$
  2. $ f_{111}(M^*) = TRUE \Rightarrow M^*[111] \rightarrow TRUE \Rightarrow \text{am ajuns la return} \Rightarrow \text{run M[w] din }M^* \text{nu a ciclat} \Rightarrow \text{M[w] s-a oprit} \Rightarrow f_{h}(M, w) = TRUE$

Din cele 2 direcţii ale demonstraţiei $\Rightarrow f_{h} \le_m f_{111}$.

  • $ 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_{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_{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_{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.

2. Construiți următoarele reduceri:

  • $ f_{all} \le_m f_{eq}$
  • $ f_{any} \le_m f_{eq}$
  • $ f_{p} \le_m f_{eq}$
  • $ f_{own} \le_m f_{eq}$

3. Demonstrați că relația $ \le_m$ e reflexivă și tranzitivă.