Propiedades de Clausura de los lenguajes regulares

Page 1

CONTENIDO Principales Propiedades de Clausura de Lenguajes Regulares

PHP Magazine E D I C I Ó N

N ° 3

3 0

D E

A B R I L

D E

2 0 1 5

Clausura de los lenguajes regulares para operaciones booleanas

Reflexión

Homomorfismo

Homomorfismo inverso

¿Sabias que?

Propiedades de clausura de los lenguajes regulares


PÁGINA

2

Editorial PHP Magazine para esta edición, decidió realizar un aporte a los estudios de autómatas, focalizándolo en las propiedades de clausura y lenguajes regulares. La finalidad es llevar el conocimiento sobre autómatas más profundo, de manera que alcance y supere las expectativas de quienes realizan con frecuencia distintos autómatas que permite la intersección entre ellos mediante los lenguajes regulares.

Lenguajes y autó-

Los Editores

matas Equipo Editorial [Director Editorial] Marycarmen Ramos marycarmenr893@g mail.com [Director de Arte] Ileanne Leal ileanne.leal@gmail.c om [Maquetación] Ileanne Leal ileanne.leal@gmail.c om [Documentación] Marycarmen Ramos marycarmenr893@g mail.com [Universidad] Universidad de Oriente—Monagas

Introducción Una clausura es considerado como un cierre o fin de algo, o también es conocido como una regla, entonces al ser los autómatas finitos maquinas estos requieren de las mismas ya que así pueden dar a conocer más fácil su entendimiento, al mismo tiempo que sus procesos pueden entenderse de mejor manera. Las cadenas dentro de los autómatas juegan un papel esencial al ser estas la parte que vital de un autómata ya que vienen a ser un conjunto de elementos que logran que el autómata alcance procesar estados. A causa de que el procesar esos estados muchas veces puede ser difícil de interpretar, se presenta el uso de los lenguajes en los autómatas; lo cual expresa la información de los datos capaces de procesar el autómata, yendo a un plano más real el autómata posee inteligencia artificial ya que sus procesos los genera un hombre (fabricante), por tanto asi como los humanos nos comunicamos por medio del habla los autómatas también deben mantener su propio lenguaje que permita a los usuario de los mismos poder hacer uso de ellas. Por tanto deben de respetarse toda propiedad que contengan los autómatas para que estos funcionen de manera correcta.


Propiedades de clausura de los lenguajes regulares

EDICIÓN

N°3

PÁGINA

3

“Si ciertos lenguajes son regulares y se forma un lenguaje L a partir de ellos mediante determinadas operaciones (por ejemplo, L es la unión de dos lenguajes regulares), entonces L también es regular”. Estos teoremas a menudo se denominan propiedades de clausura de los lenguajes regulares, ya que demuestran que la clase de lenguajes regulares es cerrada respecto de la operación mencionada. Las propiedades de clausura expresan la idea de que cuando uno o varios lenguajes son regulares, entonces determinados lenguajes relacionados también lo son. Además, sirven como ilustración de cómo las representaciones equivalentes de los lenguajes regulares (autómatas y expresiones regulares) refuerzan entre sí nuestra comprensión de la clase de lenguajes, ya que a menudo una representación resulta mucho mejor que las otras para demostrar una propiedad de clausura. (Hopcroft, J. E.; Motwani, R.; Ullman, J. D., 2008).

Principales Propiedades de Clausura Hopcroftet.al (2008), proporciona un resumen de las principales propiedades de clausura de los lenguajes regulares: 1. La unión de dos lenguajes regulares es regular. 2. La intersección de dos lenguajes regulares es regular. 3. El complementario de un lenguaje regular es regular. 4. La diferencia de dos lenguajes regulares es regular. 5. La reflexión de un lenguaje regular es regular. 6. La clausura (operador *) de un lenguaje regular es regular. 7. La concatenación de lenguajes regulares es regular. 8. Un homomorfismo (sustitución de símbolos por cadenas) de un lenguaje regular es regular. 9. El homomorfismo inverso de un lenguaje regular es regular


EDICIÓN

N°3

PÁGINA

