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 93S → C b A|C a BS → C b D 1 |C a S|aB → C a D 2 |C b S|bC a → aC b → bD 1 → AAD 2 → BBque está en la forma normal <strong>de</strong> Chomsky.Ahora se verá otra forma normal que utiliza producciones cuyo lado <strong>de</strong>recho comienza con un terminalseguido, posiblemente, por variables. Primero se presentan dos lemas que dicen que es posible modificar lasproducciones <strong>de</strong> una gramática en ciertas formas, sin alterar el lenguaje que genera.Lema 5 Se <strong>de</strong>fine una producción-A como una producción que tiene la variable A en su lado izquierdo.Sea G = (V, T, P, S) una gramática libre <strong>de</strong> contexto. Sea A → α 1 Bα 2 una producción en P y sean B →β 1 |β 2 | . . . |β N todas las producciones-B <strong>de</strong> P . Sea G 1 = (V, T, P 1 , S), obtenida al eliminar la producciónA → α 1 Bα 2 <strong>de</strong> P y agregando las producciones A → α 1 β 1 α 2 |α 1 β 2 α 2 | . . . |α 1 β N α 2 . Entonces L(G) = L(G 1 ).Demostración : Es claro que L(G 1 ) ⊆ L(G), ya que si A → α 1 β i α 2 es usada en alguna <strong>de</strong>rivación en G 1 ,entonces A ⇒ Gα 1 Bα 2⇒G α 1 β i α 2 pue<strong>de</strong> usarse en G. Para ver que L(G) ⊆ L(G 1 ) basta notar que A → α 1 Bα 2 esla única producción <strong>de</strong> G que no está en G 1 . Sin embargo, si A → α 1 Bα 2 es usada en alguna <strong>de</strong>rivación enG, la variable B <strong>de</strong>be ser reescrita posteriormente usando alguna <strong>de</strong> las producciones B → β i , ya que ellasson todas las producciones-B en P . Estos dos pasos pue<strong>de</strong>n entonces reemplazarse por el paso A ⇒ G 1α 1 β i α 2 .Lema 6 Sea G = (V, T, P, S) una gramática libre <strong>de</strong> contexto. Sean A → Aα 1 |Aα 2 | . . . |Aα N el conjunto<strong>de</strong> producciones-A en que A es el símbolo <strong>de</strong> más a la izquierda en el lado <strong>de</strong>recho <strong>de</strong> la producción. SeanA → β1|β2| . . . |βN las restantes producciones-A <strong>de</strong> P . Sea G 1 = (V ′ , T, P 1 , S) la gramática formadaal agregar la variable B a V (V ′ = V ∪ B) y al reemplazar todas las producciones-A por las siguientesproduccionesA → β i B → α iA → β i B (1 ≤ i ≤ m) B → α i B (1 ≤ i ≤ N)Entonces L(G 1 ) = L(G).Demostración : En una <strong>de</strong>rivación por la izquierda, una secuencia <strong>de</strong> producciones <strong>de</strong> la forma A → Aα i<strong>de</strong>be eventualmente terminar con una <strong>de</strong> la forma A → β j . La secuencia <strong>de</strong> pasos en G,A ⇒ Aα i1 ⇒ Aα i2 α i1 ⇒ . . . ⇒ Aα il α il−1 . . . α i1 ⇒ β j α ip α ip−1 . . . α i1pue<strong>de</strong> reemplazarse por la secuencia en G 1A ⇒ β j B ⇒ β j α ip B ⇒ βjα ip α ip−1 B ⇒ . . . ⇒β j α ip α ip−1 . . . α i2 ⇒ β j α ip α ip−1 . . . α i1✷✷✷La transformación inversa también pue<strong>de</strong> hacerse. Por lo tanto, L(G) = L(G 1 ). La Figura 5.9 ilustra estatransformación usando árboles <strong>de</strong> <strong>de</strong>rivación. Se ve que una ca<strong>de</strong>na <strong>de</strong> A’s extendiéndose hacia la izquierdaen G se reemplaza por una <strong>de</strong> B’s que se extien<strong>de</strong> hacia la <strong>de</strong>recha en G 1 .Teorema 22 (Forma Normal <strong>de</strong> Greibach) Todo lenguaje libre <strong>de</strong> contexto L, sin ε, pue<strong>de</strong> ser generadopor una gramática libre <strong>de</strong> contexto en que cada producción es <strong>de</strong> la forma A → aα, en que A es una variable,a es un terminal y α es un string (posiblemente vacío) <strong>de</strong> variables.

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

Saved successfully!

Ooh no, something went wrong!