máquinas de turing para mub

This commit is contained in:
sejo 2021-07-05 18:27:24 -05:00
parent b0c374e0fc
commit 43ae22c007
2 changed files with 121 additions and 0 deletions

View File

@ -13,3 +13,10 @@ próximamente
una versión de la máquina universal bailable se presentó como acto escénico
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}
# archivo de log
en esta página se habla (en inglés) de su desarrollo e iteraciones:
=> https://ipfs.io/ipfs/QmYYqFXowEuak9NVNMHexrwZQkEnfH4J6weSPpv3kjFP94/mub/process.html m.u.b. proceso
=> https://ipfs.io/ipfs/QmYYqFXowEuak9NVNMHexrwZQkEnfH4J6weSPpv3kjFP94/mub/instructions.html m.u.b. basic score

View File

@ -166,3 +166,117 @@ dado un símbolo encontrado en la cinta, y un estado actual: ¿por cuál símbol
=> ./img/dibujo_tabla_d-turing_parentesis.png dibujo que representa la tabla de arriba, pero con símbolos estilizados
# contador
esta máquina escribe "1"s en la cinta en una dirección, hasta encontrar un "1" en la cinta (o por siempre, si no es así)
## alfabeto de símbolos posibles en la cinta
dos símbolos posibles: 0 y 1
## conjunto de estados posibles
un estado: a
## estado inicial
la máquina empieza en el estado a.
la cinta ha de empezar vacía (llena de "0"s) o con algún "1" en su extremo superior
```
0000001
```
la cabeza ha de empezar en alguno de los "0"s a la izquierda del "1"
## tabla de reglas
dado un símbolo encontrado en la cinta, y un estado actual: ¿por cuál símbolo hay que reemplazarlo, a qué dirección hay que mover la cabeza, y cuál ha de ser el nuevo estado?
+ <table>
+ <tr>
+ <th>estado actual</th><th>símbolo leído</th><th>nuevo símbolo</th><th>dirección</th><th>nuevo estado</th>
+ </tr>
+ <tr><td>a</td><td>0</td><td>1</td><td>derecha</td><td>a</td>
+ <tr><td>a</td><td>1</td><td>1</td><td>-</td><td>FIN</td>
+ </table>
& * si el estado es 'a' y el símbolo leído es 0, escribe 1, mueve la cabeza a la derecha, y quédate en el estado 'a'
& * si el estado es 'a' y el símbolo leído es 1, escribe 1, y termina la operación
la condición de finalización puede omitirse: cuando la máquina no encuentra una entrada en la tabla, que corresponda a la combinación estado + símbolo, se detiene.
## quintupla binaria
como solo hay un estado, podemos representarlo con 1 bit con valor 0.
los dos símbolos ya son las dos opciones de 1 bit, 0 o 1.
las dos direcciones posibles también son las dos opciones de un bit, 0 para derecha y 1 para izquierda.
esta máquina puede escribirse entonces como quintupla binaria, en formato: estado actual, símbolo actual, estado nuevo, símbolo nuevo, dirección:
```
00 010
```
esta quintupla puede usarse como parte de la cinta de la máquina universal bailable {mub}
# contador alternado
esta máquina escribe una secuencia de "10" en la cinta en una dirección, hasta encontrar un "1" en la cinta (o por siempre, si no es así)
## alfabeto de símbolos posibles en la cinta
dos símbolos posibles: 0 y 1
## conjunto de estados posibles
dos estados: a, b
## estado inicial
la máquina empieza en el estado a.
la cinta ha de empezar vacía (llena de "0"s) o con algún "1" en su extremo superior
```
0000001
```
la cabeza ha de empezar en alguno de los "0"s a la izquierda del "1"
## tabla de reglas
dado un símbolo encontrado en la cinta, y un estado actual: ¿por cuál símbolo hay que reemplazarlo, a qué dirección hay que mover la cabeza, y cuál ha de ser el nuevo estado?
+ <table>
+ <tr>
+ <th>estado actual</th><th>símbolo leído</th><th>nuevo símbolo</th><th>dirección</th><th>nuevo estado</th>
+ </tr>
+ <tr><td>a</td><td>0</td><td>1</td><td>derecha</td><td>b</td>
+ <tr><td>b</td><td>0</td><td>0</td><td>derecha</td><td>a</td>
+ </table>
& * si el estado es 'a' y el símbolo leído es 0, escribe 1, mueve la cabeza a la derecha, y cambia al estado 'b'
& * si el estado es 'b' y el símbolo leído es 0, escribe 0, mueve la cabeza a la derecha, y cambia al estado 'a'
las condiciones no especificadas detienen a la máquina.
## quintupla binaria
como hay dos estado, podemos representarlos como los valores de 1 bit, 0 para 'a' y 1 para 'b'.
los dos símbolos ya son las dos opciones de 1 bit, 0 o 1.
las dos direcciones posibles también son las dos opciones de un bit, 0 para derecha y 1 para izquierda.
esta máquina puede escribirse entonces como un par de quintuplas binarias, en formato: estado actual, símbolo actual, estado nuevo, símbolo nuevo, dirección:
```
00 110
10 000
```
estas quintuplas pueden usarse como parte de la cinta de la máquina universal bailable {mub}