Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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