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.

92 CHAPTER 5.ACEPTACIÓN Y GENERACIÓN DE LENGUAJES LIBRES DE CONTEXTOTeorema 21 (Forma Normal <strong>de</strong> Chomsky) Todo lenguaje libre <strong>de</strong> contexto sin ε es generado por unagramática en que todas las producciones son <strong>de</strong> la forma A → BC o A → a, en que A, B y C son variablesy a es un terminal.Demostración : Sea G una gramática libre <strong>de</strong> contexto que genera un lenguaje que no contiene ε. Porel teorema anterior es posible encontrar una gramática equivalente, G 1 = (V, T, P, S), tal que P no tieneproducciones unitarias ni vacías. Por lo tanto, si una producción tiene un único símbolo a la <strong>de</strong>recha, esesímbolo es un terminal, y por lo tanto la producción está en una forma aceptable.Consi<strong>de</strong>re una producción en P , <strong>de</strong> la forma A → X 1 X 2 . . . X N , con N ≥ 2. Si X i es un terminal a,se introduce una nueva variable C a y una producción C a → a que está en una <strong>de</strong> las formas permitidas.Luego se reemplaza X i por C a en la producción original. Sea V ′ el nuevo conjunto <strong>de</strong> variables y P ′ el nuevoconjunto <strong>de</strong> producciones. Consi<strong>de</strong>re la gramática G 2 = (V ′ , T, P ′ , S), que no está aún en la forma normal<strong>de</strong> Chomsky. Si αG ⇒ 1β, entonces α⇒ ∗ G2 β. Por lo tanto L(G 1 ) ⊆ L(G 2 ). Se muestra, por inducción en elnúmero <strong>de</strong> pasos <strong>de</strong> la <strong>de</strong>rivación, que si A⇒ ∗ G2 w, para A ∈ V y w en T ∗ , entonces AG ⇒ 1w. El resultado estrivial para <strong>de</strong>rivaciones <strong>de</strong> un paso. Supóngase que se cumple para <strong>de</strong>rivaciones <strong>de</strong> k pasos. Sea A⇒ ∗ G2 wuna <strong>de</strong>rivación <strong>de</strong> k + 1 pasos. El primer paso <strong>de</strong>be ser <strong>de</strong> la forma A → B 1 B 2 . . . B N , con N ≥ 2. Se pue<strong>de</strong>∗escribir w = w 1 w 2 . . . w N , en que B i⇒ G2 w i , con 1 ≤ i ≤ M.Si B i es C ai , para algún terminal a i , entonces w i <strong>de</strong>be ser a i . Por la construcción <strong>de</strong> P ′ , hay unaproducción A → X 1 X 2 . . . X m <strong>de</strong> P , con X i = B i si B i está en V y con X i = a i si B i está en V ′ − V .∗Para los B i ∈ V , se sabe que la <strong>de</strong>rivación B i⇒ G1 w i toma no más <strong>de</strong> k pasos, luego, por la hipótesis <strong>de</strong>∗inducción, X i⇒ G1 w i . Por lo tanto A⇒ ∗ G1 w.Se ha probado el resultado intermedio <strong>de</strong> que cualquier lenguaje libre <strong>de</strong> contexto pue<strong>de</strong> ser generadopor una gramática en que cada producción tiene la forma A → a o la forma A → B 1 B 2 . . . B M , (M ≥ 2), enque A, B 1 , B 2 , . . . , B M son variables y a es un terminal.Consi<strong>de</strong>re una gramática <strong>de</strong> ese tipo, G 2 = (V ′ , T, P ′ , S). Se modifica G 2 agregando algunos símbolos adicionalesa V ′ y reemplazando algunas producciones <strong>de</strong> P ′ . Por cada producción <strong>de</strong> la forma A → B 1 B 2 . . . B Men P ′ , con M ≥ 3, se crean nuevas variables D 1 , D 2 , . . . , D M−2 y se reemplaza A → B 1 B 2 . . . B M por elconjuntoA → B 1 D 1 ,D 1 → B 2 D 2 , . . . ,D M−2 → B M−1 B MSea V ′′ el nuevo conjunto <strong>de</strong> variables y P ′′ el nuevo conjunto <strong>de</strong> producciones. Sea G 3 = (V ′′ , T, P ′′ , S).La gramática G 3 está en la forma normal <strong>de</strong> Chomsky. Es claro que si A ∗ ⇒ G2 β, entonces A ∗ ⇒ G3 β y entoncesL(G 2 ) ⊆ L(G 3 ). Pero también se cumple que L(G 3 ) ⊆ L(G 2 ), como pue<strong>de</strong> <strong>de</strong>mostrarse en esencialmente lamisma forma en que se mostró que L(G 2 ) ⊆ L(G 1 ).Ejemplo 75 Consi<strong>de</strong>re la gramática ({S, A, B}, {a, b}, P, S) con las produccionesS → bA|aBA → bAA|aS|aB → aBB|bS|bLas únicas producciones que ya están en la forma correcta son: A → a y B → b. Luego, primero setransforma a la gramáticaS → C b A|C a BA → C b AA|C a S|aB → C a BB|C b S|bC a → aC b → bEn la segunda etapa se reemplaza por la gramática✷

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

Saved successfully!

Ooh no, something went wrong!