Si bien las versiones sin interrupción de la etiqueta cíclica pueden ser de especial interés para los autómatas celulares, también se puede diseñar un sistema de etiqueta cíclica para simular una máquina Turing universal de manera que se detenga si la TM se detiene, mostrando una palabra de salida que codifica salida de la máquina:
Simule la TM con un sistema de 2 etiquetas que codifique todas las configuraciones instantáneas de la TM, utilizando un "alfabeto de salida" separado para codificar cualquier configuración de detención, de modo que el sistema de etiquetas se detenga (borrando esta palabra letra por letra) si TM se detiene. ( Este documento muestra en detalle cómo se puede hacer esto usando una formulación de TM de máquina Wang ).
Simule el sistema de 2 etiquetas mediante un sistema de etiquetas cíclicas como se describe en la sección del sistema de etiquetas cíclicas del artículo de Wikipedia . Dado que cada letra en el alfabeto de salida de 2 etiquetas tiene una cadena vacía como su anexo (lo que hace que la simulación de 2 etiquetas se detenga), el sistema de etiqueta cíclica tendrá el mismo comportamiento de detención / salida.
La clave en este enfoque es que un alfabeto de salida designado, digamos , permite que cada una de sus letras tenga la cadena vacía como su adjunto ( ), haciendo que la simulación borre la palabra de datos y detener.{αyo}αyo→ ϵ
NB : Para todos los tres tipos de sistema (TM, tag, etiqueta cíclico), la identificación inequívoca de salida se puede asegurar mediante el uso de un alfabeto de salida especificada, y esto se puede hacer tanto para detener y no detener las variedades de estos sistemas. (Dado que las TM "estándar" son del tipo de detención, es irónico que las máquinas de cómputo originales de Turing fueran de la variedad sin interrupción con el alfabeto de salida .){ 0 , 1 }
Con el mismo enfoque, también podemos construir directamente un sistema simple de 2 etiquetas para borrar cualquier s de una cadena binaria, luego simular eso con una etiqueta cíclica. Los cálculos se vuelven rápidamente tediosos, por lo que solo lo aplicaremos a la cadena de entrada , deteniéndonos con la cadena de salida . (El símbolo denotará la cadena vacía).0 010111-
2 etiquetas
input alphabet {a,b}, output alphabet {c}
input encoding:
<0> = aa
<1> = bb
input = <101> = bbaabb
output decoding: <cc> = 1
producciones:
a -> -
b -> cc
c -> -
cálculo:
bbaabb <-- input word <101>
aabbcc
bbcc
cccc <-- output word <11>
cc
-
etiqueta cíclica
codificación del alfabeto de 2 etiquetas:
<a> = 100
<b> = 010
<c> = 001
cyclic tag system = [-,001001,-,-,-,-]
cyclic tag input = <bbaabb> = 010010100100010010
cálculo:
appendant dataword
--------- ---------------------------------------------------------------
- 010010100100010010 <-- input word <bbaabb> = <<101>>
001001 10010100100010010
- 0010100100010010001001
- 010100100010010001001
- 10100100010010001001
- 0100100010010001001
- 100100010010001001
001001 00100010010001001
- 0100010010001001
- 100010010001001
- 00010010001001
- 0010010001001
- 010010001001
001001 10010001001
- 0010001001001001
- 010001001001001
- 10001001001001
- 0001001001001
- 001001001001 <-- output word <cccc> = <<11>>
001001 01001001001
- 1001001001
- 001001001
- 01001001
- 1001001
- 001001
001001 01001
- 1001
- 001
- 01
- 1
- -