Sei sulla pagina 1di 25

Autómatas Finitos y

Expresiones Regulares
Integrantes:
Profesora: Ayde Palomino Delgado
Blancas Flores Mauricio
Feliciano Cruz Jesús Carrera: Ingeniería en Sistemas
Flores Robledo Jose Armado Computacionales
Garcia Carlos Ana Gabriela Asignatura: Lenguajes y Autómatas 1
Reyes Miranda Rebeca
Ramirez Jimenez Marcos Andres Grupo:S61
Silva Rojas Leonardo
Los LR en la jerarquía de Chomsky

La clasificación de lenguajes en clases de lenguajes se debe a N.


Chomsky, quien propuso una jerarquía de lenguajes, donde las
clases más complejas incluyen a las más simples.
Lenguajes regulares

Los LR se llaman así porque sus palabras contienen “regularidades”


o repeticiones de los mismos componentes, por ejemplo:
• L1={ab, abab, ababab, abababab,…}

La representación de los lenguajes regulares se fundamenta en la


noción de gramática formal.
Una gramática es un conjunto de reglas para formar correctamente
las frases de un lenguaje; así tenemos la gramática del español, del
francés, etc.
Gramática regular

Una gramática regular es un cuádruplo (V, Σ, R, S) en donde:


• V es un alfabeto de variables,
• Σ es un alfabeto de constantes,
• R, el conjunto de reglas, es un subconjunto finito de V × (ΣV ∪
Σ).
• S, el símbolo inicial, es un elemento de V .
Autómata finito no determinista con
transiciones -Ԑ (AFND- Ԑ )

Un AFND- Ԑ además de ser capaz de alcanzar más estados leyendo un


símbolo, permite alcanzarlos sin leer ningún símbolo. Si tiene transiciones
etiquetadas con Ԑ, entonces el AFND puede encontrare en cualquiera de
los estados alcanzables por las transiciones Ԑ , directamente o a través de
otros estados con transiciones. El conjunto de estados que pueden ser
alcanzados mediante este método desde un estado q, se denomina la
clausura Ԑ de q.
Autómatas Finitos y Expresiones Regulares

• Para un alfabeto § se pueden construir los AFN (y los AFD) que


acepten palabras unitarias. Si M1 y M2 son AFN podemos unir M1 y
M2 en un nuevo AFN que acepte L(M1) ∪ L(M2), añadiendo un
nuevo estado inicial y dos Ꜫ-transiciones, una a cada uno de los
estados iniciales anteriores de M1 y M2 respectivamente. Se deja
al lector formalizar esta idea.
Expresión Regular

• Podemos simplificar la representación de un lenguaje regular por


medio de una abreviatura llamada expresión regular. Convenimos
en escribir a en lugar del lenguaje unitario {a}. Por tanto:
• a ∪ b denota {a, b} = {a} ∪ {b}
• ab denota {ab}
• a∗ denota {a}∗
• a+ denota {a}+
Autómata Finito
Autómata
Proceso

• Como ejemplo, los AFN de la Figura 6 aceptan ab∗


y (ab)∗ respectivamente y el AFN de la Figura 7
acepta ab∗ ∪ (ab)∗
L(M1) L(M2)
Q= {q0,q1,q2,q3} Q= {q0,q4,q5}
Ʃ={a,b} Ʃ={a,b}
S={q0} S={q0}
F={q2,q3} F={q4}
∆: 𝑄𝑥Σ − 𝑃 𝑄 = {q2,b}{q3b} ∆: 𝑄𝑥Σ − 𝑃 𝑄 = {q4,b}
Tablas de transición de estados

M1 M2

E/S ‫ג‬ a b E/S ‫ג‬ a b


q0 {q1} - - q0 {q4} - -
q1 - {q2} - q4 - {q5} -
q2 - - {q3} q5 - - {q4}
q3 - - {q3}
Tablas de transición de estados eliminando ‫ ג‬Ꜫ
M1 M2
E/S a b E/S a b
q1 {q2} - q4 {q5} -
q2 - {q3} q5 - {q5}
q3 - {q3}

𝐿𝑓 = 𝐿 𝑀1 ∪ 𝐿(𝑀2) O ERf =𝐿 𝑀1 ∪ 𝐿(𝑀2)


