[Ejercicio 1] [Parte 8]

[Ejercicio 1] [Parte 8]

de Bruno Emanuel Gandos Telis -
Número de respuestas: 3

Hola, quería consultar si me podrían tirar un pique para encarar este ejercicio, particularmente sobre como generar que la cantidad de b's sea el cuadrado de la cantidad de a's. 

En respuesta a Bruno Emanuel Gandos Telis

Re: [Ejercicio 1] [Parte 8]

de Santiago Gongora -

Buen día Bruno, campeón del mundo :)

Este ejercicio está medio complicado, sí, pero si sacaste el 5 (el de  3^n ) capaz te facilita a pensar la solución.

Variables multiplicadoras

Estos que tienen que ver con cantidades que están expresadas como un producto suelen salir con un mismo pique, que es el de las variables "multiplicadoras" (nombre fruta pero que representa su rol en la derivación). Una variable así te permite generar símbolos (variables o terminales) cuando se cruzan con otra cosa.

Vamos derechito a verlo en este ejercicio para no viajarla demasiado. En este problema concreto te puede servir tener algo así:

 XM \longrightarrow MXY

donde X y M son dos variables de ese estilo ("multiplicadoras"). Como ves, las X se quedan quietitas donde están y son las M las que viajan de derecha a izquierda generando una marca Y. Es decir, cada vez que la M (viajando de derecha a izquierda) se cruza con una X se genera una marca Y. Luego al final esa marca Y tendrá que convertirse en una "b".

Análisis del problema (qué hacer con las variables multiplicadoras)

Entonces si nos fijamos en la forma de este lenguaje, siempre se cumple que la cantidad de "b" es el cuadrado de las "a" (lo que vos dijiste).
Eso quiere decir que para una tira  w \in L_8 se cumple   |w|_b = n^2 = n*n . O sea, que va a haber n veces en las que vamos a tener que generar n símbolos "b".

Usando el ejemplo de producción que te tiré arriba, tendríamos que tener n cantidad de "X" y n cantidad de "M". Las "M" van a viajar de derecha a izquierda encontrándose con n "X", y por lo tanto generando n "Y" (que cada una de ellas será una "b"). Como hay n cantidad de "M", este proceso de que una X se cruza con una M y genera una marca Y se va a repetir |w|_M * |w|_X = n*n = n^2 veces .

Conclusión

Bueno, fijate si con ese pique podés sacar el resto de la gramática. Lo que falta sería ver en qué orden producir las cosas para que luego puedas sacarte de arriba todas las marcas X y M y puedas obtener una tira solo con símbolos "a" y "b".

A las órdenes como siempre,
Santi