Sie sind auf Seite 1von 35

FACULTAD DE CIENCIA Y TECNOLOGA

UNIDAD ACADMICA SANTA CRUZ


Facultad de Ciencia y Tecnologa Ingeniera de Sistemas

SEXTO SEMESTRE

SYLLABUS DE LA ASIGNATURA TEORA DE LENGUAJE Y COMPILADORES


Elaborado por: Ing. Ana Brgida Lima Loayza
Gestin Acadmica II/2008

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

UDABOL
UNIVERSIDAD DE AQUINO BOLIVIA Acreditada como PLENA mediante R.M. 288/01

VISIN DE LA UNIVERSIDAD Ser la Universidad lder en calidad educativa. MISIN DE LA UNIVERSIDAD Desarrollar la Educacin Superior Universitaria con calidad y competitividad al servicio de la sociedad.

Estimado (a) estudiante: El Syllabus que ponemos en tus manos es el fruto del trabajo intelectual de tus docentes, quienes han puesto sus mejores empeos en la planificacin de los procesos de enseanza para brindarte una educacin de la ms alta calidad. Este documento te servir de gua para que organices mejor tus procesos de aprendizaje y los hagas mucho ms productivos. Esperamos que sepas apreciarlo y cuidarlo.

Aprobado por: SELLO Y FIRMA JEFATURA DE CARRERA

Fecha: Agosto de 2008

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

SYLLABUS Asignatura: Cdigo: Requisito: Carga Horaria: Horas Tericas Horas Prcticas Crditos: Teora de Lenguaje y Compiladores CMP 417 MAT - 201A 80 horas 40 horas 40 horas 8 3.1. Definicin de Lenguajes 3.2. Operaciones con lenguajes 3.3. Potencias de lenguajes Estrella de Kleene 3.4. Jerarqua de Chomsky UNIDAD III: LENGUAJES REGULARES Y AUTOMATAS TEMA 4. Autmatas. 4.1. Autmatas finitos Deterministas (AFD) 4.2. Autmatas finitos no deterministas (AFN) 4.3. Equivalencias entre AFD AFN sin transiciones vacas 4.4. Equivalencias entre AFD AFN con transiciones vacas 4.5. Minimizacin de AFDs 4.6. Maquinas Secuenciales 4.6.1. Maquinas de Moore 4.6.2. Maquinas de Mealy TEMA 5. Lenguajes Regulares. 5.1 Lenguaje Regular 5.2 Expresiones Regulares 5.3 Operadores regulares 5.4 Expresiones regulares y los AFNs 5.5 Construccin de Thompson TEMA 6. Gramticas 6.1 Introduccin 6.2 Conceptos bsicos de gramticas 6.3 Jerarqua de las gramticas - Gramticas de tipo 0 - Gramticas de tipo 1 - Gramticas de tipo 2 - Gramticas de tipo 3 6.4 Correspondencia entre gramticas y lenguajes 6.5 Gramticas libres de contexto 6.6 Autmatas de pilas. 6.7 Gramticas compresoras, maquina de Turing
A Q U I N O B O L I V I A

I. OBJETIVOS GENERALES DE LA ASIGNATURA. Dotar al estudiante de las bases tericas, en lo referente a autmatas finitos, gramticas libres de contexto, lenguajes formales y sus propiedades, para su aplicacin prctica en el diseo y construccin de compiladores e interpretes, a travs del desarrollo terico y la practica. ANALTICO DE LA

II. PROGRAMA ASIGNATURA.

UNIDAD I: CONJUNTOS Y RELACIONES. TEMA 1. Conceptos Bsicos. 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. Lgica Elemental Definiciones Bsicas Operaciones con conjuntos Relaciones Induccin Mtodo del Absurdo

UNIDAD II: LENGUAJES. TEMA 2. Alfabetos. 2.1. Definicin de Alfabetos 2.2. Principio de induccin sobre * 2.2.1. Proposiciones sobre Prefijo 2.2.2. Proposiciones sobre sufijo 2.2.3. Proposiciones sobre subcadenas. TEMA 3. Lenguajes.
U N I V E R S I D A D D E

FACULTAD DE CIENCIA Y TECNOLOGA

III. ACTIVIDADES A REALIZARSE POR LAS BRIGADAS UDABOL. Tipo de Asignatura para el trabajo social: De Apoyo Resumen de los resultados del diagnstico La penetracin de las tecnologas de informacin en la forma de software de apoyo al aula de educacin secundaria es incipiente o nula en los establecimientos educativos de la ciudad de Santa Cruz de la Sierra. El proyecto apunta al desarrollo de herramientas de enseanza asistida por computador bsicas a modo de iniciar a los docentes en el uso del software educativo y con objeto de recabar datos que permitan establecer el impacto del uso de estas herramientas en el rendimiento estudiantil. Nombre del Proyecto Desarrollo de Software Educativo de apoyo a la enseanza de la asignatura de qumica en el primer curso de nivel secundario de los colegios particulares de la ciudad de Santa Cruz. Contribucin al Proyecto Diseo e Implementacin del DT diagrama de transicin para el Front-End de Compilador de ecuaciones qumicas bsicas, como componente del mdulo evaluador del software educativo de apoyo a la enseanza de la asignatura de qumica, dicho que ser implementado en su totalidad en la materia de Diseo y desarrollo de compiladores. Trabajo a realizar por los estudiantes Investigar compilador, analizador lxico y diagramas de transicin Estudio profundo de los autmatas finitos deterministas Implementacin diagrama de transicin Presentacin de dt a los estudiantes de sptimo semestre. Localidad, aula laboratorio Aula Incidencia Social Estudiantes de sexto semestre. Fecha Antes del 1er parcial

Aula Laboratorio Laboratorio

Estudiantes de sexto semestre. Estudiantes de sexto semestre. Estudiantes de sexto y sptimo semestre

Antes del 2do parcial Semana 17 Semana 18

IV. EVALUACIN DE APRENDIZAJES. DIAGNSTICA Se realizar un examen diagnostico el primer da de clases, as como pregunta de control al comienzo de cada tema y no se les asignar puntaje.

PROCESUAL. En todo el semestre se realizarn preguntas escritas, exposiciones de temas, trabajos prcticos adems de las actividades planificadas para las Brigadas UDABOL. Estas evaluaciones tendrn una calificacin entre 0-50 puntos en el primer y segundo parcial, en la etapa final las

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

evaluaciones procesuales se evaluaran sobre 0-10 puntos. DE RESULTADOS. Se realizarn dos evaluaciones parciales con contenidos tericos y prcticos, las mismas se evaluaran sobre 0-50 ptos. En la etapa final se realizar la presentacin y discusin oral del proyecto de investigacin con una puntuacin entre 0-30 puntos El examen final abarca todo lo avanzado en el semestre y tendr una ponderacin de 0-60 puntos. V. BIBLIOGRAFA. BSICA. Lourden, kenneth, Construccin de compiladores, 2004. (Signatura topogrfica: 005.453 L92)

Dean Kelley. Teora de autmatas y lenguajes formales. Ed. Prentice-Hall. (Signatura topogrfica: 005.453 L93) Pedro Garcia, Tomas perez y otros. Teora de autmatas y lenguajes formales Editorial Alfaomega.,2001(Signatura topogrfica: 005.453 L94) J.G. BROOKSHEAR, Teora de la Computacin. Lenguajes formales, autmatas y complejidad, Addison Wesley Iberoamericana, 1993. J.M. HOWIE, Automata and Languages, Oxford University Press, Oxford, 1991. Hopcroft, j. ullman., Introduction to Automata Theory, Languages and Computatin, Addison Wesley

COMPLEMENTARIA

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

VI. PLAN CALENDARIO

SEMANA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

ACTIVIDADES
Tema 1: 1.1 al 1.2 Tema 1: 1.3 al 1.4 Tema 1: 1.4 al 1.6 Tema 2: 1.5 2.1 Tema 2: 2.2 al 2.2.3 Tema 2, 3: 2.2.3 al 3.1 Evaluacin primer parcial Tema 3: 3.1 3.2 Tema 3: 3.2 Tema 3: 3.3 3.4 Tema 4: 4.1 Tema 4: 4.2 Tema 4:4.2 - 4.6.2 Evaluacin del segundo parcial Tema 5:5.1 5.3 Tema 5:5.3 5.5; Tema 6: 6.1 6.3 Tema 6: 6.3 6.7 EVALUACIN FINAL EVALUACIN FINAL SEGUNDA INSTANCIA SEGUNDA EVAL. PRIMERA EVAL.

OBSERVAC.

Presentacin de notas

CICC 2008 15 16 17

Presentacin de notas

Presentacin de notas Presentacin de notas Informe final

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 1 UNIDAD O TEMA: CONCEPTOS BSICOS TITULO: Introduccin Lgica Bsica FECHA DE ENTREGA: PERIODO DE EVALUACION: Primera etapa Introduccin La Teora de los Lenguajes Formales tiene su origen en un campo aparentemente bastante alejado de la Informtica: la Lingstica. En el campo de la Informtica, el concepto de Gramtica Formal adquiri gran importancia para la especificacin de lenguajes de programacin. La Teora de los Lenguajes y Gramticas Formales tiene una relacin directa con la Teora de Autmatas, siendo posible establecer entre ambas una correspondencia denominada en lgebra isomorfismo. La Teora de los Autmatas proviene del campo de la Ingeniera Elctrica (circuitos combinatorios y secuenciales). Los autmatas son sistemas que reciben informacin, la transforman y producen otra informacin que se transmite el entorno. La Teora de Autmatas tiene aplicacin en campos muy diversos: o o o o Lgica de los Circuitos Secuenciales Teora de Control de Sistemas Reconocimiento de patrones Reconocimiento y procesado de lenguajes de programacin
U N I V E R S I D A D D E

Traduccin de lenguajes Teora de Lenguajes Formales Gran parte de nuestro estudio comprender conceptos bsicos de lgica bsica y teora de conjuntos que veremos a continuacin haremos un breve repaso de estos temas. LGICA BSICA. Para una buena comprensin de la Teora de la Computacin es fundamental un dominio razonable de las matemticas en unas cuantas vertientes: conocer la notacin terica establecida, dominar los conceptos de funciones y relaciones, y unos altos conocimientos de induccin matemtica, entre otros. Las dos herramientas ltimas dependen fuertemente de la capacidad que tenga la persona de dominar razonamientos lgicos. Es pues esta la razn por la que comenzamos estudiando la Lgica Bsica. Definicin.- Se llama proposicin (o sentencia) y la denotaremos por P, a la frase cuya verdad o falsedad puede ser determinada sin ningn tipo de duda. Las frases 2 elevado a 3 es igual a 8 y 33 es divisible por 2 son proposiciones; por el contrario, qu hora es? y esta proposicin es verdadera no lo son.
A Q U I N O B O L I V I A

FACULTAD DE CIENCIA Y TECNOLOGA

Si P y Q son dos proposiciones diremos que P es equivalente a Q si para todos los casos tienen el mismo valor de verdad. Por ejemplo, las frases el sol sale por el Oeste y 4 es menor que 2 son equivalentes porque poseen el mismo grado de verdad. Si P es una proposicin, su negacin se puede denotar por P, PC, P. Si P es verdadera P ser falsa y, lgicamente, si P es falsa P ser verdadera. P V F P F V

Una proposicin es una tautologa si es siempre verdadera Una proposicin es una contradiccin si es siempre falsa. Por tanto, la negacin de una tautologa es una contradiccin.
En las formulas con proposiciones tambin hay equivalencias muy tiles, que nos permiten modificar enunciados, pero teniendo la garanta de que el enunciado modificado es equivalente al original. Vamos a considerar las siguientes equivalencias: Conmutatividad A ^ B = B ^ A, A B = B A. Distributividad A ^ (B C) = (A ^ B) (A ^ C), A (B ^ C) = (A B) ^ (A C). Implicacin A B = ( A) B. Leyes de De Morgan (A ^ B) = A B, (A B) = A ^ B. Doble negacin ( A) = A. CUESTIONARIO WORK PAPER No. 1 Construir la tabla de verdad de: 1. (( P) v (Q)). 2. (( Q) (P)). Cules de las siguientes proposiciones son tautolgicas? 3. Si 2 + 2 = 4 entonces 5 es impar 4. Rojo es amarillo o rojo no es amarillo. 5. Rojo es amarillo o rojo es rojo. Probar que las siguientes proposiciones son contradicciones: 6. ((P v Q) P) ( Q). 7. (P Q) ( P)

La conjuncin de dos proposiciones dadas, P y Q, se denota por PQ. Esta proposicin compuesta slo es verdadera cuando P y Q son verdaderas simultneamente. La tabla de verdad presentara este aspecto:
P V V F F Q V F V F PQ V F F F

Ntese que en el caso de proposiciones compuestas tendremos que estudiar todas y cada una de las posibles combinaciones de valores lgicos, V o F, correspondientes a todos los componentes de la misma. La disyuncin de dos proposiciones P y Q se denota por P v Q, y ser verdadera cuando lo sea al menos una de las dos. Se deja al lector la construccin de la Tabla de Verdad.
P V V F F Q V F V F PVQ V V V F

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 2 UNIDAD O TEMA: CONCEPTOS BSICOS TITULO: Teora de conjuntos FECHA DE ENTREGA: PERIODO DE EVALUACIN: Primera etapa TEORA DE CONJUNTOS. Junto a la Lgica Bsica, es tambin importante el conocimiento de la Teora de Conjuntos. Definicin.- Un conjunto es una coleccin de objetos que por lo general se denominan elementos(o miembros) del conjunto. Por lo general se emplea una notacin con llaves para describir un conjunto, por ejemplo, podemos escribir A = {a, b, c}, para indicar que A es el conjunto cuyos elementos son a, b, c. Tambin podemos decir W = {x / x es un entero positivo}, en este ejemplo W es un conjunto y x representa a todos los elementos de W, donde x debe ser un entero positivo. El smbolo se lee es un elemento de pertenece a. S a es un elemento de A, se usa la notacin a A y se lee "a es un elemento de A" a pertenece a A. Se usa la notacin b A cuando es necesario indicar que b no es un elemento de A. Un conjunto slo se caracteriza por sus elementos y no por el orden en el cual se listan. Por eso si se tiene dos conjuntos A={1, 2, 3 } y el conjunto B={2, 1, 3 }, los conjuntos A y B son iguales es decir A=B. Si A y B son conjuntos y todos los elementos de A son tambin elementos de B, se escribe A B y se subconjunto de B. dice que A es un

Por ejemplo, si A = {1, 2, 3} y B = {0, 1, 2, 3, 4, 5}, se tiene A B, ya que todos los elementos de A tambin son elementos de B . Por otro lado, B no es un subconjunto de A, porque los elementos 0, 4 y 5 de B no son elementos de A. Obsrvese que si A B y B A simultneamente, entonces todos los elementos de A estn en B y todos los elementos de B estn en A. Por lo tanto: Si A B y B A, entonces tenemos que A = B. Para completar las definiciones, es conveniente considerar un conjunto especial , llamado conjunto vaco o nulo, el cual no tiene elementos. El conjunto vaco es un subconjunto de todos los conjuntos; por lo cual se puede escribir A, para todo conjunto A. Cualquier conjunto se puede nombrar de dos maneras: 1. Escribiendo cada elemento. Se denomina extensin o enumeracin. 2. Dando una propiedad comn a todos los elementos. Se dice comprensin.

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

FACULTAD DE CIENCIA Y TECNOLOGA

Sea A un conjunto, se llama conjunto potencia de A o conjunto de las partes del conjunto A, y lo denotamos por P(A) al conjunto formado por todos los subconjuntos o partes de A. Ejemplo: Sea A = {a, b} P(A) = {, {a}, {b}, {a, b}}. Ntese que P(A) y A P(A). Operaciones con Conjuntos. En aritmtica se pueden sumar, restar o multiplicar dos nmeros. En Teora de Conjuntos, existen tres operaciones que son parecidas a las anteriores. En aritmtica se puede sumar, restar o multiplicar dos nmeros. En la teora de conjuntos existen tres operaciones que son anlogas a las anteriores. 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 tanto A B = {x / x A x B}. La interseccin de A y B es el conjunto A B = {x / x A y x B}. Obsrvese que si x (A B) entonces se puede decir que x aparece simultneamente en A y B. El producto cartesiano de A y de B, y lo denotamos por A x B es el conjunto de los pares ordenados (a, b) tales que a A y b B. La diferencia de A y B es el conjunto A - B = {x / x A y x B} Por ejemplo, si A = {0, 1, 2} y B = {2, 3} entonces: Unin: A B = {0, 1, 2, 3} Interseccin: A B = {2}. Producto cartesiano: A x B = { (0,2), (0,3), (1,2), (1,3), (2,2), (2,3) } Diferencia: A B = {0, 1} Ntese que: A B = B A lo mismo para A B = B A por el contrario AxBBxA lo mismo que A B B - A
U N I V E R S I D A D D E

