Copyright: Ayuda creada por: Beatriz Corzo Menéndez             1999


  Ingra 99 Contenido de la Ayuda

Ingra 99 es una aplicación para la ejecución y enseñanza de algoritmos de inducción de lenguajes regulares a partir de un conjunto de ejemplos también llamado muestra.

Este fichero de ayuda contiene información sobre los siguientes temas:

•	Trabajar con muestras

•	Ejecutar los algoritmos

•	Configurar las opciones de la aplicación

•	Resultados obtenidos

•	Otras funciones

•	Mensajes de error


Trabajar con Muestras

Antes de la ejecución de algún algoritmo y dependiendo de éste, será necesario cargar un fichero que contenga la/s muestra/s de partida.

Los ficheros de muestra con los que trabaja la aplicación son:

•	muestra positiva

•	muestra negativa

•	muestra test

•	muestra situación/acción

Las muestras cargadas permanecerán activas para todos los algorimos hasta que se abra un nuevo fichero de muestra o hasta que se cree una nueva muestra.

Los ficheros de muestra se podrán crear, guardar, abrir o ver desde Ingra 99 o desde cualquier editor externo a la aplicación.

Utilizar editor externo

Utilizar editor de Ingra 99


Utilizar Editor Externo

Para crear ficheros de muestra se deben tener en cuenta las siguientes consideraciones:

•	Si la muestra a crear es de tipo positiva, negativa o test :

1º. Cada cadena de la muestra o ejemplo deberá ir en una línea

2º. Guardar el fichero como tipo .txt

3º. Renombrar el fichero con la extensión correcta según el tipo de muestra creado.

Nota: Para introducir la cadena vacía ( λ ) debe insertarse el carácter '&'.

•	Si la muestra a crear es de tipo situación/acción :

1º. Cada par de la muestra debe ir en una línea, separando la situación de la acción con el carácter '/'. Las situaciones deben de comenzar por 'S' y las acciones por 'A', seguidas de uno o varios números.

    	2º. Cada secuencia debe ir separada de la anterior por una línea en blanco.

    	3º. Insertar al final del fichero DOS retornos de carro.

      4º. Guardar el fichero como tipo .txt

5º. Renombrar el fichero con la extensión correcta según el tipo de muestra creado.

Nota: Para introducir la secuencia nula debe insertarse 'S0/A0'.

Ejemplo:

S0/A0  −> par  (secuencia nula)

            	           −> fin de secuencia

S1/A1  −> par

S2/A1  −> par

            	           −> fin de secuencia

S2/A2  −> par

            	           −> fin de secuencia

            	           −> fin de fichero


Utilizar Editor Ingra 99

Para llevar a cabo las funciones de abrir, guardar, ver o crear un fichero de muestra se pueden utilizar los botones de la barra que se presentan en la ventana principal:

Las funciones se realizan sobre el tipo de muestra seleccionado en la opción configuración del menú principal.

Abrir y guardar presentan ventanas típicas de Windows.

Dependiendo del tipo de la muestra, existen dos posibilidades para crear el fichero correspondiente:

Nueva muestra

Nueva muestra de situación/acción


Crear Nueva Muestra

La ventana que permite la edición de una muestra del tipo positiva, negativa o test, presenta el siguiente aspecto:

•	Para añadir un nuevo ejemplo:

1º. Teclear en el campo de edición

2º. Pulsar <Enter> o botón <Añadir>

Nota: Para introducir la cadena vacía ( λ ) debe insertarse el carácter '&'.

•	Para borrar un ejemplo:

1º. Selecionar en la lista

3º. Pulsar botón <Borrar	>


Crear Nueva Muestra de Situacion/Accion
Crear Nueva Muestra de Situación/Acción

La ventana que permite la edición de una muestra del tipo situación/acción presenta el siguiente aspecto:

•	Para añadir un nuevo par en la secuencia actual:

1º. Teclear, en el campo de edición con formato, valores numéricos después de cada carácter.

2º. Pulsar <Enter> o botón <Añadir Par>

•	Para añadir una nueva secuencia:

Pulsar botón <Añadir Secuencia>

Nota: Para introducir la secuencia nula debe insertarse 'S0/A0'.


Muestra Positiva
Contiene un número determinado por el usuario de cadenas de un cierto lenguaje.

Será necesario un fichero de muestra positiva para la ejecución de los siguientes algoritmos:

 IM1, KR y KC.

Por defecto la extensión de los ficheros de este tipo es .pos


