Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.