máquinas de turing para mub
This commit is contained in:
parent
b0c374e0fc
commit
43ae22c007
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
Loading…
Reference in New Issue