Es conveniente pensar que todos los conjuntos aqu tratados se consideran subconjuntos de un conjunto universal U. Los complementos pueden ser formados con respecto a este conjunto universal. Si A es un conjunto, entonces U - A es el conjunto de todos los elementos que no estn en A. Conviene denotar tales complementos mediante ; de forma que U A= . Obsrvese que = U y U = . Teorema. Dados los conjuntos A y B, se tiene lo siguiente: 1. 2. 3. 4. 5. 6. 7. 8. 9. A=A. A= Si A B, entonces A B = A. Si A B, entonces A B = B. A A = A = A A. AB=BA. A (B C)=(A B) C. A (B C) = (A B) (A C). A-B=A B las

Demostracin. Realizaremos demostraciones de estas propiedades.

Principio de induccin Matemtica Una proposicin p(n) es verdadera para todos los valores de la variable n si se cumplen las siguientes condiciones: Paso 1.- La proposicin p(n) es verdadera para n = 1, o bien, p(1) es verdadera. Paso 2.- Hiptesis de Induccin. Se supone que p(k) es verdadera , donde k es un numero natural cualesquiera. Paso 3.- Tesis de Induccin. Se demuestra que p(k + 1) es verdadera, o bien, p(k) verdadera ) p(k + 1) verdadera: La tcnica de Induccin Matemtica consiste en los tres pasos anteriores. Si se necesita demostrar la validez de una proposicin p(n) para todos los valores naturales n, entonces es suficiente que se cumplan: Paso 1, Paso 2 y Paso 3 .

A Q U I N O

B O L I V

I A

10

FACULTAD DE CIENCIA Y TECNOLOGA

Pruebe que la formula: 1 x 2 + 2 x 3 + 3 x 4 +.+ n x (n + 1) = n(n +1)(n + 2) 3 es valida para todo natural n. CUESTIONARIO WORK PAPER No. 2 1. Expresar en extensin el conjunto { x | x 2 N, x < 10 } . 2. Expresar en intencin el conjunto { 4, 6, 8, 12, 14, 16 } Realizar las siguientes demostraciones 3. Si A B = A B, entonces A = B. 4. Si A = B entonces A B = A B. 5. Si A B = entonces AB

6. 7. 8. 9. 10. 11.

Si AB = entonces A BC Si AB entonces A(B-A)=B Si ABC= y ACB= entonces A = B Si A B = A C entonces B = C. Si A B = A C, entonces B = C. B A si y slo si A B = .

13.1 + 3 + 5 + .... + ( 2n 1) = n 2 14.1 51 + 2 5 2 + 3 5 3 + ..... + n 5 n =

5 + (4n 1) 5 16 n(n + 1)(n + 2) 15.12 + 2 2 + 3 2 + ..... + n 2 = 6 16.(n + 1)(n + 2)(n + 3)......( n + n) = 2 n 1 3 5 ( 2n 1 1 1 n +2 17.(1 )(1 )....(1 )= 2 4 9 2n + 2 ( n + 1)

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 3 UNIDAD O TEMA: ALFABETOS Y LENGUAJES TITULO: Alfabetos, Palabras y Lenguajes FECHA DE ENTREGA: PERIODO DE EVALUACIN: Primera etapa Smbolo Normalmente los smbolos son letras (a,b,c...,z), dgitos (0,1,...,9), y otros caracteres (+, -, *, /, ?,...). Los smbolos tambin pueden estar formados por varias letras o caracteres, as por ejemplo las palabras reservadas de un lenguaje de programacin son smbolos de dicho lenguaje. Alfabetos Vocabulario Un conjunto no vaco y finito de smbolos se conoce como alfabeto y lo representaremos con (sigma). Los alfabetos se definen por enumeracin de los smbolos que contienen: Ejemplo. 1 = {a, b, c, d} Por tanto, si = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} podemos decir que 0 .

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

11

FACULTAD DE CIENCIA Y TECNOLOGA

Cadena Una secuencia finita de smbolos de un determinado alfabeto se conoce como palabra o cadena. Si el alfabeto es el alfabeto espaol, algunas palabras pueden ser SISTEMAS, COMPILADORES, CASA, etc. Es ms, nuestra definicin permite que BXWTEEMRE y JIPOQPY sean tambin palabras o cadenas sobre el Alfabeto espaol. Cada smbolo de un alfabeto es una cadena sobre dicho alfabeto. Por ejemplo: abac es una cadena del alfabeto 1 d es una cadena del alfabeto 1 Longitud de cadena La longitud de una cadena w es el nmero de smbolos que contiene dicha cadena, y la denotaremos por | w |. Por ejemplo: | abdc | la longitud de la cadena abdc es 4 Cadena vaca Existe una cadena denominada cadena vaca, que no tiene smbolos y se denota con , entonces su longitud es 0 : || = 0 Universo de un alfabeto Sea un alfabeto con una sola letra = { a }, entonces el universo del alfabeto es: * = { ,a, aa, aaa, aaaa,... } Que contiene infinitas cadenas. Lenguaje Se denomina lenguaje sobre un alfabeto a un conjunto de palabras formadas sobre el alfabeto . Un lenguaje tambin es un subconjunto del universo de ese alfabeto. Por ejemplo: Sea L un lenguaje cuyos elementos son L = {a, aaa, aaaaaaa}, donde L esta formada sobre el alfabeto = {a}, por tanto L *

Lenguaje vaco Existe un lenguaje denominado el lenguaje vaco, que es un conjunto vaco y que se denota por { }. El lenguaje vaco no debe confundirse con un lenguaje que contenga una sola cadena, y que sta sea la cadena vaca, es decir { }, ya que el nmero de elementos (cardinalidad) de estos dos conjuntos es diferente. OPERACIONES CON CADENAS Las operaciones bsicas con las cadenas de un Lenguaje son: Concatenacin de Cadenas: Si w y z son cadenas de un Alfabeto = {a, b}, llamaremos concatenacin de a y b, y lo representaremos por wz a la expresin formada por los smbolos de w seguidos por los smbolos de z. Potencia de una Cadena: Si w es una cadena de un Alfabeto, llamaremos potencia ensima de w, al resultado de escribir n veces seguidos los smbolos de la cadena w. Por definicin, w0 = . Inversa de una Cadena: Es la operacin consistente en escribir una cadena w invirtiendo el orden de los smbolos que la forman. Se representa con w. Por ejemplo: Si w = aabbab y z = ba wz = aabbabba (concatenacion). w2 = aabbabaabbab (potencia) w = babbaa (inversa) OPERACIONES CON LENGUAJES Las ideas de concatenacin, potencia e inversa de una cadena se pueden extender al lenguaje en su totalidad. Sean A y B lenguajes sobre un alfabeto. Se define el lenguaje concatenacin de A y B como : AB = {w x / w A y x B} Por ejemplo, si A = {casa} y B ={pjaro, perro}, entonces: AB = {casapjaro, casaperro}.

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

12

FACULTAD DE CIENCIA Y TECNOLOGA

Se define el lenguaje potencia, al igual que para las cadenas, una vez que se ha definido la concatenacin de lenguajes, se puede definir la potencia. Sea A un lenguaje sobre el alfabeto . Definimos A
n

B={, 0, 1, 10, 11, 0110, 11010} B ={,1}

, si n = 0 = 1 2 n -1 A A A , si n 1

Se dice que dos lenguajes A y B son iguales si contienen exactamente las mismas cadenas, es decir, son conjuntos iguales. Se denota con A = B. Los teoremas siguientes muestran la relacin que existe entre sublenguajes e igualdad. CUESTIONARIO WORK PAPER No. 3 1. Por qu el lenguaje vaco no es el mismo que {}? 2. Sea ={1}. Se puede decir que para todo nmero natural n hay alguna palabra w * para la cual w = n?. 3. Sea ={1}. Si w es una cadena de * para la cual w =n, es nica? Qu ocurrira si = {1, 2} ? 4. Para una palabra w, se puede decir que w i +j = w i + w j ? 5. La cadena vaca es un prefijo propio de s misma? 6. Definir las nociones de sufijo y sufijo propio de una cadena sobre un alfabeto. 7. Sea = {a, b} un alfabeto. Hallar 0, 1 , 2, 4, , 2 8. Decidir si dado = {a, b} vale: , *, +, 4 Realizar las siguientes demostraciones Sea A, B, L *. 9. (A)C= (AC) 10. (AB)+C = (A+C)(B+C) 11. A+(B+C) = (A+B)+C 12. (AB)* = (A*+B*)* 13. L* + L = L + L* 14. (L+)*=L*A + A0 = A 15. A + A0 = A0 + A Dadas s, t, u, v *, demostrar por el principio de * 16. s + t = s + t Con P[u] y P[w+a] 17. ( u + v ) = v + u

Por tanto, si A ={ab} sobre el alfabeto espaol, se obtiene que A 0 = {} A 1 = A = {ab} A2 = A1A 1 ={abab} A3 = A2A 1 ={ababab} Interesa tener en cuenta que de esta definicin se obtiene que 0 ={} Se define el lenguaje inversa de A como: A = {w / w A } Por ejemplo, si A = {casa}, entonces: A = {asac} Puesto que un lenguaje es una coleccin o conjunto de cadenas, se puede definir para el mismo la unin, interseccin y sublenguaje, al igual que se definen para los conjuntos en general. Si A y B son lenguajes sobre el alfabeto , entonces: La unin de A y B se denota mediante A B y est formada por todas las palabras que pertenecen al menos a uno de los dos lenguajes. Por tanto, A B = {x / x A o x B} La interseccin de los lenguajes A y B es el lenguaje A B = {x / x A y x B simultneamente} Luego, A B est formado slo por las palabras que pertenecen a los lenguajes A y B a la vez. Por ejemplo. Consideremos el alfabeto = {0, 1} y los lenguajes A={, 0, 1, 10, 11} y B={, 1, 0110, 11010}. Entonces A

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

13

FACULTAD DE CIENCIA Y TECNOLOGA

Con P[v] y P[a+w]

18. u = u Con P[u] y P[w+a]

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 4 UNIDAD O TEMA: AUTMATAS FINITOS TITULO: Autmatas Finitos Deterministas FECHA DE ENTREGA: PERIODO DE EVALUACIN: Segunda etapa Autmatas Finitos Determinsticos (AFD) Los autmatas finitos son maquinas abstractas que procesan palabras, las cuales son aceptadas o rechazadas.
Palabra de entrada u SI (u es aceptada) Autmata M

o o o

f es una aplicacin llamada funcin de transicin f: x S S. q0 es un elemento de S, llamado estado inicial. F es un subconjunto de S, llamado conjunto de estados finales.

NO (u es rechazada)

Consiste en un conjunto finito de estados y un conjunto de transiciones entre esos estados, que dependen de los smbolos de la cadena de entrada. El autmata finito acepta una cadena x si la secuencia de transiciones correspondientes a los smbolos de x conduce desde el estado inicial a un estado final. Formalmente: Un autmata finito es una quntupla M = { , S, f, q0, F} en que o es un alfabeto llamado alfabeto de entrada. o S es un conjunto finito llamado conjunto de estados.

El autmata en cada momento est en uno de los estado de S. Inicialmente se encuentra en q0. En cada paso, el autmata lee un smbolo y segn el estado en que se encuentre, cambia de estado y pasa a leer el siguiente smbolo. As sucesivamente hasta que termine de leer todos los smbolos de la cadena. Si en ese momento la mquina est en un estado final, se dice que el autmata acepta la cadena. Si no est en un estado final, la rechaza. La funcin de transicin de un AFD se puede representar de dos formas: mediante una tabla de transicin o mediante un diagrama de transicin. Tabla de transicin o Cada fila corresponde a un estado q S o El estado inicial se precede del smbolo o Cada estado final se precede del smbolo #

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

14

FACULTAD DE CIENCIA Y TECNOLOGA

o o

Cada columna corresponde a un smbolo del alfabeto entrada a En la posicin (q, a) esta el estado que determine f(q, a)

Diagrama de transicin o Los nodos se etiquetan con los estados. o El estado inicial tiene un arco entrante no etiquetado o Los estados finales estn rodeados de un doble circulo o Habra un arco etiquetado con a desde el nodo qi al qj si f(qi, a) = qj Ejemplo. Supongamos que tenemos el autmata finito determinista dado por M = { (0, 1), (q0,q1, q2), f, q0, (q1)} donde la funcin f : (q0,q1, q2) x (0, 1) (q0,q1, q2) f(q0, 0) = q0 f(q0, 1) = q1 f(q1, 0) = q0 f(q1, 1) = q2 f(q2, 0) = q2 f(q2, 1) = q1 La tabla de transicin correspondiente a este autmata ser: f q0 # q1 q2 0 q0 q0 q2 1 q1 q2 q1

Lenguaje asociado a un autmata finito determinista L(AFD) Sea un AFD (, S, f, q0, F). Decimos que una palabra x * es aceptada o reconocida por el autmata si f(q0,x) F. Se llama lenguaje asociado al autmata finito, o conducta del autmata finito al conjunto de todas las palabras aceptadas por ste. Es decir: L = { x | x * y f(q0,x) F } Ejemplo: Sea el siguiente AFD M1
1 0 q0 1 0

q 1

q 2

L(M1) = { w (0, 1) / w esta compuesta de n0 1s, le sigue un 0 y n 0 secuencias de 10} 0 L(M1), ya que f(q0, 0) = q1 F 10 L(M1) 1110 L(M1) 1111010101010 L(M1) 010101010 L(M1) CUESTIONARIO WORK PAPER No. 4 Para cada uno de los siguientes lenguajes definidos por extensin y sobre el alfabeto A = {a, b, d}: a) Defnalo por comprensin. b) Disee el autmata finito determinstico (AFD) que lo reconozca. 1. L1 = { d, dd, ddd, ddddd, ddddddd, } 2. L2 = {b, ab, aab, aaab, , bb, abb, aabb, aaabb, ..., bbb, abbb, aabbb, aaabbb, ..., } 3. L3 = { , abab, abababab, abababababab, ...} Para cada uno de los siguientes lenguajes definidos por comprensin construya un

y el diagrama de transicin correspondiente es el siguiente:


0 1 q0 0 1 1 0

q 1

q 2

Nota: La principal caracterstica de los AFD es que si para todo estado del autmata existe como mximo una transicin definida para cada smbolo del alfabeto.

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

15

FACULTAD DE CIENCIA Y TECNOLOGA

autmata finito determinstico (AFD) que lo reconozca: 4. L1 = { x / x { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }* y x es un nmero par} 5. L2 = { (ab)n c (ba)2m+1 / n 0, m > 1 } 6. L3 = {x / x {a, b, c}* y x no termina en ab} 7. L4 = L = { x / x {0, 1, 2}* y x contiene al menos una vez cada smbolo} 8. L5 = {x / x {a, b}* y x contiene la subcadena aba exactamente una vez} 9. L6 = { xba / x {a, b}* y x contiene cantidad par de b y x contiene al menos tres a } 10. L7 = {x / x {a, b}* y x no contiene la subcadena bab y la cantidad de ocurrencias de a es par}

Dibuja AFD que reconozcan los siguientes conjuntos de cadenas construidas sobre el alfabeto binario: 11. Cadenas acabadas en 00 12. Cadenas acabadas en 00 11 13. Cadenas con dos unos consecutivos 14. Cadenas que no contengan dos unos consecutivos 15. Cadenas con dos ceros consecutivos dos unos consecutivos 16. Cadenas con dos ceros consecutivos y dos unos consecutivos (en cualquier orden y cualquier separacin entre ellos). 17. Cadenas con un nmero par de ceros. 18. Cadenas con un nmero par de ceros y unos 19. Cadenas de longitud 4 20. Cadenas con un uno en la antepenltima posicin

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 5 UNIDAD O TEMA: AUTOMATAS FINITOS TITULO: Autmatas Finitos No Deterministas FECHA DE ENTREGA: PERIODO DE EVALUACIN: Segunda etapa Autmatas Finitos No Determinsticos (AFN) Una extensin a los autmatas finitos deterministas es la de permitir que de cada nodo del diagrama de estados salga un numero de flechas mayor o menor que | |. Es decir que haya varias flechas que salgan de un solo nodo con la misma etiqueta. Inclusive se permite que las transiciones tengan como etiqueta palabras de varias letras o hasta la palabra vaca . A estos
U N I V E R S I D A D D E

autmatas finitos se les llama no Determinsticos o no deterministas (abreviado AFN), por razones que luego veremos. Al retirar algunas de las restricciones que tienen los autmatas finitos Determinsticos, su diseo para un lenguaje dado puede volverse mas simple. Hacemos notar en este punto que, dado que los AFN tienen menos restricciones que los

A Q U I N O

B O L I V

I A

16

FACULTAD DE CIENCIA Y TECNOLOGA

AFD, resulta que los AFD son un caso particular de los AFN, por lo que todo AFD es de hecho un AFN. Hasta aqu solo vemos ventajas de los AFN sobre los AFD. Sin embargo, en los autmatas no Determinsticos se presenta una dificultad para poder saber que camino tomar a partir de un estado dado cuando se presenta un smbolo, pues puede haber varias opciones. Un AFN sin transiciones vacas es aquel autmata finito no determinista que no sale ninguna arista rotulada con la cadena vaca . Autmatas finitos con transiciones vacas (transiciones) Un autmata finito con -transiciones (AFN-) es bsicamente un AFN al que se le permite cambiar de estado sin necesidad de consumir o leer un smbolo de la entrada. Los AFN tambin se representan mediante tablas o diagramas de transicin. CUESTIONARIO WORK PAPER No. 5 Encontrar un AFN para cada uno de los siguientes lenguajes. 1. = {a, b, _ }. Palabras que como mximo pueden tener dos smbolos de subrayado consecutivos. 2. = {a, b, _ }. Palabras que no finalizan en la subpalabra a_

3. = {a, b, c }. Palabras en las que el nmero de smbolos b ms el nmero de smbolos c es 3. 4. = {a, b}. El lenguaje universal menos dos palabras: y a. 5. = {a, b}. Palabras que finalizan por el smbolo b y tienen un nmero par de smbolos b en total. 6. = {a, b}. Palabras que no contienen la subpalabra aa. 7. ={a,b,c}. Las palabras que pertenecen a este lenguaje cumplen simultneamente dos condiciones: tienen una longitud impar y contienen un nmero par de smbolos a (se considera que 0 es un nmero par). 8. ={a, b, c}. Pertenecen a este lenguaje las palabras que tienen un nmero par de veces (posiblemente ninguna) la subcadena bc. 9. ={a, b}. Las palabras tienen un nmero par de smbolos a y no contienen la subpalabra bbb (se considera que el 0 es un nmero par). 10. Las palabras en {a, b} que contienen un numero par de a. 11. Las palabras del lenguaje en {0, 1} con a lo mas un par de unos consecutivos. 12. las palabras del lenguaje en {a, b} que tienen un numero impar de ocurrencias de la subcadena ab. 13. lenguaje en {0, 1} donde las palabras no contienen la subcadena 11 pero si 00. 14. lenguaje en {a, b} donde las palabras son de longitud par y tienen un nmero par de a. 15. lenguaje en {a, b} donde las palabras que contienen aba terminan en bb.

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

17

FACULTAD DE CIENCIA Y TECNOLOGA

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 6 UNIDAD O TEMA: AUTMATAS FINITOS TITULO: Lenguajes Regulares y Expresiones Regulares FECHA DE ENTREGA: PERIODO DE EVALUACIN: Segundo Parcial LENGUAJES REGULARES Y EXPRESIONES REGULARES En este capitulo estudiaremos la clase de lenguajes aceptados por los AF, la de los lenguajes regulares. Lenguajes Regulares Los lenguajes regulares se llaman as porque sus palabras contienen regularidades o repeticiones de los mismos componentes, como por ejemplo en el lenguaje L1 siguiente: L1 = {ab, abab, ababab, abababab, . . .} En este ejemplo se aprecia que las palabras de L1 son simplemente repeticiones de ab cualquier numero de veces. Aqu la regularidad consiste en que las palabras contienen ab algn numero de veces. Otro ejemplo mas complicado seria el lenguaje L2: L2 = {abc, cc, abab, abccc, ababc, . . .} La regularidad en L2 consiste en que sus palabras comienzan con repeticiones de ab, seguidas de repeticiones de c. Similarmente es posible definir muchos otros lenguajes basados en la idea de repetir esquemas simples. Esta es la idea bsica para formar los lenguajes Regulares. Definicin formal de Lenguajes Regulares Un lenguaje L es regular si y solo si se cumple al menos una de las condiciones siguientes: L es finito; L es la unin o la concatenacin de otros lenguajes regulares R1 y R2, L = R1+ R2 o L = R1R2 respectivamente. L es la cerradura de Kleene de algn lenguaje regular, L = R*. Estos lenguajes pueden adems ser descritos mediante dos representaciones que veremos: las Expresiones Regulares y las Gramticas Regulares. Expresiones Regulares Los lenguajes aceptados por un autmata finito se describen con facilidad mediante expresiones simples llamadas expresiones regulares. El objetivo de las expresiones regulares es representar todos los posibles lenguajes definidos sobre un alfabeto , basndose en una serie de lenguajes primitivos, y unos operadores de composicin. Lenguajes
A Q U I N O B O L I V I A

U N I V

R S

I D A

D E

18

FACULTAD DE CIENCIA Y TECNOLOGA

primitivos sern el lenguaje vaci, el lenguaje formado por la palabra vaca, y los lenguajes correspondientes a los distintos smbolos del alfabeto. Los operadores de composicin son la unin, la concatenacin, el cierre y los parntesis. Definicin Expresin Regular(e.r.) Dado un alfabeto finito , las expresiones regulares sobre se definen de forma recursiva por las siguientes reglas : 1. Las siguientes expresiones son expresiones regulares primitivas : . b. a, con a 2. Sean r y t expresiones regulares, entonces son expresiones regulares derivadas: a. r t (unin) b. rt (concatenacin) c. r* (cierre de kleen) d. (r) 3. No hay ms expresiones regulares sobre que las construidas mediante estas reglas. Observacin: La precedencia de los operadores es la siguiente (de mayor a menor) : a. () b. cierre de kleen c. concatenacin d. unin Ejemplo. Algunos ejemplos expresiones regulares e.r. son: de

n0 as y que pueden terminar en el carcter a b. Lenguaje descrito por una Expresin Regular Sea r una expresin regular sobre . El lenguaje descrito por r, ser el lenguaje L(r), que se define recursivamente de la siguiente forma : a. Si r = ; el lenguaje ser L(r) = L () = b. Si r = , L() = {} c. Si r = a, con a , L(a) = {a} d. Si r = t s L( t s) = L(t) L(s) e. Si r = ts L(ts) = L(t)L(s) f. Si r = t* L(t*) := L(t)* donde t, s son expresiones regulares. Dos expresiones regulares r1 y r2 se dicen equivalentes y se escribe r1 = r2, si describen el mismo lenguaje, esto es, si L(r1) = L(r2). CUESTIONARIO WORK PAPER No. 6 Encontrar Expresiones Regulares representen los siguientes lenguajes: que

a. (0 1)*01 esta expresin regular esta definida sobre el alfabeto = {0, 1} que representa el lenguaje L compuesta por todas aquellas cadenas que se pueden formar con el alfabeto y adems terminan en 01. b. a*(a b) esta expresin regular esta definida sobre el alfabeto = {a, b} que representa el lenguaje L compuesta por todas aquellas cadenas que empiecen con
U N I V E R S I D A D D E

1. El conjunto de las palabras sobre = {a, b} tales que toda a esta precedida por alguna b, como por ejemplo: , b, bba, babaa, etc. La b que precede a la a no necesita estar inmediatamente antes. 2. Conjunto de palabras sobre = {0, 1} terminadas en 00. 3. Conjunto de palabras sobre = {0, 1} que contengan tres ceros consecutivos mnimo, como 0001000, 0000001, etc. 4. Conjunto de palabras sobre = {a, b} que no contienen dos b consecutivas, como ababab, aaaa,etc. 5. Conjunto de palabras sobre = {0, 1} con a lo mas un par de ceros consecutivos y a lo mas un par de unos consecutivos. 6. Conjunto de palabras = {0, 1} tales que no hay ningn par de ceros consecutivos despus (en cualquier posicin a la derecha) de un par de unos consecutivos, como 0000110, 0001000, etc. 7. El lenguaje {101, 1110}
A Q U I N O B O L I V I A

19

FACULTAD DE CIENCIA Y TECNOLOGA

8. 9.