Muestra Negativa
Contiene un número determinado por el usuario de cadenas que no pertenezcan a un cierto lenguaje.

Será necesario un fichero de muestra negativa para la ejecución de los siguientes algoritmos:

 KR ejemplos negativos y KC ejemplos negativos.

Por defecto la extensión de los ficheros de este tipo es .neg


Muestra Test
Contiene un número determinado por el usuario de cadenas a reconocer por un autómata.

Será necesario abrir un fichero de muestra test para la validación de los siguientes algoritmos: IM1, KR y KC.

Por defecto la extensión de los ficheros de este tipo es .tst


Muestra Situacion/Accion
Contiene un número determinado por el usuario de secuencias formadas por pares de situación/acción.

Será necesario un fichero de muestra situación/acción para la ejecución de los siguientes algoritmos:

 SKR y SKC.

Por defecto la extensión de los ficheros de este tipo es .sya


Tipos de Muestras
Muestra Positiva:  necesaria para los algoritmos IM1, KR y KC en todas sus variantes.

Muestra Negativa:  necesaria para KR y KC versión ejemplos negativos.

Muestra Test: necesaria para validar resultados de los algoritmos IM1, KR y KC versiones estándar y

        ejemplos negativos.

Muestra Situacción/Acción: necesaria para los algoritmos SKR y SKC.


Extensiones
----------------------------------------------------

Tipo de Fichero	Extensión

----------------------------------------------------

Muestra Positiva	     .pos

Muestra Negativa	     .neg

Muestra Situación/Acción	     .sya

Muestra Test	     .tst


Ejecutar los Algoritmos

Mientras no se haya cargado un tipo de muestra adecuado, las opciones de ejecución de los distintos algoritmos no se habilitarán.

Las muestras cargadas permanecerán activas hasta que se abra un nuevo fichero o hasta que se cree una nueva muestra.

Para ejecutar un algoritmo basta con pulsar el botón asociado o elegir la opción del menú: Algoritmos.

Será necesario configurar la aplicación si los valores actuales de los botones no corresponden con los deseados.

Dependiendo del tipo de algortimo seleccionado será necesario introducir información adicional, o parámetros de entrada, distintos. Para ver más información seleccione una opción:

Algoritmo IM1

Algoritmo KR y KC

Algoritmo SKR y SKC


Algoritmo IM1

El IM1 necesita para su ejecución de un heurístico, el usuario deberá selecionar uno de los indicados en la ventana:

•	Si el heurístico seleccionado es K-Sufijos (como se muestra en la imagen superior) se deberá dar un valor para el parámetro K. El rango de los posibles valores que puede tomar este parámetro está acotado tanto inferior como superiormente.

•	Si el heurístico seleccionado es Levine (como se muestra en la imagen superior) no será necesario dar un valor para el parámetro k. En este caso, y una vez aceptado el heurístico, se mostrará una ventana donde será necesario seleccionar una de las cotas

      para el parámetro S. Estos valores son generados por el programa.

•	Si el heurístico seleccionado es Miclet no será necesaria la inserción de otros parámetros.

Una vez aceptados todos los valores necesarios, según el heurístico elegido, se

mostrará la ventana de resultados.

Si como resultado del IM1 se consigue un autómata no determinístico se presenta la opción de convertir o no, según decisión del usuario. En caso afirmativo se presentará una nueva ventana con los parámetros del nuevo autómata.


Algoritmos KR y KC

•	Los algoritmos KR y KC, en sus variantes estándar e incremental, necesitan para su ejecución de un parámetro. Este parámetro está acotado tanto inferior como superiormente. El usuario deberá selecionar uno de los indicados en la ventana:

Una vez aceptado el valor para el parámetro K se mostrarán los resultados obtenidos.

•	Si se está ejecutando la versión incremental, tanto del KR como del KC, la ventana de resultados presenta una configuración ligeramente distinta:

Para obtener un nuevo resultado a partir de una nueva cadena, debe insertarse ésta en el campo de edición y pulsar el botón <Añadir Ejemplo>.

•	La ejecución de la versión con ejemplos negativos dará como resultado un autómata, para un valor de K determinado, o bien un mensaje indicando que en el rango de los posibles valores de el parámetro K no se ha encontado una solución satisfactoria.


Algoritmos SKR y SKC

Para la ejecución de los algoritmos SKR y SKC no es necesaria información adicional a la muestra de Situación/Acción. Dicha ejecución dará como resultado una Máquina de Mealy determinística, para un valor de K determinado, o bien un mensaje indicando que para el valor actual del parámetro K no se ha encontado una solución satisfactoria. A la vista de los resultados obtenidos para el primer valor de K (= 0), el usuario podrá decidir seguir aplicando el algoritmo para el siguiente valor pulsando el botón <Siguiente K>.

