Está en la página 1de 8
700 Matemética discretay sus aplicaciones 33. Para cada una de las cadenas siguientes, determina si esti o no generada por la gramética dada para la notacién postfija, En caso afirmativo, detalla los pasos realizados ~ para generar la cadena. a) abces b) ae @) wxyz-«/ ©) ade ©) ye 34, Usiiza Ia forma de Backus-Naur para deseribir a sintaxis de las expresiones en notacién infija, donde el conjunto de operadores ¢ identificadores es el mismo que en la FBN de las expresiones postfijas dadas en el preémbulo 4del Problema 33, pero los paréntesis deben encerrar las 35, Para cada una de las cadenas siguientes, determina si «std o no generada por la gramética dada para la notacién, infja det Problema 34. En caso afirmativo, detalla los pa- 0s realizados para generar la cadena, b) alb+cld d) tm-n+p—q a) xtyez ©) me (n+p) 2 (men* p-a) 36. Soa G una gramética y R la relaci6n que contiene al par ordenado (vy ,) si, s6lo si, w, se deriva drectamente de wy en G. {Cuil es el ciere reflexivo-transitivo de R? ‘expresiones que se uilicen como factores. INTRODUCCION Muchos tipos de méquinas, incluyendo algunos componentes de ordenadores, pueden ser modelados utilizando una estructura llamada méquina de estado finito. Varios tipos de mé- uinas de estado finito se emplean frecuentemente como modelos. Todas estas versiones de ‘méquinas de estado finito incluyen un conjunto finito de estados, uno de los cuales es el estado inicial, un alfabeto de entrada y una funcién de transici6n que asigna a cada pareja de estado y dato de entrada el siguiente estado, Las méquinas de estado finito se utilizan con mucha fre~ cuencia en aplicaciones de ciencias de la computacién y en redes de datos. Por ejemplo, las maquinas de estado finito son la base de los correctores ortogritficos y gramaticales, de los. programas de indexacién o de biisqueda de largas secuencias de texto, de programas para el Feconocimiento de voz, de los programas que transforman texto utilizando lenguajes de mar- cado como XML y HTML y de los protocolos que especifican eémo se comunican entre sf los ordenadores de una red. En esta seccién estudiaremos aquellas méquinas de estado finito que producen una salida, Mostraremos c6mo se utiliza una méquina de estado finito para modelar una maquina expende- dora, una méquina que genera un desplazamiento o retardo, una maquina que suma enteros y una ‘méquina que determina si una cadena de bits contiene o no un patrén especifico. Antes de pasar a la definicién formal, mostraremos cémo se puede modelar una méquina ex- pendedora que acepta monedas de 5, 10 y 25 céntimos. Cuando un cliente ha depositado 30 cén- timos o més, 1a mquina devuelve inmediatamente todo lo que sobrepase de 30 céntimos. A continuacién, el cliente puede apretar un bot6n naranja y obtener un zumo de naranja o apretar tun bot6n rojo y obtener un zumo de manzana. Podemos describir cOmo trabaja la maquina espe- cificando sus estados, e6mo cambia de un estado a otro cuando recibe un dato de entrada y la sa- lida que produce para cada combinaci6n de entrada y estado actual. ‘La méquina puede estar en uno de los siete estados diferentes 5, 1=0, 1, 2, ... 6, donde s,¢ elestado en el que Ia mquina lleva recaudados 5i céntimos. La méquina comienza en el estado 5, con 0 eéntimos recaudados. Las posibles entradas son 5 céntimos, 10 céntimos, 25 céatimos, el bo- ‘6n naranja (N) y el botén rojo (R). Las posibles salidas son nada (n), 5 céntimos, 10 céntimos, 15 céntimos, 20 céntimos, 25 céntimos, un zumo de naranja y un zumo de manzana. Con este ejemplo ilustramos cémo trabaja este modelo de méquina. Supongamos que un estudiante introduce 10 céntimos seguidos de 25 céntimos, la maquina le devuelve 5 cénti- ‘mos, y él aprieta el bot6n naranja del zumo de naranja. La méquina comienza en el estado 5, La primera entrada es 10 céntimos, que cambia el estado de la maquina a s, y no devuelve nada. La segunda entrada es 25 céntimos. Esto cambia el estado de s, a s, y da una salida de 5 céntimos. La siguiente entrada es el botén naranja, que cambia el estado de s, a 5, nueva- ‘mente (puesto que la maquina vuelve a su estado inicial) y produce una salida que es el zumo de naranja. Modelos de computacién. 701 ‘Tabla 1, Tabla de estados para una méquina expendedors, Entrada Entrada Euado| 5 10 2 N oR |S 0 2% ON R » |. 8 & § & | nm on non n 5] se 8 & 5 5 | mn non n s fs 8 8 8 5 | 2 2 5 2 n 5 fy & 5 & fom on 0 on n as LO fo Sk ” a n 5 | & & § & | Ss 1 2% ZN mM Figura 1. Una méquina expendedora. ‘Se pueden recoger en una tabla todos los cambios de estados y las salidas de esta maquina, Para ello tenemos que especificar para cada combinacién de estado y entrada el siguiente estado y Ja safida obtenida. La Tabla 1 muestra las transiciones y las salidas para cada pareja de estado y en- trada, ‘Otro modo de mostrar las acciones de una méquina es mediante un grafo dirigido con aristas etiquetadas, donde cada estado se representa por un cfrculo, las aristas representan las transiciones ¥y esti etiquetadas con las entradas y las salidas de cada transiciGn. La Figura 1 muestra dicho gra- fo para el ejemplo de la méquina expendedora. MAQUINAS DE ESTADO FINITO CON SALIDA asamos a dar la definicién formal de una méquina de estado finito con salida. DEFINICION 1 702 Matemética discretay sus aplicaciones EJEMPLO 1 EJEMPLO 2 EJEMPLO3 EJEMPLO 4 Sea M = (S, I, O, f, 8, 5,) una méquina de estado finito. Podemos utilizar una tabla de estados 0 tabla de transicién para representar los valores de Ia funcién de transicién fy de la funci6n de sa lida g para todas las parejas de estado y entrada. Con anterioridad hemos construido una tabla de estados para la mquina expendedora de la introduccidn de esta seccién, {La tabla de estados de la Tabla 2 describe una méquina de estado finito con S = (sy 5.5.5), = {0,1} y O= {0, 1}. Los valores de la funcién de transici6n f se muestran en las dos primneras co- Iumnas y los valores de la funci6n de salida g se muestran en las dos titimas columnas.

También podría gustarte