11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

28 CHAPTER 2. LENGUAJES FORMALES2.2.3 Subpalabras, Prefijos y SufijosUna palabra es una subpalabra <strong>de</strong> otra palabra, cuando sus símbolos aparecen entre los símbolos <strong>de</strong> lasegunda, en forma consecutiva y en el mismo or<strong>de</strong>n; es <strong>de</strong>cir cuando un trozo contiguo <strong>de</strong> la segunda es iguala la primera. Formalmente, una palabra v se dice una subpalabra <strong>de</strong> otra palabra w, si y sólo si existendos palabras x e y sobre el alfabeto, tales que w = x ◦ v ◦ y. En la <strong>de</strong>finición anterior, cualquiera <strong>de</strong> laspalabras x e y, o ambas, pue<strong>de</strong> ser la palabra nula. Por lo tanto, si x = y = ε, se concluye que toda palabraes una subpalabra <strong>de</strong> sí misma. También , si se consi<strong>de</strong>ra que x = w y que v = y = ε, se ve que la palabranula es una subpalabra <strong>de</strong> todas las palabras. Cuando la subpalabra es tal que sus símbolos aparecen alcomienzo <strong>de</strong> la otra palabra, se le llama un prefijo <strong>de</strong> ésta última. Si aparecen al final, se le llama un sufijo.Intuitivamente, una palabra es un prefijo <strong>de</strong> otra, cuando ésta comienza con aquélla; será un sufijo cuandotermina con ella. Formalmente, si w = u ◦ v para alguna palabra u sobre el alfabeto, v se dice un sufijo <strong>de</strong>w. En forma similar, si w = u ◦ v para alguna palabra v, u se dice un prefijo <strong>de</strong> w. Según estas <strong>de</strong>finiciones,cada palabra es un sufijo, prefijo y subpalabra <strong>de</strong> sí misma. Un sufijo, prefijo o subpalabra que no sea lapalabra misma se llama un sufijo, prefijo o subpalabra propia. Debe notarse que la palabra vacía es un sufijo,prefijo y subpalabra propia <strong>de</strong> todas las palabras, excepto <strong>de</strong> sí misma.Ejemplo 23PUES es un prefijo <strong>de</strong> PUESTOS.PUES es un sufijo <strong>de</strong> DESPUES.PUES es una subpalabra <strong>de</strong> PUESTOS, DESPUES y también <strong>de</strong> APUESTA.Es interesante notar que en una palabra pue<strong>de</strong> haber varias ocurrencias <strong>de</strong> una misma subpalabra. Porejemplo, la palabra binaria 101010 tiene tres ocurrencias <strong>de</strong> las subpalabras 0, 1 y 10, y dos ocurrencias<strong>de</strong> las subpalabras 01, 010, 101, 1010. Una ocurrencia incluye, a<strong>de</strong>más <strong>de</strong> la subpalabra que interesa, unaposición <strong>de</strong>ntro <strong>de</strong> la palabra que indica don<strong>de</strong> comienza esa instancia <strong>de</strong> la subpalabra.2.2.4 ReversoOtra función interesante entre palabras sobre un alfabeto, es la función conocida como el reverso <strong>de</strong> unapalabra. Intuitivamente, esta función transforma la palabra dada como argumento, en la palabra formadapor los mismos símbolos pero en or<strong>de</strong>n inverso. Formalmente, el reverso <strong>de</strong> una palabra w, <strong>de</strong>notada comow r , se <strong>de</strong>fine por las siguientes reglas:• ε r = ε• Para todo símbolo a ∈ Σ y toda palabra x sobre Σ : (ax) r = x r ◦ aÉste es otro ejemplo <strong>de</strong> una <strong>de</strong>finición inductiva. La primera regla <strong>de</strong>fine cuál es el reverso <strong>de</strong> la palabranula; la segunda, indica cómo <strong>de</strong>terminar el reverso <strong>de</strong> una palabra compuesta por la anteposición <strong>de</strong> unsímbolo a otra palabra sobre el alfabeto 2 . En esta última regla, a aparece como un símbolo en el lado izquierdoy como una palabra en el lado <strong>de</strong>recho <strong>de</strong> la igualdad. El Ejemplo 24 muestra como es posible aprovecharlas <strong>de</strong>finiciones inductivas para <strong>de</strong>mostrar ciertas propieda<strong>de</strong>s <strong>de</strong> las palabras, utilizando el principio <strong>de</strong>inducción matemática. En particular, se prueba que el reverso <strong>de</strong> la concatenación <strong>de</strong> dos palabras es lomismo que la concatenación, en or<strong>de</strong>n inverso, <strong>de</strong> los reversos <strong>de</strong> las palabras originales.Ejemplo 24 Se muestra que para todo par <strong>de</strong> palabras x e y, sobre un alfabeto Σ cualquiera, se cumple lasiguiente relación:(x ◦ y) r = y r ◦ x r .2 Nótese el parecido <strong>de</strong> la <strong>de</strong>finición con la forma en que se podría implementar esta función utilizando el lenguaje <strong>de</strong>programación LISP: (<strong>de</strong>fun reverso (x)(cond ((null x) x)(t (append (reverso (cdr x))(list (car x))))))✷

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!