Desde esta ventana se accede a funciones adicionales de la aplicación.


Configurar las Opciones

Tanto los botones de ejecución de los algoritmos, como los del editor podrán ser configurados según las preferencias del usuario.

•	En la imagen anterior las opciones de abrir, guardar, ver y crear un  nuevo fichero de muestra están activas para trabajar con una muestra del tipo positiva. El texto asociado a cada botón, según la opción elegida en la configuración de muestra, hará referencia al tipo actual.

---------------------------------------------------------------------------------------

Configuración escogida	Texto del botón

            ---------------------------------------------------------------------------------------

 Muestra Positiva 	S+

 	 Muestra Negativa 	S-

 Muestra Test	S test

 	 Muestra Situación/Acción	S/A

Para configurar los botones de acceso rápido:

1º. Pulsar la opción del menú Configuración.

2º. Pulsar la opción Muestra.

3º. Seleccionar el tipo deseado.

•	Las opciones de configuración de los algoritmos se refieren a las distintas versiones del KR y KC. En la imagen superior se han configurado estas opciones para ejecutar, desde los botones, el KR versión incremental y el KC versión con ejemplos negativos. El texto asociado a cada botón, hará referencia a la versión configurada.

---------------------------------------------------------------------------------------

Configuración escogida	Texto del botón

            ---------------------------------------------------------------------------------------

 KR 	KR

 	 KR incremental 	KR i

 KR con ejemplos negativos	KR -

Nota: Los textos para el KC son los mismos cambiando KR por KC

Para configurar los botones de acceso rápido:

1º. Pulsar la opción del menú Configuración.

2º. Pulsar la opción KR o KC.

3º. Seleccionar la versión deseada.


Otras Funciones

•	Validar

Una vez aceptado un fichero de muestra test para la validación, se presenta un gráfico con el resultado de la misma.

Sólo será accesible desde los resultados obtenidos con los algoritmos:

IM1, KR y KC versión estándar y con ejemplos negativos.

•	Guardar

Una vez aceptado un nombre para el fichero de resultados, se vuelca en el mismo los valores de los parámetros de la ventana desde donde se invoca.

•	Imprimir

Imprime, con formato, los resultados de la ventana desde donde se invoca.

Es accesible desde cualquier ventana de resultados.


Resultados

•	Ventana del árbol o aceptor de prefijos:

Desde esta ventana se tiene acceso a otras funciones  típicas de impresión y copia de resultados.

Para ver el autómata resultado, pulsar el botón <Autómata>.

•	Ventana del autómata resultado:

En esta ventana se muestran los valores de todos los parámetros que definen un autómata finito.

Se tiene acceso funciones nuevas de la aplicación.

•	Ventana de la máquina Mealy determinística obtenida:

En esta ventana se muestran los valores de todos los parámetros que definen una Máquina Mealy.

Desde esta ventana se tiene acceso a otras funciones  típicas de impresión y copia de resultados.

•	La ventana de resultados de la validación:

El gráfico representa:

- El cardinal de los conjuntos:

Muestra de partida

            Muestra de validación o test

- El número de ejemplos, pertenecientes a la muestra test, reconocidos

por el autómata actual.

- El número de ejemplos, pertenecientes a la muestra test, no reconocidos

por el autómata actual.


Mensajes de Error

•	'Muestra No válida'

La muestra cargada tiene caracteres incorrectos

•	'El archivo especificado no tiene extensión correcta'

La extensión del fichero de muestra que se intenta abrir o guardar no coincide con la 	configuración del tipo de muestra actual

•	'No existe Muestra Negativa'

No se ha cargado una muestra negativa antes de la ejecución de los algoritmos KR o 	KC versión con ejemplos negativos.

•	'No se ha seleccionado un Heurístico'

No se ha elegido un heurístico necesario para la ejecución del algoritmo IM1.

•	'No se ha seleccionado un valor para S'

No se ha elegido un valor necesario para la ejecución del algoritmo IM1.

•	'No se ha insertado un ejemplo'

El campo de edición de un nuevo ejemplo está vacío. Será necesario insertar una 	cadena distinta de ' ' para ejecutar los algoritmos KR o KC versión incremental.

•	'Error en el Par'

No se ha insertado valor numérico para la situación y/o acción, o el lugar de inserción 	no es el correcto.