Clausura de los lenguajes regulares para operaciones booleanas Clausura para la unión Según Hopcroftet.al.(2008) Teorema: Si L y M son lenguajes regulares, entonces también lo es L ∪M. Demostración: Esta demostración es simple. Dado que L y M son regulares, pueden representarse mediante expresiones regulares; por ejemplo, L = L(R) y M = L(S). Entonces L ∪M = L(R+S) de acuerdo con la definición del operador + para las expresiones regulares. Ejemplo para demostrar la propiedad de la Clausura de Unión: Se tienen los siguientes autómatas: A1: Acepta un numero impar de ceros

Figura 1. Automata que acepta numeros impares de 0s A2: Acepta Numeros Pares de unos

Figura 2. Autómata que acepta números pares de 1s

4


EDICIÓN

N°3

PÁGINA

Clausura de los lenguajes regulares para operaciones booleanas A12 (A1 U A2):

Figura 3. AFD resultado de la unión de A1 y A2 (A1UA2) que acepta todas las cadenas de ambos autómatas.

Clausura para la complementación. Según Hopcroftet.al.(2008) El teorema para la unión fue muy fácil gracias al uso de la representación de lenguajes mediante expresiones regulares. Sin embargo, a continuación vamos a considerar la complementación, es sencillo partir de un AFD y construir otro que acepte el lenguaje complementario. Teorema: Si L es un lenguaje regular con el alfabeto , entonces L = Σ∗ −L también es un lenguaje regular. Demostración. Sea L = L(A) para un AFD A = (). Entonces L = L(B), donde B es el AFD A = (). Es decir, B es exactamente como A, pero los estados de aceptación de A tienen que ser estados de no aceptación de B, y viceversa. Entonces w pertenece a L (B) si y sólo si (q0,w) pertenece a Q−F, lo que ocurre si y sólo si w no pertenece a L(A).

5


EDICIÓN

N°3

PÁGINA

Clausura de los lenguajes regulares para operaciones booleanas Ejemplo Para Demostrar la Clausura de la Complementación: A3: autómata que recibe el conjunto de todas las cadenas que terminan en 00.

Figura 4. AFD que recibe el conjunto de todas las cadenas que terminan en 00 A300: AFD complemento del A3

Figura 5. AFD que no acepta cadenas terminadas en 00.

6


EDICIÓN

N°3

PÁGINA

Clausura de los lenguajes regulares para operaciones booleanas Clausura para la intersección Según Hopcroftet.al.(2008) Ahora vamos a tratar la intersección de dos lenguajes regulares. Realmente poco es lo que tenemos que hacer, ya que las tres operaciones booleanas no son independientes. Una vez que disponemos de formas de realizar la complementación y la unión, podemos obtener la intersección de los lenguajes L y M mediante la siguiente identidad:

En general, la intersección de dos conjuntos es el conjunto de elementos que no pertenecen al complementario de ninguno de los dos conjuntos. Esta observación, que es lo que dice la Ecuación, es una de las leyes de De Morgan. La otra ley es la misma intercambiando la unión y la intersección; es decir,

Sin embargo, también podemos hacer una construcción directa de un AFD para la intersección de dos lenguajes regulares. Esta construcción, la cual esencialmente utiliza dos AFD en paralelo, es útil en sí misma. Teorema: Si L y M son lenguajes regulares, entonces también lo es L ∩ M. Demostración: Sean L y M los lenguajes de los autómatas

=(

)y

=(

)

Observe que estamos suponiendo que los alfabetos de ambos autómatas son idénticos; es decir, Σ es la unión de los alfabetos de L y M, si dichos alfabetos son distintos. La construcción del producto funciona tanto para los AFN como para los AFD, pero para hacer más sencilla la explicación, suponemos que AL y AM son autómatas AFD.

7


EDICIÓN

N°3

PÁGINA

Clausura de los lenguajes regulares para operaciones booleanas Ejemplo Para Demostrar la Clausura de la Intersección:

Figura 6. AFD que reconoce el lenguaje de las cadenas binarias con un número impar de ceros y un número par de unos (intersección)

Clausura para la Diferencia. Según Hopcroftet.al. (2008) Existe una cuarta operación que a menudo se aplica a los conjuntos y que está relacionada con las operaciones booleanas: la diferencia de conjuntos. En términos de lenguajes, L−M, la diferencia de L y M, es el conjunto de cadenas que pertenecen al lenguaje L pero no al lenguaje M. Los lenguajes regulares también son cerrados para esta operación y la demostración se obtiene fácilmente a partir de los teoremas demostrados anteriormente. Teorema:

