18
ESCUELA POLITÉCNICA NACIONAL FUNDAMENTOS DE CIENCIAS DE LA COMPUTACIÓN

Automata Push Down - Lenguajes Regulares

Embed Size (px)

Citation preview

Page 1: Automata Push Down - Lenguajes Regulares

ESCUELA POLITÉCNICA NACIONALFUNDAMENTOS DE CIENCIAS DE LA

COMPUTACIÓN

Page 2: Automata Push Down - Lenguajes Regulares

INTEGRANTES

CISNEROS EVELYN LÓPEZ BYRON MOREANO ANITA

LENGUAJES REGULARES

Page 3: Automata Push Down - Lenguajes Regulares

LENGUAJE REGULAR

Es un tipo de lenguaje formal( lenguaje cuyos símbolos primitivos y sus reglas están formalmente especificados)

que satisface las siguientes PROPIEDADES:

Page 4: Automata Push Down - Lenguajes Regulares

Los LENGUAJES RGULARES son lenguajes mas sencillos porque se generan a partir de lenguajes básicos con la aplicación de:

Unión (A U B)Concatenación(A . B)estrella de Kleene ( A*)

Page 5: Automata Push Down - Lenguajes Regulares

Puede ser reconocido por:un autómata finito deterministaun autómata finito no deterministaUn autómata de pila un autómata finito alternoUna máquina de Turing de solo lectura

Es generado por:Una gramática regular una gramática de prefijos

Es descrito por:Una expresión regular

Page 6: Automata Push Down - Lenguajes Regulares

Lenguajes regulares sobre un alfabeto

Page 7: Automata Push Down - Lenguajes Regulares

Expresiones Regulares (ER)

Autómatas Finitos (AF)

Page 8: Automata Push Down - Lenguajes Regulares

Expresiones Regulares

REPRESENTAN lenguajes regulares y su propósito es simplificar la escritura de los mismos.

Definición recursiva sobre un alfabeto ∑ dado.

Page 9: Automata Push Down - Lenguajes Regulares

Expresiones regulares básicas:

Si R y S son expresiones regulares sobre alfabeto ∑, también lo son:

Page 10: Automata Push Down - Lenguajes Regulares

Concatenar (RS).- unir dos o más cadenas, es decir unir dos o más palabras(cadenas de letras). Generalmente se unen con un símbolo "+".

Ejemplo: nombre + apellido:Dónde el valor del nombre = María yel valor de apellido = PérezConcatena el valor del nombre con el apellido.

Page 11: Automata Push Down - Lenguajes Regulares

Estrella de Kleene

Ejemplo aplicada a un carácter:

{"a"}* = {ε, "a", "aa", "aaa", "aaaa", "aaaaa", "aaaaaa",...}

Ejemplo aplicada a un conjunto de cadenas:

{"ab", "c"}* = {ε, "ab", "c", "abab", "abc", "cab", "cc", "ababab", "ababc", "abcab", "abcc", "cabab", "cabc", "ccab", "ccc",...}

Ejemplo aplicada a un conjunto de caracteres: {'a', 'b', 'c'}* = {ε, "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc",...}

Page 12: Automata Push Down - Lenguajes Regulares

Autómatas finitos

Un autómata finito (AF) o máquina de estado finito es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir una salida.

La finalidad de los autómatas finitos es la de reconocer lenguajes regulares.

Page 13: Automata Push Down - Lenguajes Regulares

Definición formal

Page 14: Automata Push Down - Lenguajes Regulares

Los Autómatas Finitos (AF) son de dos tipos:

Deterministas (AFD):

No Deterministas (AFND):

Page 15: Automata Push Down - Lenguajes Regulares

Deterministas (AFD)Para cada estado en que se encuentre el autómata, y con cualquier símbolo del alfabeto leído, existe siempre a lo más una transición posible desde ese estado y con ese símbolo.

Se representa mediante:Diagramas de transición Tablas de transición

Page 16: Automata Push Down - Lenguajes Regulares

No Deterministas (AFND):A diferencia de los autómatas finitos deterministas (AFD), posee al menos un estado q ∈Q, tal que para un símbolo a  Σ del alfabeto, existe más de una ∈transición δ(q,a) posible.

Page 17: Automata Push Down - Lenguajes Regulares