SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de PilaPablo Guerra
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Vikky Moscoso
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisionesemiru48
 
Automata Finito No Determinista
Automata Finito No DeterministaAutomata Finito No Determinista
Automata Finito No DeterministaJean Bernard
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasRaul
 
Definiciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesignerDefiniciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesigneraula40tics2finanzas
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Teoria de Conjuntos
Teoria de Conjuntos Teoria de Conjuntos
Teoria de Conjuntos Asu RaGu
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Python 3
Python 3Python 3
Python 3CHREAR
 
Lema de bombeo
Lema de bombeoLema de bombeo
Lema de bombeoOmega Tech
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Humano Terricola
 
Pruebas de Uniformidad
Pruebas de UniformidadPruebas de Uniformidad
Pruebas de UniformidadEwing Ma
 

Tendances (20)

Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Automata Finito No Determinista
Automata Finito No DeterministaAutomata Finito No Determinista
Automata Finito No Determinista
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
 
Investigacion errores lexicos
Investigacion errores lexicosInvestigacion errores lexicos
Investigacion errores lexicos
 
Definiciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesignerDefiniciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesigner
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Teoria de Conjuntos
Teoria de Conjuntos Teoria de Conjuntos
Teoria de Conjuntos
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Python 3
Python 3Python 3
Python 3
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Lema de bombeo
Lema de bombeoLema de bombeo
Lema de bombeo
 
Listas
ListasListas
Listas
 
Autómatas Finitos
Autómatas FinitosAutómatas Finitos
Autómatas Finitos
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1
 
Pruebas de Uniformidad
Pruebas de UniformidadPruebas de Uniformidad
Pruebas de Uniformidad
 

Similaire à Lenguajes Regulares Autómatas Finitos Expresiones Regulares

Similaire à 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
 
Teoría de autómatas
Teoría de autómatasTeoría de autómatas
Teoría de autómatas
 
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
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
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
 

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.