Vai al contenuto

Edizione I – Problema 5

  • di

Indichiamo con AnBm una sequenza del tipo A…AB…B.

Programmare una Macchina di Turing che, dato un nastro iniziale contenente una sequenza del tipo AnBm, con n>0 e m>0, termina la sua esecuzione lasciando sul nastro

  • una sola A se n>m
  • una sola B se m>n
  • una sola C se n=m.

Esempi

NASTRO INIZIALENASTRO FINALE
AAAABBA
AAABBBBBB
AAABBBC

Algoritmo

0105

  • Cancella una A a sinistra, va a destra e cancella una B, ritorna a sinistra
  • Ripete finché è possibile…
  • Se finiscono le A cancella le B rimaste e scrive B
  • Se finiscono le B cancella le A rimaste e scrive A
  • Se finiscono sia le A che le B allora scrive C
CodiceCommenti
(0,A,A,-,>)Ha trovato una A, va a destra
(0,B,BB,-,>)Ha trovato una B, cancella tutto
(0,-,H,C,>)Scrive C
(A,AB,A,AB,>)Va a destra
(A,-,R,-,<)In fondo…
(R,A,A,-,<)Cancella tutte le A
(R,-,H,A,>)Scrive A
(B,AB,B,AB,<)Va a sinistra
(B,-,0,-,>)In fondo…
(BB,B,BB,-,>)Cancella tutte le B
(B,-,H,B,>)Scrive B

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *