Está en la página 1de 8

RegLang1Sam 10/12/2019

1 LENGUAJES REGULARES
2
3 Definición
4
5 Sea un alfabeto, el conjunto de lenguajes
regulares sobre el alfabeto se define como
sigue:
6
7 Ø es un lenguaje regular
8 {e} es un lenguaje regular
9 Para toda a ? al alfabeto,{a} es un
lenguaje regular
10 Si L1 y L2 son dos lenguajes regulares,
entonces L1 U L2, L1 * L2 y L1* son
lenguajes regulares
11 Ningun otro lenguaje sobre el alfabeto
es regular
12
13 Ejemplo 1
14 Sea S={a,b}, entonces de la definición se
tiene que:
15 Ø y {e} son regulares
16 {a} y {b} son regulares
17 {a,b} es regular (union)
18 {aa},{ab},{bb},{ba} son regulares
(Concatenacion)
19 {a,b,ab,ba,aa,bb} Es regular (Union)
20
21 Ejemplo 2
22 Sea S={0,1,2}, entonces de la definición
se tiene que:
23 Ø y {e} son regulares
24 {0},{1} y {2} son regulares
25 {0,1,2},{0,1},{0,2} es regular (union)
26 {01},{12},{02} son regulares
(Concatenacion)
27
28 Teoremas
29 Todos los lenguajes finitos son regulares
30 Si L es regular,entonces L^C= S^*-L
también es regular.
31 Si L1 y L2 son regulares, Entonces L1 n
L2, L1 – L2, L2-L1 tambien son lenguajes
regulares.
32
33
34 2.1. Gramáticas regulares
Page 1
RegLang1Sam 10/12/2019

35
36 2.2. Autómatas finitos deterministas
37
38 Diagramas de transiciones
39
40 Las expresiones regulares nos permiten
determinar con facilidad si una cadena
pertenece o no a un lenguaje dado. Por
ejemplo: si tenemos al lenguaje definido
por la expresión regular a*b*, esta se
puede interpretar como el lenguaje que
acepta cualquier cadena que comience con
cualquier cantidad de aes, seguida por
cualquier cantidad de bes, como por
ejemplo: aaab,abbb,a,bb,e,etc. Pero en
cambio, no acepta otras cadenas como
abab,baba,bba,etc.
41
42 Otra técnica que permite identificar si
una cadena es aceptada o no por un
lenguaje es el empleo de diagramas de
transiciones, los cuales son grafos
dirigidos a cuyos nodos se les llama
estados y a sus aristas se las llama
transiciones, estas se encuentran
etiquetadas con algún símbolo del
alfabeto, como se muestra en la figura
siguiente.
43
44
45
46
47
48
49
50 Existe un estado que se llama estado
inicia, el cual se señala con una flecha,
a partir del cual se comienza el
reconocimiento de la cadena; cada símbolo
leído provoca una transición de un estado
a otro, siguiendo la arista etiquetada con
este. Este proceso se repite hasta agotar
la cadena. Si el estado donde finalizamos
es un estado de aceptación, que se
identifica por un doble circulo, quiere
decir que la cadena analizada pertenece al
lenguaje, en caso contrario es rechazada.
Page 2
RegLang1Sam 10/12/2019

51
52 Ejemplo 1:
53 La siguiente figura nos permite observar
cómo se emplea el diagrama de transiciones
anterior para determinar si la cadena
w=aaabab es aceptada o no por el lenguaje
representado por este.
54
55 q_0?q_0 ??q?_0?q_0?q_1?q_1?q_0
56
57 Y como el terminal no es de aceptación la
cadena es rechazada
58
59 En cambio si la cadena es w=aaababb es una
cadena valida por que el terminal es de
aceptación.
60
61 También es posible representar un diagrama
de transiciones de manera tabular de la
siguiente forma: colocamos a cada símbolo
como encabezado de una de las columnas y a
cada estado al inicio de cada uno de los
renglones. La flecha indica el estado
inicial y el asterisco se usa para denotar
los estados de aceptación. Dentro de la
tabla se coloca el estado siguiente según
corresponda cada transición:
62
63 a b
64 ?q_0 q0 q1
65 q1 q1 q0
66
67
68
69
70
71
72
73 Autómata finito determinista
74
75 Es el modelo matemático de un sistema. Al
modelo matematico que hemos definido por
medio de un diagrama de transiciones, que
presenta a una maquina que pasa de un
estado a otro como respuesta a cada uno de
los símbolos de una cadena de entrada, se
le llama autómata finito determinista y se
Page 3
RegLang1Sam 10/12/2019

denota por AFD.


76
77 Formalmente se define a un AFD por la
quíntupla M=(Q, S,t,s,F) donde Q es un
conjunto finito de estados, Ses el
alfabeto de entrada, s es el estado
inicial que pertenece a Q, t es la función
de transición y F es el subconjunto de Q
de los estados de aceptación.
78
79 La característica principal de un AFD es
que t es una función que esta definida
para todos los posibles estados de qi que
pertenecen a Q y para todos los simbolos
que pertenecen al alfabeto. Es decir para
cualquier pareja de la forma que
qi,simbolos siempre existe un único estado
siguiente.
80
81 Ejemplo 1
82 Sea M el AFD donde Q={q0,q1}, S={a,b},
F={q0}, s=q0 y las siguientes transiciones
t(q0,a)=q0,t(q0,b)=q1;t(q1,a)=q1 y
t(q1,b)=q0 esto se representa en la
siguiente tabla de transiciones.
83
84 a b
85 ?q_0 q0 q1
86 q1 q1 q0
87
88
89
90 Y el diagrama de transiciones quedaría
91
92
93
94
95
96
97 2.3. Autómatas finitos no deterministas
98
99 Automata finito no determinista es aquel
que puede tener cero, una o mas
transiciones distintas para el mismo
símbolo de entrada y lo denotamos por AFN.
100
101 En algunas ocasiones resulta mucho mas
Page 4
RegLang1Sam 10/12/2019

practico emplear un AFN en vez de un AFD,


tal como se puede observar en los
siguientes ejemplos.
102
103 Ejemplo 1
104 Considere al diagrama mostrado en la
figura siguiente este representa a un AFN
que acepta el lenguaje a*b Uab* se podrá
observar que para algunos casos no existen
transiciones definidas para otros hay mas
de una para el mismo sibolo.
105 Formalmente se define a un AFN por la
quíntupla M=(Q, S,i,s,F) donde Q es un
conjunto finito de estados, S es el
alfabeto de entrada, s es el estado
inicial que pertenece a Q, t es la función
de transición y F es el subconjunto de Q
de los estados de aceptación, i es la
función de transición, donde se puede
apreciar que el contradominio de la
función es el conjunto de potencias de Q,
es decir que esta función devuelve
conjuntos de estados en vez de un solo
estado.
106
107 El AFN de la figura siguiente esta
definido por Q=(q0,q1,q2,q3,q4), S={a,b},
s=q0, F={q2,q3,q4} y i contiene las
transiciones siguientes:
108 I(q0,a)={q1,q4}, i(q1,a)={q1},
i(q4,b)={q4}, i(q0,b)={q3}, i(q1,b)={q2}.
109
110 Resumiendo, el AFN y todos sus elementos
se muestran en la siguiente tabla por lo
que podemos afirmar que esta table
representa completamente al automata.
111 i a b
112 ?q_0 {q1,q4} {q3}
113 q1 {q1} {q2}
114 q2 Ø Ø
115 q3 Ø Ø
116 q4 Ø {q4}
117
118
119
120
121
Page 5
RegLang1Sam 10/12/2019

122
123
124
125
126
127
128
129
130
131 2.4. Expresiones regulares
132
133 Podemos simplificar la especificación de
un lenguaje regular utilizando
nomenclatura abreviada, llamada expresión
regular, de tal manera que el lenguaje
unitario {a}, se denota simplemente como a.
134
135 Las operaciones de lenguajes regulares se
denotan como: a U b, en vez de {a,b}; ab,
en vez de {ab}; a* en vez de {a}* y a+ en
vez de {a}+. El objetivo de esto es
facilitar la lectura de los lenguajes
regulares.
136
137
138
139
140
141
142 Entonces podemos definir recursivamente lo
que son las expresiones regulares :
143
144 Øy e es un lenguaje regular.
145 a es una expresión regular para toda a ?
S.
146 Si r y s son dos expresiones regulares,
entonces r U s, r * s y r* son expresiones
regulares.
147 Ningun otra secuencia de simbolos es una
expresión regular.
148
149 Ejemplo 1
150 La expresión regular a*b U c representa a
L=({a^n }¦n=0 ·{b} )U{c}
151
152 Teoremas sobre expresiones regulares
153
Page 6
RegLang1Sam 10/12/2019

154 Sean r,s y t expresiones regulares sobre


un alfabeto, entonces:
155 r U s= sUr
156 rUØ=ØUr=r
157 rUr=r
158 (rUs)Ut=rU(sUt)
159 re=er=r
160 rØ=Ør=Ø
161 (rs)t=r(st)
162 r(sUt)=rsUrt
163 (rUs)t=rtUst
164
165
166
167 2.7. Propiedades de lenguajes regulares
168 2.8. Propiedades de cierre
169 2.9. Unión, Concatenación, Cierre. Otras
operaciones.
170 2.10. Algoritmos de decisión
171 2.11. Identificación de lenguajes no
regulares
172 2.12. Otros tipos de autómatas
173 2.13. Autómatas probabilísticas
174
175 3. LENGUAJES INDEPENDIENTES DEL
CONTEXTO12horas
176 3.1 Gramáticas independientes del contexto
177 3.2. Reglas innecesarias, Símbolos
inútiles, Reglas no generativas, Reglas
unitarias.
178 3.3. Formas normales
179 3.4. Forma normal de Chomsky.
180 3.5. Forma normal de Greibach.
181 3.6. Autómatas a pila
182 3.7. Lenguajes independientes del contexto
183 3.8. Propiedades de cierre, Homomorfismos,
Cociente
184 4. MÁQUINAS DE TURING Y
COMPUTABILIDAD12horas
185 4.1. Máquinas de Turing
186 4.2. Equivalencia entre máquinas
secuenciales, Máquinas con alfabeto
binario, Máquinas con cinta limitada en
una dirección, Máquinas con dos cintas.
187 4.3. MT para reconocer lenguajes
188 4.4.. Lenguaje reconocido por una MT, MT
para aceptar un lenguaje generado por una
Page 7
RegLang1Sam 10/12/2019

gramática de tipo 0.
189 4.5. MT para computar funciones
190 4.6. Funciones de un parámetro, Funciones
de varios parámetros, Funciones complejas.
191 4.7.. Máquina de Turing y Computación
192 4.8. Tesis de Church/Turing
193 4.9. Máquina de Turing Universal.
194 4.10. Funciones computables.
195 4.11. Enumerabilidad de conjuntos,
Funciones no computables
196 4.12. Decidibilidad.
197 4.13. Funciones recursivas
198 4.14. Otros modelos de computación,
Recursión en matemá
199
200 Bibliografía
201
202

Page 8

También podría gustarte