La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Computación Valeria Herskovic –

Presentaciones similares


Presentación del tema: "Computación Valeria Herskovic –"— Transcripción de la presentación:

1 Computación Valeria Herskovic – vherskov@dcc.uchile.cl
Rodolfo Toledo –

2 Objetivo del curso Objetivo: Interiorizar al estudiante en el funcionamiento de los sistemas computacionales que apoyarán su trabajo profesional. Comprender cómo funciona un computador Tecnología Medica, Universidad de Chile, Otoño 2010

3 Metodología Cada semana: Clase teórica + trabajo práctico.
Entrega trabajo práctico: mismo día clase teórica, 17:30 horas, sin falta. Tecnología Medica, Universidad de Chile, Otoño 2010

4 Evaluación ET: Evaluaciones teóricas (2) = 40%
TP: Trabajos prácticos = 20% PR: Proyectos (3) = 40% Eximición con 5,5 o más, siempre que ET≥4, TP≥4, PR≥4 Nota Final = 70% Nota Presentación + 30% Examen Tecnología Medica, Universidad de Chile, Otoño 2010

5 Fundamentos de la Computación
Valeria Herskovic Rodolfo Toledo

6 Fundamentos de la Computación
Ciencias de la computación: estudio de la teoría de la información y computación Procesos algorítimicos que crean, describen y transforman información Estudio de máquinas abstractas y los problemas que éstas pueden resolver Tecnología Medica, Universidad de Chile, Otoño 2010

7 Fundamentos de la computación
Hoy: lenguajes regulares – usando expresiones regulares y autómatas. Próxima clase: utilizaremos este tipo de abstracciones para definir una Máquina de Turing Máquina de Turing: es capaz de realizar operaciones matemáticas de manera mecánica. Se demostró que esta máquina permite computar cualquiera de estas operaciones y por lo tanto son equivalentes a cualquier computador. Tecnología Medica, Universidad de Chile, Otoño 2010

8 Alfabeto Conjunto Lo llamaremos Ʃ
Finito (cierto número de elementos) No puede estar vacío Lo llamaremos Ʃ Sus elementos son símbolos que llamaremos caracteres ¿Ejemplos? a,b,c,d,e,f,g,h,i,j,k,l,m,n,ñ,o,p,q,r,s,t,u,v,w,x,y,z α,β,γ,δ,ε,... 0,1,2,3,4,5,6,7,8,9 A,4,#,B Tecnología Medica, Universidad de Chile, Otoño 2010

9 Cadena Secuencia finita de símbolos de un alfabeto
Ejemplo Ʃ=a,b  algunas cadenas: aaa, abba, b, bbbbbbbb Ʃ=a,b,…,z  algunas cadenas: auto,barco,casa,bbirvf Ʃ* es el conjunto de todas las cadenas de Ʃ Ʃ= a,b  Ʃ* = a,b,ab,ba,aa,bb,aab,aba,abb,… Ʃ=a,b,…,z  Ʃ*=a,b,...,abbbb,…,auto,…, barco,…. bbirvf,… Tecnología Medica, Universidad de Chile, Otoño 2010

10 Lenguaje Un lenguaje sobre un alfabeto Ʃ es un subconjunto de Ʃ*
Ejemplos Ʃ= a,b  Ʃ* = a,b,ab,ba,aa,bb,aab,aba,abb,… Lenguaje = a, b, ab, ba Ʃ=a,b,…,z  Ʃ*=a,b,...,abbbb,…,auto,…, barco,…. bbirvf,… Lenguaje=a, auto, barco, casa, … Tecnología Medica, Universidad de Chile, Otoño 2010

11 En resumen… Alfabeto: conjunto de símbolos con los que escribiremos cadenas, o palabras Cadena: similar a una palabra, usa los símbolos del alfabeto Lenguaje: conjunto de cadenas Tecnología Medica, Universidad de Chile, Otoño 2010

12 Lenguajes regulares Son aquellos lenguajes que se pueden describir utilizando, equivalentemente, cualquiera de las siguientes tres técnicas: Expresiones Regulares Autómatas finitos determinísticos Autómatas finitos no determinísticos Tecnología Medica, Universidad de Chile, Otoño 2010

13 Expresiones Regulares
Todo caracter c en el lenguaje es una ER ε (vacío) también es una ER Las siguientes combinaciones de caracteres también son una ER a | b = a o b a • b = a seguido de b a* = a repetido cero o más veces Primero se aplica *, luego • y luego | Tecnología Medica, Universidad de Chile, Otoño 2010

