Edición de «Práctica 4: Lenguajes regulares y lema de pumping (Teoría de Lenguajes)»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 9: Línea 9:
==Ejercicio 03==
==Ejercicio 03==
==Ejercicio 04==
==Ejercicio 04==
<br>b) Como L es LR existe una GR lineal a derecha G = (N, T, P, S) tal que L = L(G). A partir de G es posible definir una gramática GR =(N, T, PR, S) tal que
L(GR) = LR. donde PR = P  con cada regla de producción de P de la forma
A -> aB  reemplazada por A -> Ba  para A, B en N  y a en T. Como L(GR) = LR        -> LR es un lenguaje regular
==Ejercicio 05==
==Ejercicio 05==
''a) {0^(2n)/n>=1}''
''a) {0^(2n)/n>=1}''
Línea 19: Línea 14:


''b) {0^m.1^n.0^(m+n)/m,n>=1}''
''b) {0^m.1^n.0^(m+n)/m,n>=1}''
<br> Sea L1={0^m.1^n/m,n>=1} y L2={0^(m+n)/m,n>=1}. Las ER son 0+.1+ (para L1) y  0.0+ (para L2) -> L1 y L2 son regulares, y como L = L1.L2 -> L es regular.


''c) {0^n/n es un numero primo}''
''c) {0^n/n es un numero primo}''
Línea 28: Línea 24:
''e) {x<math>\in</math>{0, 1}*/x tiene igual cantidad de ceros que de unos}''
''e) {x<math>\in</math>{0, 1}*/x tiene igual cantidad de ceros que de unos}''
<br>Sup. L regular -> Sea s = 0^n.1^n <math>\in</math> L. Usando el lema de bombeo, sea el s=xyz tq y≠λ, |xy|<=n, <math>\forall</math>k, x.y^kz <math>\in</math> L. Entonces xy solo tiene 0's, y ademas xz <math>\in</math> L, tiene <n 0's (porque y≠λ) y n 1's (ABS) -> L NO es regular.
<br>Sup. L regular -> Sea s = 0^n.1^n <math>\in</math> L. Usando el lema de bombeo, sea el s=xyz tq y≠λ, |xy|<=n, <math>\forall</math>k, x.y^kz <math>\in</math> L. Entonces xy solo tiene 0's, y ademas xz <math>\in</math> L, tiene <n 0's (porque y≠λ) y n 1's (ABS) -> L NO es regular.
''f) {x<math>\in</math>{0, 1}*/x tiene dist. cantidad de ceros que de unos}''
''g) {x<math>\in</math>{0, 1}*/x tiene menor cantidad de ceros que de unos}''


''h) {x<math>\in</math>{0, 1}*/x = x^r}''
''h) {x<math>\in</math>{0, 1}*/x = x^r}''
<br>Sup. L regular -> Sea a=0,b=1, w=a^k.b^k <math>\in</math>L. Por lema de bombeo -> <math>\exists</math> x,y,z | xyz=w y |xy|≤k y <math>\forall</math> n, x.y^n.z<math>\in</math>L. Como w=a^k.b^k y |xy|≤k -> x e y están compuestas sólo de a´s -> podemos decir que: α=a^t, β=a^s, ρ=a^[k-(s+t)].b^k, donde 1≤ s+t ≤ k y s ≥ 1. Entonces <math>\forall</math> n, α.β^n.ρ<math>\in</math>L equivale a <math>\forall</math> n, t+ns+k-(s+t)=k. Sin embargo tomando n=0, t+ns+k-(s+t) = t+k-(s+t) = k -> s = 0. Pero s >= 1 (ABS) -> L no es regular.
<br>Sup. L regular -> Sea a=0,b=1. Sup M es un autómata con k estados que lo reconoce. Sea ω=a^k.b^k. Es claro que ω<math>\in</math>L -> (2.5) <math>\exists</math> α, β, ρ | αβρ=ω y |αβ|≤k y <math>\forall</math> n, α.β^n.ρ<math>\in</math>L. Como ω=a^k.b^k y |αβ|≤k -> α y β están compuestas sólo de a´s. Por lo tanto, podemos decir que: α=a^t, β=a^s, ρ=a^[k-(s+t)].b^k, donde 1≤ s+t ≤ k y s ≥ 1. Es claro que: αβρ=ω
 
<br>Como no se hicieron suposiciones adicionales con respecto a las cadenas, decir que <math>\forall</math> n, α.β^n.ρ<math>\in</math>L equivale a decir que <math>\forall</math> n, t+ns+k-(s+t)=k. Sin embargo tomando n=0, t+ns+k-(s+t) = t+k-(s+t) = k -> -s = 0. Pero s >= 1 (ABS) -> L no es regular.
------ No entiendo por que 01 = (01)^r = 10, me parece q hay un error en algun lado
EDIT: El problema, es que estas tomando a "r" como un nro, cuando se trata de la reversa, por eso la demostracion no sirve para el ejercicio, y por eso es que 01 = (01)^r = 10.
 
''i) {x<math>\in</math>{0, 1}*/x tiene cantidad par de ceros}''
<br>ER: (1*|01*0)* -> L es regular
 
''j) {x<math>\in</math>{0, 1}*/x tiene cantidad par de ceros o impar de unos}''
<br>Sea L1 = {x<math>\in</math>{0, 1}*/x tiene cantidad par de ceros}, L2 = {x<math>\in</math>{0, 1}*/x tiene cantidad impar de unos}. ER de L1: (1*|01*0)*, ER de L2: 0*1(0*|10*1)*. L1 y L2 son regulares, y como L=L1 <math>\cup</math> L2 -> L es regular.
 
''k) {x<math>\in</math>{0, 1}*/x tiene cantidad par de ceros e impar de unos}''
<br> L = L1 <math>\cap</math> L2 (del ej. anterior) -> L es regular


''l) {x<math>\in</math>{0, 1}*/x tiene cantidad de ceros divisible por k}''
Es regular


[[Category:Prácticas]]
[[Category:Prácticas]]
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: