Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de zongolica
PRESENTA:
ZONGOLICA, VER
ENERO 2014
Contenido
Contenido
TEMA 1 ................................................................................................................... 5
INTRODUCCION A LA TEORIA DE LENGUAJES ................................................ 5
UNIDAD 2.............................................................................................................. 13
EXPRESIONES REGULARES.............................................................................. 13
UNIDAD 3.............................................................................................................. 17
UNIDAD 4.............................................................................................................. 20
MAQUINA DE TURING ......................................................................................... 20
UNIDAD4............................................................................................................... 24
ANALISIS LEXICO ................................................................................................ 24
UNIDAD 6.............................................................................................................. 27
ANALISIS SINTACTICO ....................................................................................... 27
Analizador
lexico
Traductor
Lenguajes
y
automatas
compilador
Analizador
sintactico
TEMA 1
INTRODUCCION A LA TEORIA DE LENGUAJES
Un autmata es:
Una maquina (mecanismo) de naturaleza formal (solo existe como un
mecanismo
matemtico)
Que acepta una informacin de entrada (input),
La procesa
(La somete a transformaciones simblicas que pueden adoptar la forma de un
calculo
o computacin )
genera un resultado o salida (output)
Definir un autmata equivaldra a definir el proceso de transformacin del input en
un
output, lo que equivale a definir una funcin cuyos argumentos son el input y cuyo
valor
es el output
TIPOS DE AUTOMATAS
Hay muchos tipos de autmatas, cada tipo de autmata se asocia a una potencia
computacional determinada, es decir a una capacidad dada de resolucin de
problemas, de hecho, podemos clasificar los problemas algortmicamente solubles
asocindolos al tipo de autmata que resuelve, estos tipos se ordenan en
jerarqua de menor a mayor potencial computacional
Jerarqua de autmatas:
Autmatas finitos (Redes Lgicas)
Autmatas intermedios:
Autmatas de memoria de pila
Autmatas de memoria linealmente limitada
Maquinas de Turing
TIPOS DE AUTOMATAS (2)
Adems, podemos clasificar los autmatas:
Por el tipo de proceso que ejecutan
Aceptacin o reconocimiento
Generacin
Por su tipo de causalidad:
Determinista
No Determinista
Por el tipo de su almacenamiento de informacin:
De tamao fijo
De tamao creciente
De tamao infinito
Por el tipo de la informacin que manejan
Discreta
Continua
TIPOS DE AUTOMATAS (3)
Teora de la Computacin
Autmatas aceptadores o reconocedores:
Resuelven problemas con respuestas si- no que se modeliza normalmente
como la identificacin de dos estados finales uno de aceptacin y otro de
rechazo.
Autmatas generadores o transductores:
Construyen una respuesta especfica (una salida) para el problema
planteado
Autmatas determinista:
La solucin del problema viene unvocamente determinada por las
entradas y los estados internos del autmata
Autmatas no-deterministas:
La respuesta no esta unvocamente determinada
NOCIONES MATEMTICAS
1.1 CONJUNTOS
1.2
Un conjunto es una coleccin de objetos llamados elementos del conjunto. Si A es
un conjunto y a es un elemento de A utilizaremos la notacin a A (se lee a es
un elemento de A). Se usa la notacin b A cuando b no es un elemento de A.
Si A contiene exactamente los elementos a1, a2, . . . . ., an, lo indicamos
escribiendo A={a1,a2, . . . . ., an}. Un conjunto solo se caracteriza por sus
elementos y no por el orden en el cual se listan.
Los conjuntos A y B son iguales si contienen los mismos elementos. Por lo tanto
si, A={1,2,3} y B={2,1,3} se puede escribir que A=B.
Algunas veces es conveniente describir el contenido de un conjunto en trminos
de un propiedad que sea caracterstica de todos los elementos del conjunto. Sea
P(x) una proposicin sobre x. La notacin {x P(x)}, que se interpreta como el
conjunto de todas las x tales que P(x) , denota el conjunto de todos los x para los
cuales P(x) es una proposicin verdadera. (Todas las x tienen la propiedad P).
Notacin de Conjuntos
P = { x | P(x)}. See lee x tal que P(x) es verdadero.
A= { x | x es una letra del alfabeto}.
A= { a, b, c, d, e, . . . . . . . . . z}.
Los conjuntos se representan de dos formas:
Por extensin A={a, b, c, d, e, f, g, h, i, j, k, l, m, n, , o, p, q, r, s, . . . . . . . . . . .
.}
Por comprensin A={x | x es una letra del alfabeto}
Conjunto Finito
A={a, b, c, d, e, f, g, h, i, j, k, l, m, n, , o, p, q, r, s, t, u, w, x, y, z }
Conjunto Infinito
B={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, . . . . . . . . . . . . . . . . . . . . }
1.2 OPERACIONES CON CONJUNTOS
Las operaciones habituales que se definen sobre los conjuntos son: El conjunto 0
llamado conjunto vaco o nulo, no tiene elementos. El conjunto vaci es un
subconjunto de todos los conjuntos.
La unin de conjuntos A y B se denota por A B y es un conjunto formado por los
elementos que aparecen en A, en B o en ambos.
Por lo tanto A
A o x B}.
Por ejemplo, si A={1,2,3} y B={a,b}, entonces A B={1,2,3,a,b}.
La interseccin de A y B es el conjunto de todos los elementos que
aparecen simultneamente en A y tambin en B.
A y x B}.
Por ejemplo, si A={1,4,5,7} y B={2,4,7,8}, entonces A B={4,7}. El complemento
relativo si Ay B son dos conjuntos cualesquiera, el complemento de B con
respecto a A es el conjunto: A A y x B}.
Por lo tanto, A-B esta compuesto por todos los elementos de A que no
1.4.4 Potencia
La nocin de potencia de una cadena sobre un alfabeto es dada por la notacin w
que denota la concatenacin de k copias de la cadena w.
Por tanto, si W=122 sobre el alfabeto ={1,2}, se tiene:
W =
W = 122
W = 122122
W = 122122122
1.4.5 Igualdad de Cadenas
Si w y z con cadenas, se dice que w es igual a z, si tienen la misma
longitud y los mismos smbolos en la misma posicin. Se denota mediante w = z.
1.4.6 Prefijo
Los prefijos de un cadena esta formados por los primeros smbolos de esta. Por
ejemplo, la cadena 121 sus prefijos son: , 1, 12, y 121 con lo que toda palabra
puede considerarse prefijo de si misma. Un prefijo de una cadena que no sea la
misma cadena es u prefijo propio.
1.4.7 Sufijo
Los sufijos de una cadena estn formados por los ltimos smbolos de esta. Por
ejemplo, la cadena abc sus sufijos son: , c, bc, abc. Un sufijo de una cadena que
no sea la misma cadena es un sufijo propio.
1.4.8 Subcadena.
Una cadena w es una subcadena o subpalabra de otra cadena z si existen las
cadena x e y para las cuales z = xwy.
1.4.9 Transpuestas
La inversa o transpuesta de una cadena w es la imagen refleja de w. Por ejemplo,
si w = able entonces su inversa es elba. Para denotar la inversa de w se usa
w`.
UNIDAD 2
EXPRESIONES REGULARES
EXPRESIONES REGULARES
Terminologa.
Teora de la Computacin
| Alternacin
Una barra vertical separa las alternativas. Por ejemplo, "marrn|castao" casa con
marrn o castao.
Cuantificacin:
Un cuantificador tras un carcter especifica la frecuencia con la que ste puede
ocurrir. Los cuantificadores ms comunes son +, ? y *:
+ Mas
El signo ms indica que el carcter al que sigue debe aparecer al menos una vez.
Por ejemplo, "ho+la" describe el conjunto infinito hola, hoola, hooola, hoooola,
etctera.
? Interrogacin
El signo de interrogacin indica que el carcter al que sigue puede aparecer
como mucho una vez. Por ejemplo, "ob?scuro" casa con oscuro y obscuro.
* Asterisco
El asterisco indica que el carcter al que sigue puede aparecer cero, una, o ms
veces. Por ejemplo, "0*42" casa con 42, 042, 0042, 00042, etctera.
Agrupacin:
( ) Parntesis ()
Los parntesis pueden usarse para definir una concatenacin con los dems
operadores. Por ejemplo, "(p|m)adre" es lo mismo que "padre| madre", y
"(des)?amor" casa con amor y con desamor.
[ ] Corchetes
Los corchetes se utilizan como opcin Por ejemplo: a[b]c, que forma las cadenas
abc o ac. Los constructores pueden combinarse libremente dentro de la
misma expresin, por lo que "H(ae?|)ndel" equivale a "H(a|ae|)ndel".
La sintaxis precisa de las expresiones regulares cambia segn las herramientas y
aplicaciones consideradas, y se describe con ms detalle a continuacin.
Su utilidad ms obvia es la de describir un conjunto de cadenas, lo que resulta de
utilidad en editores de texto y aplicaciones para buscar y manipular textos.
Muchos lenguajes de programacin admiten el uso de expresiones regulares
con este fin. Por ejemplo, Perl tiene un potente motor de expresiones regulares
directamente incluido en su sintaxis. Las herramientas proporcionadas por las
distribuciones de Unix (incluyendo el editor sed y el filtro grep) fueron las primeras
en popularizar el concepto de expresin regular.
UNIDAD 3
AUTOMATAS FINITOS
Lenguaje regular
Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes
propiedades:
Puede ser reconocido por:
un autmata finito determinista
un autmata finito no determinista
un autmata finito alterno
una mquina de Turing de solo lectura
Es generado por:
una gramtica regular
una gramtica de prefijos
Es descrito por:
una expresin regular
Lenguajes regulares sobre un alfabeto
Un lenguaje recursivo sobre un alfabeto S dado se define recursivamente como:
El lenguaje vaco es un lenguaje regular
El lenguaje cadena vaca {e} es un lenguaje regular
Para todo smbolo a {a} es un lenguaje regular
Si A y B son lenguajes regulares entonces A B (unin), AB (concatenacin) y
A* (clausura o estrella de Kleene) son lenguajes regulares
Si A es un lenguaje regular entonces (A) es el mismo lenguaje regular
No existen ms lenguajes regulares sobre S
Todo lenguaje formal finito constituye un lenguaje regular. Otros ejemplos tpicos
son todas las cadenas sobre el alfabeto {a, b} que contienen un nmero par de
aes o el lenguaje que consiste en varias aes seguidas de varias bes. Si un
lenguaje no es regular requiere una mquina con al menos una complejidad de
O(log log n) (donde n es el tamao de la entrada). En la prctica La mayora de los
problemas no regulares son resueltos con una complejidad logartmica.
UNIDAD 4
MAQUINA DE TURING
MAQUINA DE TURING
Una mquina de Turing es un dispositivo que manipula smbolos sobre una tira
de cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una mquina
de
Turing
puede
ser
adaptada
para
simular
la
lgica
de
cualquier algoritmo decomputador y es particularmente til en la explicacin de las
funciones de una CPU dentro de un computador.
La mquina de Turing fue descrita por Alan Turing como una mquina
automtica en 1936 en la revista Proceedings of the London Mathematical
Society,1 La mquina de Turing no est diseada como una tecnologa de
computacin prctica, sino como un dispositivo hipottico que representa
una mquina de computacin. Las mquinas de Turing ayudan a los cientficos a
entender los lmites del clculo mecnico.
Turing dio una definicin sucinta del experimento en su ensayo de 1948,
Mquinas inteligentes. Refirindose a su publicacin de 1936, Turing escribi
que la mquina de Turing, aqu llamada una mquina de computacin lgica,
consista en:
...una ilimitada capacidad de memoria obtenida en la forma de una cinta
infinita marcada con cuadrados, en cada uno de los cuales podra
imprimirse un smbolo. En cualquier momento hay un smbolo en la
mquina; llamado el smbolo ledo. La mquina puede alterar el smbolo
ledo y su comportamiento est en parte determinado por ese smbolo, pero
los smbolos en otros lugares de la cinta no afectan el comportamiento de la
mquina. Sin embargo, la cinta se puede mover hacia adelante y hacia
atrs a travs de la mquina, siendo esto una de las operaciones
elementales de la mquina. Por lo tanto cualquier smbolo en la cinta puede
tener finalmente una oportunidad.2(Turing 1948, p. 61)
Una mquina de Turing que es capaz de simular cualquier otra mquina de
Turing es llamada una mquina universal de Turing (UTM, o simplemente una
mquina universal). Una definicin ms matemticamente orientada, con una
similar naturaleza "universal", fue presentada por Alonzo Church, cuyo trabajo
sobre el clculo lambda se entrelaza con el de Turing en una teora formal de
la computacin conocida como la tesis de Church-Turing. La tesis seala que
las mquinas de Turing capturan, de hecho, la nocin informal de un mtodo
UNIDAD5
ANALISIS LEXICO
ANALISIS LEXICO
Se le llama autmata finito, porque nos lleva a un trmino o a un fin y nos sirve
para representar un flujo de informacin o un estmulo, para formar cadenas
pertenecientes a un lenguaje. Un lenguaje es el conjunto de cadenas aceptadas
por un autmata. Sin embargo un Lenguaje no est asociado a un nico
autmata. Es ms , a un mismo lenguaje le podemos asociar siempre muchos
autmatas que reconocen las cadenas en el.
pues en la figura se puede ver una flecha que de q2 regresa al mismo estado, con
la letra b. Podemos visualizar el camino recorrido en el diagrama de estados
como una trayectoria recorrida de estado en estado. Por ejemplo, para el
autmata finito de la figura A la trayectoria seguida para la palabra ab
consiste en la secuencia de estados:
UNIDAD 6
ANALISIS SINTACTICO
la interpretacin y comprensin de
los documentosproblemticos
llamado procesamiento
de
los textos,
especialmente
de
naturales).
Diversas
corrientes
de
tambin
delGenerativismo o Gramtica
tienen
sus
generativa y
partidarios
transformacional,
los
modelos
el
modelo
qu
constituye
un ncleo