SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Unidad II  lenguajes regulares Trabajo de investigación Carlos Rivera Trejo Teoría de la computación
LENGUAJES REGULARES Un  lenguaje regular  es un tipo de lenguaje formal que satisface las  siguientes propiedades: ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
2.1  Autómata finito Esquema lógico de un autómata finito. Un  autómata finito  o  máquina de estado finito  es un modelo matemático  de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el automata reconoce.
Formalmente, un autómata finito (AF) puede ser descrito como una  5-tupla ( S ,Σ, T , s , A ) donde: S  un conjunto de estados;  Σ es un alfabeto;  T  es la función de transición: :  es el estado inicial;  es un conjunto de estados de  aceptación o finales.
Formas de representar un autómata: Además de notar un AF a través de su definición formal es posible  representarlo a través de otras notaciones que resultan más cómodas.  Entre estas notaciones, las más usuales son: En teoría de autómatas y lógica secuencial, una  tabla de transición  de estados  es una tabla que muestra que estado (o estados en el caso  de un Autómata finito no determinista) se moverá la máquina de estados,  basándose en el estado actual y otras entradas. Una  tabla de estados  es  esencialmente una tabla de verdad en la cual algunas de las entradas son  el estado actual, y las salidas incluyen el siguiente estado, junto con otras  salidas.
[object Object],Tablas de estados de una dimensión  También llamdas  tablas características , las tablas de estados de una  dimensión son más como tablas de verdad que como las versiones  de dos dimensiones. Las entradas son normalmente colocadas a la izquierda,  y separadas de las salidas, las cuales están a la derecha.  Tablas de Estados de dos dimensiones  Las tablas de transición de estados son normalmente tablas de dos  dimensiones. Hay dos formas comunes para construirlas.
[object Object],[object Object],[object Object],[object Object],(S: estado, E: evento, A: acción, -: transición ilegal) - ... - A z /S k S m ... ... ... ... ... A x /S i ... - - S 2 - ... A y /S j - S 1 E n    ...   E 2 E 1    Events State Tabla de Transición de Estados
[object Object],[object Object],[object Object],[object Object],(S: estado, E: evento, A: acción, -: transición imposible) - ... A z /E k - S m ... ... ... ... ... A x /E i ... - - S 2 - ... - A y /E j S 1 S m    ...   S 2 S 1        next current Tabla de Transición de Estados
Para un autómata finito no determinista (AFND), una nueva  entrada puede causar que la máquina esté en más de un  estado, dado que es no determinista. Esto se denota en una  tabla de transición de estados por un par de llaves  { }  con un  conjunto de todos los estados objetivo entre ellos. Se da un  ejemplo abajo. S 1 S 1 S 2 S 3 Φ S 1 S 2 S 2 Φ { S 2 , S 3  } S 1 S 1 ε 0 1    Entrada Estado Tabla de Transición de Estados para un AFND
Aquí, una máquina no determinista en el estado  S1  leyendo  una entrada de  0  causará que esté en dos estados al mismo  tiempo, los estados  S2  y  S3 . La última columna define la  transición legal de estados del carácter especial, ε. Este  carácter especial permite a los AFND moverse a un estado  diferente cuando no hay ninguna entrada. En el estado  S3 ,  el AFND puede moverse a  S1  sin consumir ningún carácter  de entrada. Los dos casos anteriores configuran al autómata  finito no determinista.
Es posible dibujar un diagrama de estados partiendo de  la tabla. Una secuencia posible de pasos a seguir es la siguiente: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo: Las  tablas de transiciones: S 1 S 2 S 2 S 2 S 1 S 1 0 1    Entrada Estado Tabla de Transición de Estados
Un  AFD  o  autómata finito determinista  es aquel autómata finito  cuyo estado de llegada está unívocamente determinado por el  estado inicial y el carácter leído por el autómata. Formalmente, un autómata finito determinista (AFD) es similar a un Autómata  de estados finitos, representado con una 5-tupla ( S ,Σ, T , s , A ) donde: Σ es un alfabeto;  S  un conjunto de estados;  T  es la función de transición:   es el estado inicial;   ,[object Object],Al contrario de la definición de  autómata finito , este es un caso  particular donde  no  se permiten transiciones lambda (vacías),  el dominio de la función T es S (con lo cual  no  se permiten  transiciones desde un estado de un mismo símbolo a varios estados).
Expresión regular Una expresión regular, a menudo llamada también  patrón ,  es una expresión que describe un conjunto de cadenas sin  enumerar sus elementos. Por ejemplo, el grupo formado por  las cadenas  Handel ,  Händel  y  Haendel  se describe mediante  el patrón "H(a|ä|ae)ndel". La mayoría de las formalizaciones  proporcionan los siguientes constructores: una  expresión  regular  es una forma de representar a los lenguajes regulares  (finitos o infinitos) y se construye utilizando caracteres del  alfabeto sobre el cual se define el lenguaje.  Específicamente, las expresiones regulares se construyen  utilizando los operadores unión concatenacion y clausura de Kleene.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Los lenguajes regulares infinitos (y también algunos lenguajes que  no son regulares). Gracias a este lema podremos demostrar que  ciertos lenguaje infinitos no son regulares. Es importante hacer  notar que el lema de bombeo es una herramienta adecuada para  demostrar que un lenguaje  no  es regular, pero no lo será para  demostrar que un lenguaje  si  es regular (por el hecho de que  existen algunos lenguajes no regulares que la cumplen).  Por tanto, si un lenguaje no cumple el lema de bombeo no  es regular, pero si lo cumple no podremos decir si es o no regular.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],O sea que para cualquier cadena de L lo bastante larga, siempre  podremos encontrar una partición en tres subcadenas, con una no  vacía en el medio (la y) que no está demasiado lejos del comienzo  de la palabra, que podremos “bombear”; es decir, que si se repite la  subcadena y cualquier número de veces, la cadena resultante  también pertenecerá a L.

Weitere ähnliche Inhalte

Was ist angesagt?

Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De TuringRicardo Quintero
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfRamosDiez
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilabGabriel Romero
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
PostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasPostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasNicola Strappazzon C.
 
CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....
CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....
CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....AnaBarbaraAlaveFlore
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Fernando Solis
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionjorge severino
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministamvagila
 

Was ist angesagt? (20)

Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Operadores de c++
Operadores de c++Operadores de c++
Operadores de c++
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Teoría de Autómata
Teoría de AutómataTeoría de Autómata
Teoría de Autómata
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
PostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasPostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - Subconsultas
 
Mapas k de 2 3 4 variables
Mapas k de 2 3 4 variablesMapas k de 2 3 4 variables
Mapas k de 2 3 4 variables
 
CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....
CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....
CID400 - Algebra de Boole y Simplificacion de Funciones (Introduccion) - Rev....
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)
 
4.3
4.34.3
4.3
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Autómatas de pila
Autómatas de pila Autómatas de pila
Autómatas de pila
 
Clase2
Clase2Clase2
Clase2
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Algebra lineal
Algebra linealAlgebra lineal
Algebra lineal
 
Teoría de autómatas
Teoría de autómatasTeoría de autómatas
Teoría de autómatas
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito determinista
 
Diseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flopDiseño de controladores con aplicación flip flop
Diseño de controladores con aplicación flip flop
 

Ähnlich wie Lenguajes Regulares Autómatas Finitos Expresiones Regulares

Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado_05mauricio
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxRepresentecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxSANTOS400018
 
Presentacion Enguelbert Garcia
Presentacion Enguelbert GarciaPresentacion Enguelbert Garcia
Presentacion Enguelbert GarciaEnguelbert Garcia
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3Germania Rodriguez
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxicoFARIDROJAS
 
Sistemas AutÓmatas.
Sistemas AutÓmatas.Sistemas AutÓmatas.
Sistemas AutÓmatas.jengibre
 
Automatas
AutomatasAutomatas
Automatasveriyo
 
Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredithyeredith1
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis LexicoFARIDROJAS
 
Automatas 2014 s1 guía
Automatas 2014 s1 guíaAutomatas 2014 s1 guía
Automatas 2014 s1 guíaraflhax
 
Unidad temática iv
Unidad temática ivUnidad temática iv
Unidad temática ivJackieHee27
 
Automatas Infinitos
Automatas Infinitos Automatas Infinitos
Automatas Infinitos Orlando
 

