Computación Valeria Herskovic –

Slides:



Advertisements
Presentaciones similares
Autómata finito Determinista
Advertisements

Introducción ¿Qué es un Algoritmo?
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Autómatas Finitos.
Diseño de AFN’s.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
¿Cómo hacer para que una máquina comprenda el LN?
Tema 2 Autómatas finitos 1. Autómata finito determinista
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
Lenguajes Regulares Curso de Compiladores Manuel E. Bermúdez, Ph.D.
Definición Formal de Autómatas Finitos Métodos de Diseño de AFDs
Introducción a la Teoría de Lenguajes Preparado por Manuel E. Bermúdez, Ph.D. Profesor Asociado University of Florida Curso de Compiladores.
Lenguajes Independientes del Contexto
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Teoría de lenguajes y compiladores
Tema 2 Autómatas finitos 1. Autómata finito determinista
Lenguajes regulares Teoría del Autómata.
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Tomado de Sudkamp: Languages and Machines Cap. 6.
Lenguajes Formales y Autómatas
Autómatas de Pila (Pushdown Automatón)
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Simulación de un AFD Conversión de un AFND a un AFD.
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Introducción al cálculo lambda Programación lógica funcional.
“Un docente virtual es quien enseña en un entorno virtual de aprendizaje, entendido como un lugar en el Ciberespacio con accesos restringidos, diseñado.
Papi 2010 Sobre la Construcción del Concepto de Inducción Alejandro Chmiel Educación Media Tecnológica Orientación Informática UTU Sylvia da Rosa Instituto.
Autómatas finitos (AF) Los AF constan de 5 elementos fundamentales AF=( , E, F, s,  ).  Un alfabeto (  )  Un conjunto de estados (E)  Un conjunto.
UNIDAD II TEORÍA DE CONJUNTOS Y SISTEMAS NUMÉRICOS.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
1 Autómatas de pila (Pushdown automata). 2 Autómata de conteo Autómata finito determinista con un contador de enteros o “bolsa” en la que se colocan o.
UNIVERSIDAD CATOLICA SANTA MARIA ESCUELA DE CIENCIA POLITICA
Ingreso , proceso y salida de datos
LENGUAJES FORMALES, AUTOMATAS Y MAQUINAS DE ESTADOS FINITOS
CC1000 Herramientas Computacionales para Ingeniería y Ciencias
Fundamentos de la Computación
LENGUAJES Y REPRESENTACION TECNICA
5. Fundamentos de algoritmos
Introducción a los algoritmos
Básicos de Autómatas.
Tema 2. Resolución de Problemas
AUTOMATAS Y LENGUAJES FORMALES FASE 1
MATEMÁTICA DISCRETA Y LÓGICA 1
Maquina de Turing Alejandro Ramirez Aparicio. La Máquina de Turing (MT) Introducida por Alan M. Turing en 1936, y puede considerarse como un modelo abstracto.
Fundamentos Económicos de la Empresa Modelos de Negocio aplicados
Índice temático 2.1 Análisis de problemas. 2.2 Representación de algoritmos: gráfica y pseudocódigo. 2.3 Diseño de algoritmos aplicados a problemas 2.4.
Equipo 7 -Ayala sanjuan Luis Antonio -Villa González Jonathan Aldair
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
AUTOMATAS FINITOS DETERMINISTICOS
UNIDAD 3. Autómatas Finitos 3.3 Conversión de un AFND a AFD Presentan: Anahi Avila Valdez Erika F. Palma Tzidejhe Docente: Adrián Chávez 1.
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS 1.α + (β + γ) = (α + β) + γ 2.α + β = β + α 3.α + Ø = α 4.α + α = α 5.α · λ = α 6.α · Ø = Ø 7.α · (β ·
Programación III Catedrático: Ing. Pablo Antonio de León Bautista. Código: (2014) Pre-Requisito: Post-Requisito:
TALLER DE CERTIFICACIÓN INTERNACIONAL
TEMA Nº 1 Conjuntos numéricos. Aprendizajes esperados: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión, tanto.
CC-3003 Computación II Juan Alvarez Rubio DCC, FCFM, U. de Chile
Conjuntos numéricos. objetivos: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión. recordar la operatoria básica.
COMPETENCIAS DIGITALES PARA LA INDUSTRIA SOPORTE Y MANTENIMIENTO DE EQUIPOS DE COMPUTACIÓN INSTRUCTOR: Mg. CARLOS MARTÍN CORONADO HOYOS.
Tema 2 Autómatas finitos 1. Autómata finito determinista
Escuela Nacional de Antropología e Historia (ENAH)
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS 1.α + (β + γ) = (α + β) + γ 2.α + β = β + α 3.α + Ø = α 4.α + α = α 5.α · λ = α 6.α · Ø = Ø 7.α · (β ·
ING310 - Intorduccion a la Computación
AUTÓMATAS ROHERMY OCHOA V AUTÓMATA FINITO Es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir.
AUTOMATAS GENERALIDADES AUTOR: MARIA FERNANDA DUARTE PORTUGAL C.I. : ASIGNATURA : ESTRUCTURA DISCRETA Y GRAFOS CARRERA: ING, EN SISTEMAS MAYO 2019.
TEMA Nº 1 Conjuntos numéricos. Aprendizajes esperados: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión, tanto.
INTRODUCCION A LOS AUTOMATAS Lic. Luis Enrique hernandez.
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Tecnologías de la Información y Comunicación Unidad 1. Teoría axiológica de conjuntos Contenido 1.1. Introducción 1.2. Conjuntos, elementos y subconjuntos.
Automata de Pila
Transcripción de la presentación:

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

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

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

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

Fundamentos de la Computación Valeria Herskovic Rodolfo Toledo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

¿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

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