Edizione V – Problema 1

Sostituzione di caratteri

Programmare una macchina di Turing che, dato un nastro iniziale contenente una sequenza arbitraria di simboli A e B, sostituisca ogni occorrenza di due simboli consecutivi AB con due simboli CD.

Nastro inizialeNastro finale
AABABBBAABAAABAABAAACDCDBBACDAACDACDAA
BBBBAAABBBBAAA
AABBACDB

Diagramma di stato

  • Salta eventuali B iniziali.
  • Una A potrebbe essere l’inizio della sequenza AB. Salta eventuali altre A.
  • Se arriva B scrive D, torna indietro e scrive C, ricomincia…

Tabella delle transizioni di stato

ABCD
01, A, >0, B, >
11, A, >2, D, <
23, C, >
30, D, >

Quintuple

(0, B, 0, B, >)
(0, A, 1, A, >)
(1, A, 1, A, >)
(1, B, 2, D, <)
(2, A, 3, C, >)
(3, D, 0, D, >)
  1. Salta le B
  2. Ha trovato una A
  3. Salta le A
  4. Ha trovato la B, scrive D
  5. Scrive C
  6. Salta la D e ricomincia

Lascia un commento