Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MC t02 Lenguajes
MC t02 Lenguajes
2
Índice
3
Concepto de Lenguaje Formal
(i)
• ¿Qué es un lenguaje?
– Informalmente: un lenguaje es un conjunto de
palabras o sentencias formadas sobre un alfabeto
4
Concepto de Lenguaje Formal
(ii)
• Alfabeto:
– Definición (Alfabeto):
• Conjunto finito, no vacío, de elementos
Generalmente usaremos S para especificar alfabetos y
los elementos los denominaremos “letras” o “símbolos”
• Ejemplos: ¿Cuáles son alfabetos?
– los alfabetos español, inglés, o alemán - S4={1, A, 2, B}
– S1={0,...,9}, 0ÎS1 - S5={a, b, c, d}
– S2={x | x es un símbolo del código ASCII} - S6={}
– S3={(, )} - S7=À
5
Concepto de Lenguaje Formal
(iii)
• Palabras:
– Definición (Palabra):
• Sea un alfabeto S. Una palabra sobre S es una secuencia finita
de las letras de ese alfabeto.
• La secuencia vacía representa la palabra vacía y la anotamos
con l
• Ejemplos:
– sobre S5 ={a,b,c,d} Þ l, a, b, c, d, abc, aab, dcba, ...
– sobre S1 ={0,...,9} Þ l, 0, 0000, 010, 9980, ...
– sobre S3 ={(,)} Þ l, (, ), (), (()()), )())), ...
6
Concepto de Lenguaje Formal
(iv)
• Palabras:
– Definición (Longitud de una palabra):
• Se llama longitud de una palabra x, y se representa por |x|, al
número de símbolos que la componen.
• Ejemplos:
– sobre S5 ={a,b,c,d}
» |l|=0
» |a|=1
» |abc|=3
7
Concepto de Lenguaje Formal
(v)
• Ejemplos:
x =abc, y =da, definidos sobre S={a,b,c,d}
xy=abcda ; |xy|=|x|+|y|=5
8
Concepto de Lenguaje Formal
(vi)
• Ejemplos:
x =abc Þ x1=abc
x2=abcabc
x3=abcabcabc
10
Concepto de Lenguaje Formal
(viii)
11
Concepto de Lenguaje Formal
(ix)
• Ejemplos:
x =abc Þ x-1=cba
• Lenguajes Formales:
– Definición (Lenguaje universal):
• Sea S un alfabeto. El lenguaje universal de S es el conjunto
formado por todas las palabras que se pueden formar con las
letras de S. Representamos dicho lenguaje con W(S).
• Ejemplos:
– S1 ={a} Þ W(S1)={l, a, aa, aaa, ...}
• Lenguajes Formales:
– Definición (Lenguaje):
• Sea un alfabeto S. Un lenguaje L sobre S es cualquier
subconjunto del lenguaje universal W(S).
• Hay lenguajes finitos, infinitos y vacíos
14
Concepto de Lenguaje Formal
(y xii)
• Lenguajes Formales:
– Definición (Lenguaje):
• Ejemplos:
S1 ={a} Þ W(S1)={l, a, aa, aaa, ...}
L1 ={a} Í W(S1)
L2 ={} Í W(S1) (L2 = Æ)
L3 =S1 Í W(S1)
L4 =W(S1) Í W(S1)
L5 ={l} Í W(S1) (Nota: L5¹L2)
L6 ={l, a, aa, aaa} Í W(S1)
L7 ={l, a, aaa, aaaaa, ...} Í W(S1)
15
Índice
16
Operaciones sobre Lenguajes Formales
(i)
• Unión:
– Definición (Unión de lenguajes):
• Sea el alfabeto S y dos lenguajes L1ÍW(S) y L2ÍW(S). La unión
de L1 y L2, L1È L2, es un lenguaje que se define de la siguiente
forma:
17
Operaciones sobre Lenguajes Formales
(ii)
• Unión:
– Propiedades de la unión:
• Operación cerrada: L1ÍW(S), L2ÍW(S) Þ L1ÈL2ÍW(S)
(la unión de dos lenguajes sobre el mismo alfabeto es también un lenguaje
sobre este alfabeto)
18
Operaciones sobre Lenguajes Formales
(iii)
• Concatenación:
– Definición (Concatenación de lenguajes):
• Sean dos lenguajes L1, L2. La concatenación de L1 y L2,
representado por L1L2 (a veces por L1.L2), es un lenguaje que se
define de la siguiente forma: L1L2={xy | xÎ L1 , yÎ L2}.
– Ejemplos: S ={a,b,c}
L1 ={ab, ac, cb}; L2={b, bba} Þ
L1L2={abb,abbba,acb,acbba,cbb,cbbba}
• Concatenación:
– Propiedades de la concatenación:
20
Operaciones sobre Lenguajes Formales
(v)
• Potencia de un lenguaje:
– Definición (Potencia de un lenguaje):
• La potencia i-ésima de un lenguaje L consiste en el lenguaje
resultante de concatenar el lenguaje consigo mismo i veces.
Li = LLL...L (i veces)
21
Operaciones sobre Lenguajes Formales
(vi)
• Potencia de un lenguaje:
– Propiedades de la potencia:
• Cerrada: L Í W(S) Þ Li Í W(S)
• Li+1 = LiL = LLi (i>0)
• LiLj = Li+j (i,j>0)
¿Que pasa si i, j = 0?
L0+1 = L1 = L = L0L Þ Si L0={l}
L0+0 = L0 = L0L0 = {l}{l} = {l}
22
Operaciones sobre Lenguajes Formales
(vii)
• Potencia de un lenguaje:
– Ejemplos:
L1 = {l,ab, ac}
Þ L12={l,ab,ac,abab,abac,acab,acac}
Þ L13={l,ab,ac,abab,abac,acab,acac,ababab,ababac,
abacab,abacac,acabab,acabac,acacab,acacac}
23
Operaciones sobre Lenguajes Formales
(viii)
• Clausura de un lenguaje:
– Definición (Clausura posiDva):
• La clausura posi;va de un lenguaje L se define por:
¥ i
L+= !i =1 L
24
Operaciones sobre Lenguajes Formales
(ix)
• Clausura de un lenguaje:
– Clausura positiva (cont.):
• Ejemplos:
– L ={a,aa,aaa,aaaa,...} = {an | n³1}
Þ L2={ aa,aaa,aaaa,...} = {anam | n,m³1} = {an | n³2}
Þ L3={ aaa,aaaa,...} = {anam | n³1, m³2} = {an | n³3}
¥
Þ L+= ! Li ={a,aa,aaa,aaaa,...} = L
i =1
• Clausura de un lenguaje:
– Definición (Clausura, Iteración o cierre):
• La clausura de un lenguaje L se define por:
¥
L*= !i =0 Li
– Propiedades de la clausura:
• Cerrada: LÍW(S)Þ L+ÍW(S) , L*ÍW(S)
¥
• L*=L0È( !i =1 Li)= L0ÈL+={l}ÈL+
• L+= LL*= L*L ¿Demostración?
26
Operaciones sobre Lenguajes Formales
(xi)
• Reflexión de un lenguaje:
– Definición (Reflexión):
• Sea L un lenguaje. Se llama lenguaje inverso (lenguaje reflejo)
de L, y se representa por L-1 al lenguaje: L-1={ x-1| x Î L}.
– Ejemplos:
• L ={ana, julio, jesus, norma} Þ L-1={ana, oiluj,susej,amron}
• L ={a, aa, aaa,...} Þ ¿L-1?
– Propiedades de la reflexión:
• Cerrada: LÍW(S) Þ L-1ÍW(S)
27
Operaciones sobre Lenguajes Formales
(xii)
29
Operaciones sobre Lenguajes Formales
(xiv)
– Leyes de complemento:
• L Ç L =Æ
• L È L = W(S)
31
Operaciones sobre Lenguajes Formales
(y xvi)
– L1 - L2 = L1 Ç L 2 = L1 È L 2
– L = W(S) - L
32
¿Preguntas?
¿?
33
Modelos de Computación
Tema 2: Lenguajes Formales