Ejemplo Para DeSi L y M son lenguajes regulares, entonces L−M también lo es. mostrar la Clausura de la Intersección: Demostración. Observe que L−M = L ∩ . Por el Teorema de complementación, M es regular, y por el Teorema anterior, L ∩ M es regular. Por tanto, L−M es regular. Figura 6. AFD que reconoce el lenguaje

8


EDICIÓN

N°3

PÁGINA

Clausura de los lenguajes regulares para operaciones booleanas Ejemplo para demostrar la Clausura de Diferencia entre dos Autómatas: En la Figura 7 se muestran dos AFD. El autómata de la Figura 7(a) acepta aquellas cadenas que tienen un 0, mientras que el autómata de la Figura 7(b) acepta todas aquellas cadenas que tienen un 1. En la Figura 7(c) mostramos el producto de estos dos autómatas. Sus estados se han etiquetado con las parejas de estados de los autómatas de las figuras (a) y (b). Es fácil argumentar que este autómata acepta la intersección de los dos primeros lenguajes: aquellas cadenas que tienen tanto un 0 como un 1. El estado pr sólo representa la condición inicial, en la que no tenemos ni 0 ni El estado qr indica que sólo tenemos un 0, mientras que el estado ps representa la condición de que sólo hay un 1. El estado de aceptación qs representa la condición en la que se tiene tanto un 0 como un 1.

Figura 7. Construcción del Producto

9


EDICIÓN

N°3

PÁGINA

Reflexión

Según Hopcroftet.al.(2008) La reflexión de una cadena a1, a2…an es la cadena escrita en orden inverso, es decir, an, an-1…a1. Utilizamos wR para indicar la cadena refleja de w. Luego, la cadena refleja de 0100 es 0010 R y εR =ε . La reflexión de un lenguaje L, que se expresa como LR, es el lenguaje formado por las reflexiones de todas sus cadenas. Por ejemplo, si L = {001, 10,111}, entonces LR = {100, 01,111}. La reflexión es otra operación para la que los lenguajes regulares son cerrados; es decir, si L es un lenguaje regular, LR también lo es. Existen dos demostraciones sencillas, una basada en los autómatas y otra en las expresiones regulares. Teorema: Si L es un lenguaje regular, LR también lo es. Demostración: Supongamos que L está definido mediante la expresión regular E. La demostración se hace por inducción estructural sobre el tamaño de E. Demostramos que existe otra expresión regular E R tal que L(ER) = (L(E))R; es decir, el lenguaje de ER es la reflexión del lenguaje de E. Ejemplo: Sea L un lenguaje definido mediante la expresión regular (0+1)0∗. Entonces LR es el lenguaje de (0∗)R(0+1)R,por la regla de la concatenación. Si aplicamos las reglas para la clausura y la unión de las dos partes y luego aplicamos la regla básica que establece que las reflexiones de 0 y 1 no cambian, comprobamos que LR se corresponde con la expresión regular 0∗(0+1). Según Contreras (2012) Dada una cadena w = a1, a2,...an su reflexión se escribe al revés an, an−1, ...a1. Se denota wR a la refleja (reverso) de w. Su construcción se puede dar a partir del AF y de su ER

10


EDICIÓN

N°3

PÁGINA

Reflexión

Dado un Autómata A3 (Figura 4), se procede de la siguiente forma: Invertir todos los arcos del diagrama de A. Si δ(q,a) = p, entonces δN(p,a) = q Convertir el estado inicial de A en el único de aceptación Crear un nuevo estado inicial p0, con transiciones λ a todos los estados de aceptación de A. En el caso donde |F| = 1 entonces solo bastaría con colocar dicho estado como el inicial. Ejercicio para demostrar la clausura de la Reflexión: A continuación se muestra el AFD A3 con las cadenas invertidas del ejemplo en la sección de Clausura de Unión, donde se nota que la propiedad de reflexión se dá al reescribir las cadenas en orden inverso.

Figura 8. Corrida de AFD con las cadenas corridas en el AFD A3 en forma inversa.

11


EDICIÓN

N°3

PÁGINA

Homomorfismo

