MTSolution

Composición de Maquinas

MTSolution permite componer una Maquina de Turing a partir de otros automatas, como pueden ser:

  1. otras maquinas de Turing
  2. automatas de pila
  3. automatas finitos

Definición de Componentes

Para utilizar otro automata, primero se lo debe incluir, y definir un alias, que será la referencia a ese automata.

El botón de Administración de subautomatas solo está habilitado para Maquinas de Turing. Al presionarlo despliega el siguiente dialogo

Este dialogo vinculará un alias con un archivo de definición de automata. Si el automata es Finito o de Pila, solo tendrá una cinta, la cinta de entrada para la cadena a reconocer.

Utilización de Componentes

La forma en la que se define la reutilización es a partir del nuevo estado en la transicion de la MT. El nuevo estado, podrá ser ademas de un estado simple, una llamada a otra maquina. Esto se puede definir con la ayuda de un asistente, eligiendo entre la lista de posibles estados la que indica "@..".

 

 

 

 

 

Definición de llamadas

El asistente permite definir :

  1. Submaquina que se va a utilizar, eligiendola a partir del alias
  2. Estado al que debe ir la MT en caso de aceptación
  3. Estado al que debe ir la MT en caso de rechazo
  4. Estado al que debe ir la MT en caso de no obtener respuesta
  5. Definición de los parametros de entrada. Tal como en un llamado a función, al invocar la ejecución de una maquina se le debe indicar con que cintas locales se van a instanciar (cargar) la submaquina. La instanciación de la submaquina es por referencia, es decir que cualquier cambio que se realice en la submaquina sobre las cintas se reflejará en la maquina invocadora.
  6. En el edit inferior, se puede ver el texto que define la llamada. El formato es @alias(E1,E2,E3,(cinta1,cinta2,...,cintaN)

Ejemplo

Un ejemplo consiste en la suma de X+Y, donde [X] se pone en una cinta, [Y] en otra y la suma en una tercera cinta [X+Y]. Es bastante sencillo de hacer sin modulos, pero es un buen ejemplo de modularizacion. la complicacion surge si uno desea realizar la suma y dejar el puntero de X+Y en el inicio.

 

 

Acerca del autor | Site Map | Privacy Policy | Contactame | ©2003 Company Name