Uso de clausula de Kleene (x=rx+s x=r*s)
M1
M2 q5 = (b)q5
q1 = aq2 q3 = (bq3)
q2 = bq3 + ‫ג‬ q3 = b* q4 = aq5 + ‫ג‬ q5 = b*
q3 = bq3 + ‫ג‬ q2 = bq3 +‫ג‬ q35 = bq5 q4 = aq5 + ‫ג‬
q2 =(b)q3 +‫ג‬ q4 =(a)q5 + ‫ג‬
q2 =b(b*) q4 = a(b*)
q3 = (b)q3 + ‫ג‬ q5 = bq5
𝑥 = 𝑟𝑥 ∗ + 𝑠 q1 =(a)q2 𝑥 = 𝑟𝑥 + 𝑠 ERtoM2 =a(b*)
𝑥 =𝑟 ∗𝑠 q1 = a(b(b*)) 𝑥 =𝑟 ∗𝑠
ER to M1 = a(b(b*))
𝑎 𝑏 ∪ 𝑏 ∗ = 𝑎𝑏 ∪ 𝑎𝑏 ∗ = 𝑎𝑏 ∪ 𝑎𝑏 ∗ = 𝑎𝑏 ∪ 𝑎𝑏 ∗ = 𝑎𝑏 ∗
→ 𝑎𝑏 ∗
ER to M2 =a (b*)
a(b*)
(ab*)
(ab)*
𝐸𝑅𝑓 = 𝑎𝑏 ∗∪ 𝑎𝑏 ∗
Diagrama Final
Equivalencia AFND a AFD
Solución

Paso 1 Paso 2
𝒄 − 𝜺 𝒒𝒐 = 𝒒𝟎 ∪ {𝟏, 𝟒}
Q Ԑóλ a b
𝒄 − 𝜺 𝒒𝟏 = 𝒒𝟏 ∪ ∅
q∅ {q1,q4} - -
𝒄 − 𝜺 𝒒𝟐 = 𝒒𝟐 ∪ ∅ q1 - {q2} -
𝒄 − 𝜺 𝒒𝟑 = 𝒒𝟑 ∪ ∅ q2 - - {q3}
q3 - - {q2}
𝒄 − 𝜺 𝒒𝟒 = 𝒒𝟒 ∪ ∅
q4 - q5 -
𝒄 − 𝜺 𝒒𝟓 = 𝒒𝟓 ∪ ∅
q5 - - q4
Paso 3 Transformación de Estados

Q a b
{𝑞0} ∪ {1,4} {q2,q5} -
{q2,q5} - {q3,q4}
{q3,q4} {q5} {q2}
{q5} - {q4}
{q2} - {q3}
{q4} {q5} -
{q3} - {q2}
Paso 4 Retiquetar

A 𝒒𝟎 ∪ {𝟏, 𝟒}
B q1={q2,q5}
C q2={q3,q4}
D q3={q5}
E q4={q2}
F q5={q4}
G q6={q3}
Paso 4

Q a b
q0 A B -
q1 B - C
q2 C D E
q3 D - F
q4 E - *G
q5 F D -
q6 *G - E
Análisis de hilos

abab
x
q0 q1 q2 q3 ‫ג‬

q4

q5

q4

q5
x
q4
Ꜫ a b a b
Transición extendida para abba
abab
S=(q0,Ꜫ) = {q1,q4}
S=(q1,a) = {q2}
S=(q4,a) = {q5}
S=(q2,b) = {q3}
S=(q5,b) = {q4}
S={q3,a} ={0}
S={q4,a}={q5}
S={q5,b} ={q4}
S=(q0,abab)={q1,q4,q2,q5,q3,q4} ∩𝑭≠∅
Lemas

Arden y Bombeo:
• Una ecuación de la forma X=AX+B donde ε∉A, tiene como solución
única X=A*B.

X=AX +B = X=A * B
Bombeo

Sea L un lenguaje regular infinito. Entonces, hay una constante n de


forma que, si w es una cadena de L cuya longitud es mayor o igual
que n, se tiene que w=uvx, siendo, uv^ix ∈L para todo i ≥0, con |v|
≥1 y |uv|≤n.

Potrebbero piacerti anche