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.

5.7. FORMAS NORMALES 91producción A → α en P tal que al eliminar algunos símbolos anulables <strong>de</strong>s<strong>de</strong> α, se obtiene w. Por lo tantohay una <strong>de</strong>rivación A⇒ ∗ G α⇒ ∗ G w en que α⇒w ∗ envuelve el <strong>de</strong>rivar ε <strong>de</strong> los símbolos anulables en α necesarios<strong>de</strong> eliminar para obtener w. Para la inducción, sea i > 1. Entonces AG ⇒ ′′X i−11X 2 . . . X n ⇒ G ′′w. Debe haberalguna producción A → β en P , tal que X 1 X 2 . . . X n se logre al eliminar algunos símbolos anulables <strong>de</strong> β.Por lo tanto, A⇒ ∗ ∗G X 1 X 2 . . . X n . Sea w = w 1 w 2 . . . w n , tal que para todo j, X j⇒ G ′′w j en menos <strong>de</strong> i pasos.∗Por la hipótesis <strong>de</strong> inducción, X j⇒ G w j si X j es una variable. Si X j es un terminal, entonces w j = X j y∗X j⇒ G w j se cumple trivialmente. Por lo tanto A⇒ ∗ G w.El último paso es aplicar el teorema anterior a G ′′ para obtener G ′ sin símbolos inútiles. Ya que lasconstrucciones <strong>de</strong> los lemas no introducen producciones nuevas, G ′ no tiene símbolos inútiles ni produccionesvacías. A<strong>de</strong>más, S⇒ ∗ G ′w si y sólo si w ≠ ε y S⇒ ∗ G w. Esto es, L(G ′ ) = L(G) = L(G) − {ε}.De aquí en a<strong>de</strong>lante se asumirá que las gramáticas no tienen símbolos inútiles. Ahora se prestará atencióna las producciones <strong>de</strong> la forma A → B cuyo lado <strong>de</strong>recho consiste sólo <strong>de</strong> una variable. Estas produccionesson llamadas producciones unitarias (unit productions). Todas las otras producciones, incluyendo aquellas<strong>de</strong> la forma A → a, o producciones vacías, son llamadas producciones no unitarias (non unit).Teorema 20 Todo lenguaje libre <strong>de</strong> contexto no vacío y sin ε es <strong>de</strong>finido por una gramática sin símbolosinútiles, producciones vacías y producciones unitarias.Demostración : Sea L un lenguaje libre <strong>de</strong> contexto sin ε y L = L(G) para alguna gramática G = (V, T, P, S).Por el teorema anterior se pue<strong>de</strong> asumir que G no tiene producciones vacías. Se construye un nuevo conjunto<strong>de</strong> producciones P ′ , incluyendo primero todas las producciones no unitarias <strong>de</strong> P . Luego, si A⇒ ∗ G B, conA, B ∈ V , se agrega a P ′ todas las producciones <strong>de</strong> la forma A → α, en que B → α es una producción nounitaria en P .Observe que es fácil saber si A⇒ ∗ G B, ya que G no tiene producciones vacías y siA ⇒ GB 1⇒G B 2⇒G . . . ⇒ GB M⇒G By alguna variable aparece dos veces en la secuencia, se pue<strong>de</strong> encontrar una secuencia más corta <strong>de</strong> produccionesunitarias que resulten en A ∗ ⇒ G B. Por lo tanto es suficiente consi<strong>de</strong>rar sólo aquellas secuencias <strong>de</strong>producciones unitarias que no repiten variables <strong>de</strong> G.Suponga ahora que w ∈ L(G) y consi<strong>de</strong>re una <strong>de</strong>rivación por la izquierda para w en G.S ⇒ α 0⇒G α 1⇒G . . . ⇒ Gα N = wSi, para 0 ≤ i < N, α i⇒G α i+1 por una producción no unitaria, entonces α i⇒G ′α i+1 . O bien si α i⇒G α i+1 poruna producción unitaria, pero α i−1⇒G ′α i por una no unitaria, o i = 0, y a<strong>de</strong>más α i+1⇒G α i+2⇒G . . . ⇒ Gα j , todaspor producciones unitarias con α j⇒G α j+1 por una no unitaria; entonces α i+1 α i+2 . . . α j todos tienen el mismolargo y ya que la <strong>de</strong>rivación es por la izquierda, el símbolo reemplazado en cada una <strong>de</strong> ellas está en la mismaposición. Pero entonces α i⇒G ′α j+1 por una <strong>de</strong> las producciones en P ′ − P . Por lo tanto, L(G ′ ) = L(G).Para terminar la <strong>de</strong>mostración, basta notar que G ′ no tiene producciones unitarias ni vacías. Si se usan loslemas anteriores para eliminar los símbolos inútiles no se agregan producciones, por lo tanto se obtiene unagramática como la pedida.5.7 Formas NormalesEn esta sección se verán dos formas normales para gramáticas libres <strong>de</strong> contexto. Se verá que para todagramática libre <strong>de</strong> contexto existe una gramática equivalente con restricciones en la forma <strong>de</strong> sus producciones.✷✷

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

Saved successfully!

Ooh no, something went wrong!