You are on page 1of 3

La Mquina de Post La mquina de Post es una abstraccin, no existe fsicamente, pero su funcionamiento es similar al de un ordenador real. Emil L.

Post y A. M. Turing fueron los primeros en hablar sobre qu es y qu implica un algoritmo, concepto que es de gran importancia en los campos de la lgica matemtica, la ciberntica y la automatizacin, pues se refiere a una secuencia finita y ordenada de instrucciones que han de seguirse para resolver una tarea. La mquina de Post es menos conocida que la de Turing, esto se debe a que era ms simple, sin embargo los principios de programacin? de ambas mquinas eran similares a los de las primeras computadoras "reales/universales"; por lo mismo, las construcciones hechas en estas mquinas ofrecen una introduccin a la teora de algoritmos. De aqu la importancia de dedicarse un tiempo a conocerlas para comenzar a familarizarnos con la programacin. I A pesar de no existir la la mquina de Post, basta con imaginarla para comprender su funcionamiento; y eso lo lograremos con la siguiente descripcin de la misma. La mquina de Post consta de dos partes: una cinta, dividida en clulas iguales que consideraremos infinitas, y un carro, el cual observa la clula en la que se encuentre; es posible enumerar las clulas a manera de una recta con los enteros positivos y negativos (coordenarla), por lo general el carro inicia frente a la clula marcada con el nmero cero. Cada clula de la cinta puede estar vaca [ ] o marcada [V], esto determinar el estado de la cinta. El carro puede estar inmvil, frente a una sola clula observndola, o en movimiento, en transicin entre dos clulas; con cada paso el carro puede avanzar una clula a la izquierda o a la derecha, marcar o vaciar la clula en la que se encuentra o identificar el estado de la sta. Juntos. El estado de la clula y la posicin del carro determinan el estado de la mquina de Post, ste afectar en el funcionamiento de un programa de la mquina de Post y ser modificado por el mismo. El funcionamiento de la mquina de Post, es decir, su capacidad para mover el carro, leer una clula y marcar o vaciar sta depende de la instruccin que le demos a la mquina. Las instrucciones de la mquina de Post estn determinadas por los siguientes aspectos: 1. Primer aspecto. Instrucciones de movimiento a la derecha i => j 2. Segundo aspecto. Instrucciones de movimiento a la izquierda i <= j 3. Tercer aspecto. Instrucciones de impresin de marca, iVj

4. Cuarto aspecto. Instrucciones de vaciado de la marca ij 5. Quinto aspecto. Instrucciones de salto del control j1 / i? \ j2 6. Sexto aspecto. Instrucciones de parada i stop. El nmero i se denomina nmero de instruccin, siendo 1 la instruccin con la que comenzar el programa; el nmero j se denomina salto e indica qu nmero de instruccin seguir despus de haber cumplido la instruccin de nmero i, la instruccion de parada no tiene salto. A una lista finita de estas instrucciones la llamaremos programa de la mquina de Post. Para que nuestra mquina empiece a funcionar es necesario tener listo un programa y establecer cierto estado en la mquina; supondremos que en el estado inicial de la mquina de Post siempre comienza con el carro posicionado en la clula cero. El programa obedecer la instruccin 1 en el primer paso, acto seguido, obedecer la instruccin que el nmero de salto j le indique; de esta manera pueden darse ciertos casos: siendo que en el k-simo paso se cumplacon la instruccin i, si sta tiene un nico salto j, durante el k+1-simo paso cumplr la instruccin de nmero j, si sta tuviese dos saltos j1 y j2 obedecer uno de los dos saltos dependindo del estado e la clula, si la instruccin del k-simo paso no tiene salto no hay instruccin a seguir y la mquina para. En el caso de una instruccin de salto del control depender del estado de la clula observada por el carro el seguir el salto j1 o j2; si la clula observada se encuentra vaca, seguir el salto j1, y si la clula observada se encuentra marcada, seguir el salto j2. En el caso de la instruccion de marcar, si el carro se se encuentra en una clula vaca [ ] sta ser marcada con [V], pero de encontrarse vaca, la tarea se considerara irrealizable por lo que la mquina parara; con la instruccin de vaciar, de encontrarse el carro en una clula marcada [V] sta ser vaciada [ ], pero si la clula esta vaca, la tarea se considerar irrealizable parando la mquina. Despus de poner en funcionamieto la mquina, se puede llegar a uno de tres resultaos posibles: 1) la mquina se enfrentar a una instruccin irrealizable, prouciendo una parada sin reultados. 2) la mquina alcanza a cumplir la instruccin de parada, produciendo una parada de resultados. 3) la mquina no llega a ninguna parada de las anteriores, funcionando infinitamente. A continuacin podemos observar un ejemplo en el que ocurren los 3 resultados dados 3 estados diferentes de la mquina de Post. Para facilitar la redaccin del texto, esta instruccin la quedar indicada como: i ? (j1 / j2)

Programa: 1. 2. 3. 4. A. B. C. ?(4/1) 3 stop => 2 Ubicaremos al carro con un *

[ ][ ][ ][* ][ ][V][V][V][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][V][V*][V][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][V][V][V][ ][ ][* ][ ][ ][ ][ ]