Edizione I – Problema 8

Dato un numero intero positivo n, (n div 2) è il quoziente della divisione intera.
Ad esempio, (6 div 2) è il numero 3, mentre (9 div 2) è il numero 4.

Programmare una Macchina di Turing che, dato un nastro iniziale contenente una sequenza composta da n A consecutive (con n > 1), termina la sua esecuzione lasciando sul nastro la sequenza composta da (n div 2) A consecutive.

Esempi

Nastro inizialeNastro finale
1°AAAAAA
2°AAAAAAA
3°AAAA
4°AAA

Diagramma di stato

0108
  • Se legge due A consecutive va a destra, scrive X e ritorna a sinistra
  • Altrimenti traduce le X in A e si ferma

Tabella delle transizioni di stato

AX–
01, -, >0, A, >
12, -, >1, A, >
22, A, >2, X, >R, X, <
RR, A, <R, X, <0, -, >

Quintuple

(0, A, 1, -, >)
(0, X, 0, A, >) 
(1, A, 2, -, >)
(1, X, 1, A, >) 
(2, AX, 2, AX, >)
(2, -, R, X, <)
(R, AX, R, AX, <)
(R, -, 0, -, >)
  1. Ha letto la prima A
  2. Traduce le X in A
  3. Ha letto la seconda A
  4. Traduce le X in A
  5. Va a destra
  6. Scrive X
  7. Ritorna a sinistra
  8. Ricomincia

Lascia un commento