compudanzas/src/d-turing.gmo

95 lines
3.7 KiB
Plaintext

# d-turing
lang=es
bailando los inicios, una máquina de turing
parte de {las danzas}
=> ./img/dibujo_d-turing_parentesis.png dibujo de tres personas emitiendo un símbolo cada una, alrededor de una cinta de símbolos
# componentes
## participantes
la siguiente descripción depende de tres personas / roles:
* cabeza en cinta
* semáforo de estado
* instructora
la dinámica podría adaptarse fácilmente para dos o una persona(s), pero es más divertido bailarla en grupo.
## materiales
como materiales tangibles se requiere lo siguiente:
* un conjunto de objetos flexibles para crear una fila con ellos: por ejemplo cordones, calcetines, bloques de madera...
* una tabla de reglas en papel o arcilla; al menos en lo que se memoriza
## elementos
una máquina en específico consiste de los siguientes elementos:
* un conjunto finito de símbolos posibles a colocar en la cinta, con un conjunto de movimientos que correspondan uno-a-uno.
* una cinta con dichos símbolos, acomodados en una configuración inicial según sea el caso.
* un conjunto finito de estados posibles, cada uno con un movimiento correspondiente.
* un estado inicial.
* un par de movimientos que indiquen dirección en un eje; por ejemplo izquierda y derecha.
* una tabla de reglas, que responde lo siguiente: 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?
# guía
## preparación
es necesario que la cabeza en cinta conozca los símbolos posibles en la cinta, y sus movimientos correspondientes. además, ha de conocer los movimientos de dirección.
el semáforo ha de conocer los estados posibles y sus movimientos correspondientes.
la instructora tiene que conocer todos los movimientos nombrados arriba.
## inicialización
hay que acomodar la cinta de símbolos en una configuración inicial adecuada.
la cabeza en cinta se coloca al lado del primer símbolo.
el semáforo empieza a moverse con el estado inicial.
la instructora se prepara.
## el ciclo
la cabeza en cinta se empieza a mover transmitiendo en qué símbolo se encuentra.
la instructora observa el movimiento del semáforo y el movimiento de la cabeza en cinta, y busca en su tabla de reglas la entrada correspondiente:
¿qué acciones hay que tomar a partir del estado actual y del símbolo leído por la cabeza en cinta?
### con respuesta
si la tabla tiene una respuesta, la instructora empieza a moverse para transmitir las acciones a tomar:
* primero realiza un movimiento de símbolo: la cabeza en cinta lo recibe y lo usa para reemplazar al símbolo en el que se encuentra actualmente.
* cuando concluye la transformación, la instructora realiza un movimiento de dirección: la cabeza en cinta lo recibe y lo sigue para dirigirse al siguiente símbolo que se encuentra en esa dirección.
* finalmente, la instructora realiza un movimiento de estado: el semáforo lo recibe, y lo ha de empezar a realizar como indicación del estado actual.
terminando esas acciones, el ciclo vuelve a comenzar.
### sin respuesta
si la tabla no tiene una respuesta, entonces la máquina se detiene. el cómputo ha terminado.
# algunas máquinas
encuentra aquí {máquinas de turing} para implementar y bailar.
# simulación
podemos utilizar {turingsim} o {jarotsim} para simular estas danzas.
# enlaces relevantes
=> https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf on computable numbers, with an application to the entscheidungsproblem - alan turing 1936
=> https://mathworld.wolfram.com/TuringMachine.html Turing Machine -- from Wolfram MathWorld
=> https://www.wolframscience.com/nks/p78--turing-machines/ Turing Machines: A New Kind of Science | Online by Stephen Wolfram