14 Recuerde: a | b = a o b, a•b = ab, a* = a repetido 0 o más veces
Ejemplos Recuerde: a | b = a o b, a•b = ab, a* = a repetido 0 o más veces Lenguaje que contiene cualquier número de a’s, seguido de cualquier número de b’s Incluye a, b, aaaab, abbbbbbb, aaaabbbb, etc. No incluye ba, aba, etc. Respuesta: a*b* Lenguaje que contiene cualquier número de a’s y b’s en cualquier orden Respuesta: (a|b)* Tecnología Medica, Universidad de Chile, Otoño 2010

15 Recuerde: a | b = a o b, a•b = ab, a* = a repetido 0 o más veces
Ejemplos Recuerde: a | b = a o b, a•b = ab, a* = a repetido 0 o más veces Lenguaje que comienza y termina con a’s a(b|a)*a Lenguaje con cualquier cantidad de a’s, pero un número impar de b’s a*(ba*ba*)*ba* Tecnología Medica, Universidad de Chile, Otoño 2010

16 Autómatas finitos determinísticos (AFD)
Reconoce cadenas de lenguaje mediante estados y transiciones. Se comienza en el estado inicial. Se “leen” los caracteres de la cadena a reconocer uno a uno, pasando al estado correspondiente según el carácter leído (siempre debe haber una transición por cada caracter en Ʃ). Si al terminar de leer la cadena el autómata se encuentra en el estado final, la cadena pertenece al lenguaje. De otra manera, no. estado inicial estado estado final Tecnología Medica, Universidad de Chile, Otoño 2010

17 Autómatas finitos determinísticos Ejemplo
b b a Cadena a reconocer: Recuerde Se comienza en el estado inicial. Se “leen” los caracteres de la cadena a reconocer uno a uno, pasando al estado correspondiente según el carácter leído Si al terminar de leer la cadena el autómata se encuentra en el estado final, la cadena pertenece al lenguaje. De otra manera, no. a a a b b b Tecnología Medica, Universidad de Chile, Otoño 2010

18 Ejemplos Lenguaje que contiene cualquier número de a’s, seguido de cualquier número de b’s a b b ¡Más dificil que con expresiones regulares! a a b Tecnología Medica, Universidad de Chile, Otoño 2010

19 Ejemplos Lenguaje que contiene cualquier número de a’s y b’s en cualquier orden a ¡Más fácil que con expresiones regulares! b Tecnología Medica, Universidad de Chile, Otoño 2010

20 Ejemplos Lenguaje con cualquier cantidad de a’s, pero un número impar de b’s a a b Más o menos lo mismo que con expresiones regulares b Tecnología Medica, Universidad de Chile, Otoño 2010

21 Autómata finito no determinístico
En el caso de un AFD, dado el estado actual y el siguiente carácter, se sabe exactamente a qué estado pasará el autómata. En un AFND puede haber varias alternativas a seguir para un mismo caracter. El AFND sigue todas las alternativas al mismo tiempo. Esto implica que hay más de un estado activo a la vez. (Recordar que los AFD y los AFND son equivalentes.) Tecnología Medica, Universidad de Chile, Otoño 2010

22 (ab|aba)* - AFD Tecnología Medica, Universidad de Chile, Otoño 2010

23 (ab|aba)* - AFND Tecnología Medica, Universidad de Chile, Otoño 2010

24 ¿Qué queda fuera de los lenguajes regulares?
Lenguajes con reglas más complejas Ejemplo: Lenguajes libres de contexto Todas las cadenas con la misma cantidad de a’s y b’s ab, aabb, abab, bbaa, etc. Todas las cadenas con N a’s seguidas de N b’s ab, aabb, aaabbb, etc. Todas las cadenas con paréntesis balanceados (3+4)*((8-2)*5)  balanceado (5+3  no balanceado Intente definir estos ejemplos utilizando ER, AFD o AFND. ¿Qué problemas encuentra? Tecnología Medica, Universidad de Chile, Otoño 2010

25 Trabajo práctico Tutorial de jFlap (10min)
Cree los AFD en jFlap para los siguientes lenguajes: Lenguaje que contiene las palabras ab y ba. Ejemplo de cadena: ab Lenguaje que comienza por cualquier número de a’s, y termina con una b. Ejemplo de cadena: aaaaab Lenguaje que contiene exactamente dos caracteres que pueden ser a o b. Ejemplo de cadena: bb Lenguaje que contiene a’s y b’s alternadamente. Ejemplo de cadena: ababababa Tecnología Medica, Universidad de Chile, Otoño 2010


Descargar ppt "Computación Valeria Herskovic –"

Presentaciones similares


Anuncios Google