Este documento describe los lenguajes regulares, incluyendo que pueden ser reconocidos por autómatas finitos o expresiones regulares. Explica los autómatas finitos deterministas y no deterministas, y cómo se pueden representar mediante tablas de transición de estados o diagramas de estados. También cubre expresiones regulares y la operación de clausura de Kleene. Por último, introduce el lema de bombeo para demostrar que ciertos lenguajes infinitos no son 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 "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.