Ähnlich wie Lenguajes Regulares Autómatas Finitos Expresiones Regulares (20)

Af del mit
Af del mitAf del mit
Af del mit
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxRepresentecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
 
Autómata finito
Autómata finitoAutómata finito
Autómata finito
 
Presentacion Enguelbert Garcia
Presentacion Enguelbert GarciaPresentacion Enguelbert Garcia
Presentacion Enguelbert Garcia
 
Automatas[1]
Automatas[1]Automatas[1]
Automatas[1]
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
 
Conversion
ConversionConversion
Conversion
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 
Sistemas AutÓmatas.
Sistemas AutÓmatas.Sistemas AutÓmatas.
Sistemas AutÓmatas.
 
Automatas
AutomatasAutomatas
Automatas
 
Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredith
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Automatas 2014 s1 guía
Automatas 2014 s1 guíaAutomatas 2014 s1 guía
Automatas 2014 s1 guía
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
Tema2
Tema2Tema2
Tema2
 
Unidad temática iv
Unidad temática ivUnidad temática iv
Unidad temática iv
 
Matematica discreta
Matematica discreta Matematica discreta
Matematica discreta
 
Automatas Infinitos
Automatas Infinitos Automatas Infinitos
Automatas Infinitos
 

Lenguajes Regulares Autómatas Finitos Expresiones Regulares

  • 1. Unidad II lenguajes regulares Trabajo de investigación Carlos Rivera Trejo Teoría de la computación
  • 2.
  • 3.
  • 4. 2.1 Autómata finito Esquema lógico de un autómata finito. Un autómata finito o máquina de estado finito es un modelo matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el automata reconoce.
  • 5. Formalmente, un autómata finito (AF) puede ser descrito como una 5-tupla ( S ,Σ, T , s , A ) donde: S un conjunto de estados; Σ es un alfabeto; T es la función de transición: : es el estado inicial; es un conjunto de estados de aceptación o finales.
  • 6. Formas de representar un autómata: Además de notar un AF a través de su definición formal es posible representarlo a través de otras notaciones que resultan más cómodas. Entre estas notaciones, las más usuales son: En teoría de autómatas y lógica secuencial, una tabla de transición de estados es una tabla que muestra que estado (o estados en el caso de un Autómata finito no determinista) se moverá la máquina de estados, basándose en el estado actual y otras entradas. Una tabla de estados es esencialmente una tabla de verdad en la cual algunas de las entradas son el estado actual, y las salidas incluyen el siguiente estado, junto con otras salidas.
  • 7.
  • 8.
  • 9.
  • 10. Para un autómata finito no determinista (AFND), una nueva entrada puede causar que la máquina esté en más de un estado, dado que es no determinista. Esto se denota en una tabla de transición de estados por un par de llaves { } con un conjunto de todos los estados objetivo entre ellos. Se da un ejemplo abajo. S 1 S 1 S 2 S 3 Φ S 1 S 2 S 2 Φ { S 2 , S 3 } S 1 S 1 ε 0 1    Entrada Estado Tabla de Transición de Estados para un AFND
  • 11. Aquí, una máquina no determinista en el estado S1 leyendo una entrada de 0 causará que esté en dos estados al mismo tiempo, los estados S2 y S3 . La última columna define la transición legal de estados del carácter especial, ε. Este carácter especial permite a los AFND moverse a un estado diferente cuando no hay ninguna entrada. En el estado S3 , el AFND puede moverse a S1 sin consumir ningún carácter de entrada. Los dos casos anteriores configuran al autómata finito no determinista.
  • 12.
  • 13. Ejemplo: Las tablas de transiciones: S 1 S 2 S 2 S 2 S 1 S 1 0 1    Entrada Estado Tabla de Transición de Estados
  • 14.
  • 15. Expresión regular Una expresión regular, a menudo llamada también patrón , es una expresión que describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel , Händel y Haendel se describe mediante el patrón &quot;H(a|ä|ae)ndel&quot;. La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje. Específicamente, las expresiones regulares se construyen utilizando los operadores unión concatenacion y clausura de Kleene.
  • 16.
  • 17.
  • 18.
  • 19.