El lenguaje L = {w ( (* / w = anbak, n, k (0} El lenguaje ( = {a, b} en que todas las palabras son de longitud impar. 10. Conjunto de cadenas sobre ( = {a, b} que contienen un numero impar de b. 11. Conjunto de cadenas sobre ( = {a, b} que no contienen ni aa ni bb. 12. L = {w ( {a, b, c} / | w | = 3 }

13. Lenguaje sobre = {a, b} : L = {w / | w | es par y la ocurrencias de as en w es par } 14. El lenguaje sobre = {0, 1} en que las palabras no vacas empiezan o terminan en cero. 15. El lenguaje sobre = {0, 1} en que las palabras contienen mas de tres ceros. 16. El lenguaje sobre = {0, 1} en que las palabras contienen un numero de ceros

distinto de 3, por ejemplo 010, 1111, 00100, etc. 17. El lenguaje sobre = {a, b} en que las palabras pueden contener pares de a's consecutivas, pero no grupos de 3 a's consecutivas; por ejemplo, baabaab, pero no baaaab. 18. El lenguaje sobre = {0, 1} en que las palabras no contienen un cero exactamente (pero pueden contener dos, tres, etc.), como 1111, 1010, etc. 19. El lenguaje sobre = {a, b} en que toda b tiene a su izquierda y a su derecha una a (no necesariamente junto), y adems el numero de b es impar.

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 7 UNIDAD O TEMA: AUTMATAS FINITOS TITULO: Equivalencia entre Expresiones Regulares y Autmatas Finitos FECHA DE ENTREGA: PERIODO DE EVALUACIN: Segundo Parcial Como ya hemos visto un autmata finito reconoce las cadenas que pertenecen a un lenguaje regular determinado, en cambio las expresiones regulares representan todas las cadenas que pertenecen a ese lenguaje. Por tanto existe una equivalencia entre los AF y las e.r., esa equivalencia viene definida por el algoritmo de la CONSTRUCCION DE THOMPSON. El algoritmo para la construccin de Thompson debe seguir los siguientes pasos: Cada paso del algoritmo obtiene un autmata con un nico estado final, aunque por lo contrario, obtiene autmatas excesivamente complicados. Por tanto, la nica ventaja que tiene este algoritmo es que se puede aplicar de forma general a cualquier expresin regular.

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

20

FACULTAD DE CIENCIA Y TECNOLOGA

Construccin de Thompson La traduccin de las ER en AF se basa en las siguientes reglas: 1. El AF que reconoce la ER es el siguiente:

5. Para la ER * se crea el siguiente AFN:

q 0
a

q0 q0 qf qf

q f

2. El AF que reconoce la ER a . Donde a es el siguiente:

AF()

q0

qf

CUESTIONARIO WORK PAPER No. 7 Encontrar el AFN para cada una de las siguientes expresiones regulares e.r.

3. Para la ER (concatenacin), donde y son ER de las que ya se dispone su AF, el autmata es el siguiente:

q0

qf AF ( )

q0 AF ()

qf

4. Para la ER | (Unin) , donde y son ER de las que ya se dispone su AF, el autmata es el siguiente:

q0 q0 q0 AF() AF()

qf

qf

1. (a* b*)* 2. (ab)* 3. a*b* 4. a* (ba*)* 5. (a*b)* a* 6. (ab aab aba)* 7. c*(a bc*)* 8. a*ba*ab* 9. b((aab* a)b)*a 10. ab((ab)* b)* a*b 11. (00 (1 01)(11 0)*10)* 12. a((ab)*cd)* a(ababcb*)*a*
13. 11( 0)*00( 1)* 14. 01(10*( 111)*)1

qf

15. (ab ba abba baab)* 16. (a(a b)*)+ 17. ab((ab)*ab (ab)*) (ab)*.

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

21

FACULTAD DE CIENCIA Y TECNOLOGA

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 8 UNIDAD O TEMA: AUTMATAS FINITOS TITULO: Equivalencias entre AFN - AFD FECHA DE ENTREGA: PERIODO DE EVALUACIN: Etapa Final Equivalencia de AFD Y AFN Los autmatas finitos determinsticos (AFD) son un subconjunto propio de los no Determinsticos (AFN), lo que quiere decir que todo AFD es un AFN. Podra entonces pensarse que los AFN son mas poderosos que los AFD, en el sentido de que habra algunos lenguajes aceptados por algn AFN para los cuales no habra ningn AFD que los acepte. Sin embargo, en realidad no sucede as. Para todo AFN N, existe algn AFD D tal que L(N) = L(D). Este resultado, sorprendente, pero muy til, puede probarse en forma constructiva, proponiendo para un AFN como construir un AFD que sea equivalente. El mtodo que usaremos para pasar de un AFN a un AFD se basa en la idea de considerar el conjunto de estados en los que podra encontrarse el AFN al haber consumido una cierta entrada. Primera aproximacin: el AFN no tiene transiciones vacas. Idea bsica: Si en un AFN desde un estado qi con el smbolo a se puede transitar a varios estados,
U N I V E R S I D A D D E

la solucin para conseguir determinismo es agrupar todos esos estados en uno slo. Grficamente:

En definitiva, los estados del AFD solucin van a ser conjuntos de estados del AFN de partida.

A Q U I N O

B O L I V

I A

22

FACULTAD DE CIENCIA Y TECNOLOGA

Algoritmo: 1. El estado inicial del AFD es el mismo que el del AFN 2. A partir de este estado inicial, aplicar la idea bsica anterior para cada uno de los smbolos del alfabeto. Cada subconjunto nuevo C, es un nuevo estado del AFD, y por tanto, debe obtenerse su funcin de transicin mediante la idea bsica. 3. Un estado del AFD ser final si contiene algn estado final del AFN de partida. EJEMPLO: Solucin no determinista para las palabras que empiezan y terminan por a (siendo diferente la a del principio y del final)
a, b a q0 q1 a q2

Por ejemplo, para el smbolo a, las transiciones desde q1 son dos: {q1, q2}, pero a esas hay que unir las de q 2, que en este caso es . En total se tiene que el destino de {q 1, q2} con el smbolo a es {q1, q2}. Terminando aqu la obtencin de la funcin de transicin del AFD. Dicho autmata tiene cuatro estados: {q0}, {q1}, {q1, q2} y . Los renombramos para manejarlos mejor (qA, qB, qC y qD), obteniendo la siguiente funcin de transicin: A qA qB qB qC qC qC El estado inicial es qA. b qD qB qB

Estados finales se tiene nicamente a qC, por b contener a q2.


a q
A

Estado inicial del AFD = { q0 } Utilizando la idea bsica, vemos cules son las transiciones ( ) del AFD a partir del estado inicial: {q0} A {q1} b

q a

q b

a
C

CUESTIONARIO WORK PAPER No. 8 Encontrar el AFD siguientes AFNs equivalentes de los

Han aparecido dos estados nuevos del AFD, los conjuntos {q1} y . Habr que estudiar la funcin de transicin ( ) para cada uno de ellos, pero como el representa el conjunto vaci pues no se lo toma en cuenta as que solo analizaremos { q1}. Comenzamos con la de {q1} A b {q1} {q1, q2} {q1} Aparece un nuevo estado del AFD, el conjunto {q1, q2}. Por tanto, queda pendiente el estudio de la funcin de transicin para este conjunto y para . A b {q1, q2} {q1, q2} {q1} --------------------- --------------------{q1, q2} {q1}

0 1 q 0

q 1 0, 1

q 2

0, 1

a, b, c

q 0 a

a, b

q 1

b, c q2 c

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

23

FACULTAD DE CIENCIA Y TECNOLOGA

0, 1 0 0

0, 1 q4

q0 1

q3

q1 1

q2 0, 1

a b q0 q1

q2
I A

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

24

FACULTAD DE CIENCIA Y TECNOLOGA

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 9 UNIDAD O TEMA: AUTMATAS FINITOS TITULO: Equivalencias entre AFN- y AFD FECHA DE ENTREGA: PERIODO DE EVALUACIN: Etapa Final El AFN tiene transiciones vacas.
q a a q i a q m Cierre_ ( q ) m q j k Cierre_ ( q ) j Cierre_ ( q ) k C a

El fundamento es el mismo que en la primera aproximacin: los estados del AFD son conjuntos de estados del AFN de partida. nicamente debe completarse para incluir el concepto de transicin vaca. Con este objetivo, consideramos el siguiente ejemplo:
1

Idea bsica:

q0

q1
q 4

q2

q3

b
U N I V E R S I D A D D E

aA q5

B O L I V

Q U I N O

bI

25

q4

FACULTAD DE CIENCIA Y TECNOLOGA

Desde q0, leyendo un smbolo a se transita no slo a q1 y a q4, sino tambin a q2 y a q3, ya que desde q1, sin leer nada en la entrada, se puede llegar a estos estados. Si llamamos Cierre_ de un estado al conjunto de estados a los que se puede llegar desde ese estado aplicando slo transiciones vacas (por ejemplo, Cierre_ (q1) = {q2, q3} y Cierre_(q4) = ), entonces la idea bsica para formar conjuntos, queda de la siguiente manera: Un ltimo detalle antes de ver un ejemplo. El estado inicial del AFD ser el conjunto formado por el estado inicial del AFN, junto con el Cierre_ del mismo. EJEMPLO:
q a q 0 b a 1 q a 2

AFD. Como se puede ver en la siguiente tabla, cuando se alcanzan directamente con el smbolo correspondiente y un estado q en vez del estado anotamos o hacemos referencia al Cierre_ de q.
{q0, q1, q2} A Cierre_ (q2) Cierre_ (q3) __________ {q2, q3} Cierre_ (q0) Cierre_ (q1) __________ {q0, q1, q2} {q2, q3} Cierre_ (q0) Cierre_ (q1) Cierre_ (q2) Cierre_ (q3) --------------------{q0, q1, q2, q3} ---------------- B Cierre_ (q3) __________ {q3}

{q3}

b a q

{q0, q1, q2, Cierre_ q3} (q0) Cierre_ (q1) Cierre_ (q2) Cierre_ (q3) --------------------{q0, q1, q2, q3}

Cierre_ (q3) -----------------{q3}

El cierre de un estado q cualquiera contiene as mismo. Cierre_ (q0) = {q0, q1, q2} Cierre_ (q1) = {q1, q2} Cierre_ (q2) = {q2} Cierre_ (q3) = {q3} En este autmata se puede comenzar el reconocimiento de una palabra en q0, como estado inicial que es; pero tambin se puede empezar en q1 o en q2 ( el Cierre_ (q0) ), ya que se pueden alcanzar estos estados desde q0 sin leer nada en la entrada. En definitiva, si llamamos qA al estado inicial del AFD: qA = Cierre_ (q0) = {q0, q1, q2} Aplicamos a partir de este estado la idea bsica para obtener el resto de estados del
U N I V E R S I D A D D E

A B qA {q0, q1, {q2, q3} {q3} {q3} q2} Cierre_ (q2) = Cierre_ (q3) Cierre_ (q3) = = __________ __________ {q2, q3} {q3} qB {q3} {q0, q1} Cierre_ (q0) = {q1, q2} Cierre_ (q1) = {q2} __________ {q0, q1, q2}

qC {q2, q3} {q2, q3} {q0, q1} Cierre_ (q0) = {q1, q2} -------------------- Cierre_ (q1) = {q2} Cierre_ (q2) = Cierre_ (q3) = --------------------A Q U I N O B O L I V I A

26

FACULTAD DE CIENCIA Y TECNOLOGA

{q0, q1, q2, q3} qD {q0, q1, {q2, q3} q2, q3} {q0, q1} Cierre_ (q0) = {q1, q2} Cierre_ (q1) = {q2} Cierre_ (q2) = Cierre_ (q3) = --------------------{q0, q1, q2, q3} {q3} {q3} Cierre_ (q3) = --------------------{q3}

Para cada uno de los autmatas finitos no deterministas siguientes, calcula un autmata finito determinista equivalente:

Estados finales son todos aquellos que contengan a q0 o a q2: F= {qA, qC, qD} Y el AFD resultante es el siguiente:
a q a
C

qD

AFN1 =({a, b}, {p,q,r,s,}, f1, p, {s}) f1 p q r *s a q,s b p q,r p,s q,r,s, x Q,r qr r q

a b q

EJERCICIO: Aplicar el algoritmo subconjunto al siguiente autmata:


1 1 q 0 0 1 q 2 1 q 3 0 q 1

AFN2 =({a, b}, {p,q,r,s,t,u,v}, f2, p, {v}) F2 p q r s t u *v a q,r q,r r,u s,t u,s,t v v b p s,t,u p,v

Solucin:
0, 1 0 1 qA q
B

AFN3 =({a, b,c}, {p,q,r,s,t,u,v}, f3, p, {v}) f3 p q r *s t u *v AFN4 a b r,s t,p v s,q v u q s r c x q,t r,s q,u

qD

1 1 qC

CUESTIONARIO WORK PAPER No. 9

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

27

FACULTAD DE CIENCIA Y TECNOLOGA

f4 qo q1 q2 Q3

0 q0 q2

1 { q1 , q2} { q1 , q2}

q2 q3

PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 10 UNIDAD O TEMA: GRAMTICAS TITULO: Gramticas FECHA DE ENTREGA: PERIODO DE EVALUACION: Etapa Final DEFINICIN FORMAL DE GRAMTICA Una gramtica es una cudrupla: G = ( VT, VN, S, P ), donde: VT = (conjunto finito de smbolos terminales) VN = (conjunto finito de smbolos no terminales) S es el smbolo inicial y pertenece a VN P = (conjunto de producciones o de reglas de derivacin) Todas las cadenas del lenguaje definido por la gramtica estn formadas con smbolos del
U N I V E R S I D A D D E

vocabulario terminal VT. El vocabulario terminal se define por enumeracin de los smbolos terminales. El vocabulario no terminal VN es el conjunto de smbolos introducidos como elementos auxiliares para la definicin de la gramtica, y que no figuran en las sentencias del lenguaje. El vocabulario no terminal se define por enumeracin de los smbolos no terminales. El smbolo inicial S es un smbolo no terminal a partir del cual se aplican las reglas de la gramtica para obtener las distintas cadenas
A Q U I N O B O L I V I A

28

FACULTAD DE CIENCIA Y TECNOLOGA

del lenguaje. Tambin se le denomina axioma de la gramtica. Las producciones P son las reglas que se aplican desde el smbolo inicial para obtener las cadenas del lenguaje. Ejemplo. Sea G = ({0, 1}, {A, B}, A, P) en la que P = {(A->1B1), (A-> 0B0), (B->A), (B->1), (B->0), (B->)} Una simplificacin habitual al describir las reglas de una gramtica es agrupar todas las producciones o reglas de cada smbolo no terminal y separar las partes derechas por el smbolo . Las producciones del ejemplo anterior podramos escribirlas de la siguiente forma: A -> 1B1 0B0 B -> A10 Sentencias o Instrucciones Se denominan sentencias o instrucciones de un lenguaje a cualquier cadena que sea el resultado ltimo de una derivacin a partir del smbolo inicial S y que est compuesta nicamente por smbolos terminales, es decir: S -> m y m VT

G1 y L(G1)=L(G2) Ejemplo:

G2

son

equivalentes

si

Sea la gramtica G = ({S}, {a,b}, S, P) donde P = { (S -> aSb), (S -> ab)}. Determinar el lenguaje que genera. JERARQUA DE LAS GRAMTICAS Chomsky defini cuatro tipos distintos de gramticas en funcin de la forma de las reglas de derivacin P. Esta clasificacin es jerrquica, es decir cada tipo de gramtica engloba a todos los tipos siguientes. Gramticas de tipo 0 Tambin llamadas gramticas no restringidas o gramticas con estructura de frase. Las reglas de derivacin son de la forma: -> siendo (VN VT)+ y (VN VT)*, es decir la nica restriccin es que no puede haber reglas de la forma -> , donde es la cadena vaca. Gramticas de tipo 1 Tambin llamadas gramticas sensibles al contexto. En ellas las reglas de produccin son de la forma: A -> siendo A VN; , (VN VT)* y (VN VT)+ Estas gramticas se llaman sensibles al contexto, pues se puede reemplazar A por siempre que est en el contexto ... . La nica excepcin a esta regla es que se admite la regla compresora S -> (slo en axioma) Propiedades de las gramticas de tipo 1

DEFINICIN FORMAL DE LENGUAJE El lenguaje L(G) generado por una gramtica G es el conjunto de todas las sentencias que puede generar G. Es decir expresado formalmente: L(G) = { VT*/S ->* } Una sentencia pertenece a L(G) si: est compuesta de smbolos terminales la sentencia puede derivarse del smbolo inicial S aplicando las reglas de produccin de la gramtica. Propiedad Dos gramticas son equivalentes si ambas generan el mismo lenguaje.
U N I V E R S I D A D D E

A Q U I N O

B O L I V

I A

29

FACULTAD DE CIENCIA Y TECNOLOGA

A continuacin se presenta la propiedad de no decrecimiento de las gramticas de tipo 1, que se presenta en forma directa e inversa, lo cual permite intercambiar dicha propiedad con la definicin dada anteriormente Propiedad de no decrecimiento Las cadenas que se obtienen en cualquier derivacin de una gramtica de tipo 1 son de longitud no decreciente, es decir: -> | || |

aB ab La gramtica anterior no es de tipo 1 segn la definicin dada, ya que la regla CB BC no respeta el contexto. Sin embargo puede apreciarse que todas las reglas de esta gramtica son no decrecientes, por lo tanto es posible encontrar una gramtica equivalente que genere el mismo lenguaje. Se puede sustituir la regla CB BC por: CB CY CY BY BY BC Puede observarse que ambas gramticas son equivalentes y que generan el lenguaje: L(G) = { an bn cn / n 1 } Gramticas de tipo 2 Tambin se denominan gramticas de contexto libre o libres de contexto. Sus reglas de produccin tan slo admiten tener un smbolo no terminal en su parte izquierda, es decir son de la forma: A -> Siendo A VN y (VN VT)*. Igual que en el tipo anterior, slo se admite la transformacin en la cadena vaca para el axioma (S -> ) La denominacin contexto libre se debe a que se puede cambiar A por , independientemente del contexto en que aparezca A. Gramticas de tipo 3 Las gramticas de tipo 3 o regulares comienzan sus reglas de produccin por un smbolo terminal, que puede ser seguido o no por un smbolo no terminal, es decir, son de la forma:

y que se puede enunciar como la longitud de la parte derecha de la produccin es mayor o igual a la de la parte izquierda. La demostracin es inmediata. Si se define una produccin de un lenguaje tipo 1 como : A -> siendo (VN VT)+ , es decir nunca puede ser la cadena vaca, lo que implica que || 1 y como |A| vale 1, queda demostrada la propiedad : | A | | | Propiedad de sensibilidad al contexto Tambin se puede demostrar que si todas las reglas de una gramtica cumplen la condicin de no decrecimiento, se puede hallar una gramtica equivalente con las producciones sensibles al contexto. Esta segunda propiedad combinada con la primera hace que se pueda intercambiar la caracterstica de no decrecimiento con la definicin. Ejemplo: Sea la gramtica G= ({S,B,C, {a,b,c}, S,P) donde P son las producciones: S aSBC S aBC CB BC bB bb bC bc cC cc

A -> aB A -> a donde A,B VN y a VT

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

30

FACULTAD DE CIENCIA Y TECNOLOGA

Como antes, se admite la produccin S -> (slo en el axioma) CUESTIONARIO DE WORK PAPER No. 10 1. Obtener las derivaciones de las palabras 002 y 0001 a partir de la siguiente gramtica : G = ({A,B}, {0, 1, 2},A, {A ::= 0B,A ::= 2, B::= 0A,B ::= 1}) . Obtener el lenguaje que genera. 2. Obtener el lenguaje generado por la gramtica : G = ({S}, {a, b}, S, {S ::= aSbb | }) . 3. Construir una gramtica que genere el lenguaje L = {anbn+1 | n 0}. 4. Construir una gramtica que genere el lenguaje L = {w | na(w) y nb(w) son pares} 5. Indicar si las gramticas con los siguientes conjuntos de producciones son equivalentes : P1 = {S ::= aSb | }, P2 = {S ::= aAb | ,A ::= aAb | }. 6. Construir gramticas para = {a, b} que generen los lenguajes cuyo conjunto de palabras sean : a. todas las cadenas con una nica a. b. todas las cadenas con al menos la subcadena ababbb. c. todas las cadenas con no mas de tres a`s. 7. Describir el lenguaje generado por la gramtica cuyo conjunto de producciones es {S ::= aA | ,A ::= bS}. 8. Describir el lenguaje generado por la gramtica cuyo conjunto de producciones es {S ::= Aa,A ::= B,B ::= Aa}.

9. Construir una gramtica para cada uno de los siguientes lenguajes : a. L1 = {anbm | n 0,m > n}. b. L2 = {an+2bn | n 1}. c. L3 = {anbn-3 | n 3}. d. L1L2. e. L1 L2. f. L32. g. L.1. h. L4 = {abna | n 1}. 10. Construir una gramtica para cada uno de los siguientes lenguajes para = {a} : a. L1 = {w | |w| mod 3 = 0}. b. L2 = {w | |w| mod 3 > 0}. 11. Dado un alfabeto y una palabra w 2, se dice que w es un palndromo si se verifica que w- = w. Dado 2 := {0, 1}, construir una gramtica que genere el lenguaje de los palndromos sobre 2, Lpal(2) := {w 2 | w-1 = w} 12. Sea := {(, ), 0, 1}. Las expresiones con parntesis bien balanceadas se definen del siguiente modo : La palabra vaca est bien balanceada. 0 y 1 son palabras bien balanceadas. Si w* es una palabra bien balanceada, entonces (w) es una palabra bien balanceada. Si w, w . son palabras bien balanceadas, entonces ww es una palabra bien balanceada. Construye una gramtica que genere el lenguaje de las palabras bien balanceadas. 13. Son equivalentes las gramticas cuyas producciones son las siguientes?. P1 = {S ::= aSb | ab | }, P2 = {S ::= aAb | ab, A ::= aAb | }. 14. Demostrar si las gramticas con las siguientes producciones son ambiguas : {A ::= 1B | 11, B ::= 1},

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

31

FACULTAD DE CIENCIA Y TECNOLOGA

{S ::= AB | aaB, A ::= a | Aa, B ::= b}.

PROGRAMA DE CONTROL DE CALIDAD DIFs # 1 UNIDAD OTEMA: MQUINAS DE TURING TITULO: Conceptos Bsicos FECHA DE ENTREGA: Recordemos que la coleccin de los lenguajes regulares constituye un subconjunto propio de los lenguajes independientes del contexto. Por tanto, se puede decir que los autmatas finitos son menos potentes que los autmatas de pila con respecto a la capacidad que tienen para aceptar lenguajes, sin embargo existe un tercer tipo de dispositivo para reconocimiento de lenguajes, las maquinas de Turing, que son mas generales que cualquier autmata finito y cualquier autmata de pila. A partir de la siguiente informacin realice una investigacin sobre las maquinas de Turing tomando en cuenta los siguientes puntos de anlisis. Definicin Lenguajes reconocidos por las maquinas de Turing. Equivalencias con las maquinas secuenciales Gramticas equivalentes a una Maquina de Turing.
B O L I V I A

U N I V

R S

I D A

D E

A Q U I N O

32

FACULTAD DE CIENCIA Y TECNOLOGA

En las referencia que vienen a continuacin encontrara informacin valiosa sobre estas maquinas, y tambin puede consulta el libro de Pedro Garca, Tomas Perez Y Otros. Teora De Autmatas Y Lenguajes Formales.

http://www.angelfire.com/poetry/ambar uph/Maquinas_de_Turing.htm#Maquinas %20de%20Turing

dac.escet.urjc.es/lrincon/uned/ta1/ta1tema3.pdf http://ultimaorbita.com/wiki/index.php/ M %C3%A1quinas_de_Turing_universal_y_r econocedora_del_lenguaje,_definici %C3%B3n,_funcionamiento_y_restriccion es

CONCLUSIONES (debern sintetizar la opinin del grupo):

COMENTARIOS (debern sintetizar la opinin del grupo):

GRUPO (mximo cinco integrantes): AP. PATERNO AP. MATERNO

NOMBRES

FIRMA

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

33

FACULTAD DE CIENCIA Y TECNOLOGA

PROGRAMA DE CONTROL DE CALIDAD DIFs # 2 UNIDAD OTEMA: MQUINAS SECUENCIALES TITULO: Maquinas Mealy - Moore FECHA DE ENTREGA:

Las mquinas secuenciales representan un tipo de autmata que es capaz de, dada una palabra de entrada, generar otra palabra de salida. Para ello, se definen un conjunto de estados, que memorizan la parte de la palabra leda en cada momento y generan, al mismo tiempo que transitan entre los estados una salida. A partir de la siguiente informacin realice una investigacin sobre las maquinas de Secuenciales tomando en cuenta los siguientes puntos de anlisis.

Minimizacin.

En las referencia que vienen a continuacin encontrara informacin valiosa sobre estas maquinas, y tambin puede consulta el libro de Pedro Garca, Tomas Perez Y Otros. Teora De Autmatas Y Lenguajes Formales www.infoab.uclm.es/asignaturas/42517/transparenc ias/pdf/TALFTema5.pdf

http://delta.cs.cinvestav.mx/~g morales/ta/node48.html

Diferencias entre las maquinas wwwdi.ujaen.es/~nacho/tema2t Mealy - Moore alf.pdf Representaciones de las pisuerga.inf.ubu.es/cgosorio/AL maquinas secuenciales. eF/UD4/otros-af.pdf Equivalencias de Maquinas Secuenciales www.fdi.ucm.es/profesor/vaquero/TALF/Captulo3/TALF3-7.doc

CONCLUSIONES (debern sintetizar la opinin del grupo):

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

34

FACULTAD DE CIENCIA Y TECNOLOGA

COMENTARIOS (debern sintetizar la opinin del grupo):

GRUPO (mximo cinco integrantes): AP. PATERNO AP. MATERNO

NOMBRES

FIRMA

U N I V

R S

I D A

D E

A Q U I N O

B O L I V

I A

35

Das könnte Ihnen auch gefallen