5 votos

La conexión de autómatas finitos y regulares de idiomas en la enseñanza/aplicaciones

Estoy pensando en hacer una presentación para estudiantes de escuela intermedia, a la edad de diez a catorce años, acerca de los autómatas finitos y regulares de idiomas.

Promedio de los estudiantes Estadounidenses no tienen ningún problema con los usos de los conceptos de estados y transiciones, tales como el modelado de las actividades del mundo real y el diseño de dispositivos electrónicos.

Regular los idiomas (y expresiones regulares) son un poco más avanzados. Estos estudiantes son ciertamente capaces de manipular y utilizar, pero un cierto nivel de alfabetización informática es necesaria para ver su utilidad, por ejemplo en la búsqueda a través de texto.

Vamos a suponer que los estudiantes pueden lidiar con todo eso. El significado teórico de la equivalencia en el poder de los dos modelos aún parece un poco fuera de su alcance. Así que estoy buscando una manera de conectar los dos que serán accesibles.

La dificultad es que para los ejemplos canónicos, los dos modelos de participación de independientes preocupaciones.

Ejemplos de autómatas finitos incluyen el control de una máquina con un conjunto finito de entradas, como una máquina expendedora con monedas y botones. Excelente la participación del estudiante actividades en MathmaniaCS (UIUC) y CS Unplugged (buscar en todos ellos, pero estos son sólo acerca de FSMs).

Ejemplos de expresiones regulares incluyen describiendo las palabras de un idioma, como la búsqueda de patrones en un texto. Para un autómata finito, el objetivo es averiguar qué secuencias finitas de las acciones de llegar a un estado determinado, por ejemplo, qué combinaciones de cambio de obtener la cantidad correcta. Para una expresión regular, el objetivo es para que coincida con un patrón, normalmente infinito en posibilidades. La correspondiente expresión regular para la pregunta interesante en un autómatas finitos configuración es realmente muy interesante.

Por ejemplo, una máquina de estados finitos actividad que es divertido es una caza del tesoro, pasando de isla en isla (los estados) con un código secreto (la transición). Sin embargo, el lenguaje del código para obtener el tesoro es aburrido: una sola palabra en el idioma.

Para un interesante lenguaje de la pregunta en autómatas finitos, uno quisiera preguntar para no trivial de la expresión regular que es la descripción de un no-trivial solución a algunos de ruta de acceso en el autómata finito.

Mi pregunta es (por fin): ¿qué es un buen ejemplo de un no-trivial de la expresión regular que, para algunos autómata finito (esperemos que con las conexiones al mundo real), que se mete de un estado a otro?

2voto

J.-E. Pin Puntos 5730

Yo sé de un par de ejemplos:

(1) Scrabble diccionario: puede utilizar un autómata finito para aceptar un par de palabras en inglés. Ver Figura 2 en A. Appel y G. Jacobson, El más rápido del mundo de Scrabble programa, Commun. ACM 31, 572-578, 585 (1988). En realidad, esta técnica funciona muy bien en la práctica.

(2) los códigos Numéricos, contraseñas. Usted puede construir un pequeño autómata que acepta su número de tarjeta de crédito, pero rechaza los demás.

(3) la coincidencia de patrones (una variante de la anterior): usted puede escribir un pequeño autómata que busca las apariciones de una palabra dada, como el perro.

(4) el cruce de los ríos puzzles como el zorro, la gallina y bolsa de granos de puzzle, puede ser representado por un autómata finito.

(5) elevadores de Carga con dos botones de arriba y abajo.

(6) Un torniquete. Ver Wikipedia

(7) Varios cálculos en binario (más avanzado).

1voto

Thomas Phillips Puntos 108

(La pregunta es de fecha, pero ver una lista de las aplicaciones más complejas expresiones regulares puede ayudar a que alguien, algún día.)

Algunos ejemplos de posibles aplicaciones no triviales de expresiones regulares (mediante el cierre de Kleene) son:

  • Una máquina expendedora (que no tiene ningún límite para cuánto dinero se acepta). Esto es interesante debido a la variedad de billetes y monedas que pueden ser aceptadas.
  • Escribiendo un correo electrónico. La complejidad puede ser alta si la tecla de retroceso y el formato está permitido.
  • Una votación. La gente de la cola, registrar, mover y abrir una cabina de votación, votar, y el check out. Este es otro escenario que podría ser muy complejo, dependiendo de las transiciones permitidas.
  • Un vehículo contador que cuenta los coches que pasan por. (Pulse el botón para iniciar/detener el conteo.)
  • Una caja registradora. Actas de las compras.
  • La bomba de gas. Registro de gas líquido.

Todo lo anterior se cuenta, cuenta, o de lo contrario de la tienda hasta la entrada. Los estados de interés son: Inicio de Aceptar Datos --> Aceptar Datos --> Dejar de Aceptar los Datos

Los ejemplos ignorar el hecho de que la mayoría de los dispositivos físicos se producirá un error o de lo contrario, restablecer si la cadena de entrada es demasiado larga.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X