Según Hopcroftet.al.(2008) Un homomorfismo de cadenas es una función sobre cadenas que sustituye cada símbolo por una cadena determinada. Teorema. Si L es un lenguaje regular con el alfabeto Σ y h es un homomorfismo sobre Σ, entonces h(L) también es regular. Demostración. Sea L = L(R) para una expresión regular R. En general, si E es una expresión regular con símbolos pertenecientes a Σ, hagamos que h (E) sea la expresión que obtenemos reemplazando por h(a) cada símbolo a de Σ que aparece en E. Vamos a ver que h(R) define el lenguaje h (L). La demostración se hace fácilmente por inducción estructural estableciendo que cuando tomamos una subexpresión E de R y le aplicamos h obtenemos h (E), el lenguaje de h (E) es el mismo lenguaje que obtenemos si aplicamos h al lenguaje L(E). Formalmente, L (h (E))=h(L(E)) Ejemplo 1 Homomorfismo La función h definida por h(0)= ab y h(1) =ε es un homomorfismo. Dada cualquier cadena formada por ceros y unos, todos los ceros se reemplazan por la cadena ab y todos los unos se reemplazan por la cadena vacía. Por ejemplo, h aplicada a la cadena 0011 proporciona abab. Formalmente, si h es un homomorfismo sobre el alfabeto y w = a1a2 … an es una cadena de símbolos perteneciente a , entonces h(w) = h(a1)h (a2)…h(an). Es decir, aplicamos h a cada símbolo de w y concatenamos los resultados en orden. Ejemplo 2 Homomorfismo: Por ejemplo, si h es el homomorfismo del Ejemplo anterior y w = 0011, entonces h(w) = h(0)h(0)h(1)h(1)= (ab)(ab)(ε )(ε) = abab, como hemos visto en el ejemplo.

12


EDICIÓN

N°3

PÁGINA

Homomorfismo Inverso

Según Hopcroftet.al.(2008) Los homomorfismos también se pueden aplicar “hacia atrás” y en este modo también se conservan los lenguajes regulares. Es decir, suponemos que h es un homomorfismo que convierte un alfabeto Σ en cadenas de otro alfabeto T (aunque posiblemente será el mismo). Sea L un lenguaje con el alfabeto T. Luego h−1(L), que se lee “h inverso de L”, es el conjunto de cadenas w pertenecientes a Σ∗ tales que h(w) pertenece a L. Ejercicios para demostrar homomorfismo inverso: Dados los alfabetos Σ = {0,1} y Δ = {a, b}, donde se define un conjunto Δ' = {aa, aba} Є Δ∗, Se define el homomorfismo h(0) = aa y h(1)=aba, se tienen las siguientes cadenas y lenguaje: h(010) = aaabaaa h−1(abaaa) = 10 L1 = (01)∗, h(L1) = (aaaba) L2 = (ab + ba)∗a, h−1(L2) = 1. Se trata de buscar las cadenas en Σ a las cuales se les aplica el homomorfismo h y están en L2 = {a, aba, baa, ababa, abbaa, baaba,babaa,...} Entonces se dice que Los conjuntos regulares son cerrados bajo homomorfismo y homomorfismo inverso por tanto se puede aplicar sobre los autómatas finitos.

13


EDICIÓN

N°3

PÁGINA

Conclusiones

Propiedades de clausuras primeras establecen que la unión, intersección, complemento, diferencia, inverso, clausura y concatenación de lenguajes regulares regular.

La “propiedad de clausura”, que permite construir reconocedores para lenguajes que se han construido a partir de otros lenguajes mediante ciertas operaciones.

Dos expresiones regulares se consideran iguales si representan el mismo lenguaje.

Todo lenguaje asociado por una expresión regular puede ser aceptado por un autómata de estado finito.

14


EDICIÓN

N°3

PÁGINA

15

Referencias Bibliográficas Hopcroft, J. E.; Motwani, R.; Ullman, J. D. (2008). Teoria de Automatas, Lenguajes y Computacion. Madrid: Addison Wesley, Pearson Education C.A.


El 20 de Septiembre de 2014 se estrenó una película llamada “Autómata” . En un futuro no muy lejano, en el que la Tierra sufre una creciente desertización, Jacq Vaucan (Antonio Banderas), un agente de seguros de una compañía de robótica, investiga un caso aparentemente rutinario cuando descubre algo que podría tener consecuencias decisivas para el futuro de la humanidad. Banderas produce y protagoniza este thriller futurista, que especula sobre lo que ocurriría si la inteligencia artificial superase a la humana Reparto: Antonio Banderas, Birgitte Hjort Sørensen, Melanie Griffith, Dylan McDermott,Robert Forster, Tim McInnerny, Andy Nyman, Dadid Ryall, Andrew Tiernan


Equipo



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.