Tema 2: Lenguajes regulares

Tema 2: Lenguajes regulares Idea de autómata Autómatas finitos y gramáticas regulares b • Autómatas finitos deterministas a p • Autómatas finit

0 downloads 152 Views 146KB Size

Recommend Stories


EJERCICIOS del TEMA 2: Lenguajes Regulares
EJERCICIOS de MAC 1 – ALF (Tema 2) Curso 2010/2011 EJERCICIOS del TEMA 2: Lenguajes Regulares Sobre AFDs (autómatas finitos deterministas): 1. Raz

TEMA 2: Lenguajes de programación
TEMA 2: Lenguajes de programación TEMA 2: Lenguajes de programación 2.1.- Introducción a los lenguajes de programación ¿Qué es un lenguaje? Conjunto

AUTÓMATAS FINITOS y LENGUAJES REGULARES
Dpto. de Informática (ATC, CCIA y LSI). Universidad de Valladolid. TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES I Ingeniería Técnica en Informática de Sis

Lenguajes Regulares. Antonio Falcó. - p. 1
Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I ■ ■ ■ ■ Una cadena o palabra es una sucesión finita de símbolos. ◆ cadena {c, a,

2. LENGUAJES NATURALES Y LENGUAJES FORMALES
Capítulo 2. Lenguajes naturales y lenguajes formales Pagina 11 2. LENGUAJES NATURALES Y LENGUAJES FORMALES 2.1 INTRODUCCIÓN Existen dos tipos básico

Tema 1: Lenguajes de programación
Tema 1: Lenguajes de programación Índice 1 Historia de los lenguajes de programación.................................................................

Story Transcript

Tema 2: Lenguajes regulares

Idea de autómata

Autómatas finitos y gramáticas regulares

b

• Autómatas finitos deterministas

a

p

• Autómatas finitos no deterministas

q

a

b

• Gramáticas regulares (y lineales) a la derecha a

Expresiones regulares • Expresiones regulares

a

b

a

b

a

a

b

p

1

a

b

a

b

p

a

b

p

3

• Autómatas finitos no deterministas con transiciones vacías

a

5

q

q

q

Propiedades de los lenguajes regulares • Minimización de autómatas

a

a

b

a

b

a

• Algunas propiedades de cierre 2

• Lenguajes no regulares

Tema 2: Lenguajes regulares

1

6 q







conjunto de estados

Fuente de entrada

Σ

alfabeto de entrada

a

b

p

q

M = (Q, Σ, δ, δ q0, F) con δ : Q × Σ  → Q

b p

a a

Ciclo-máquina: Consultas: estado actual y símbolo de entrada Acciones: avance en la entrada y cambio de estado

q

b

Este autómata es: M = ({p,q}, {a,b}, δ, p, {q}) con δ definida:

Elementos distinguidos para la inicialización y salida: q0 ∈ Q: estado inicial y F ⊆ Q: conjunto de estados finales

δ(p,a) = q δ(p,b) = p δ(q,a) = p δ(q,b) = q

Definición formal: M = (Q, Σ, δ, q0, F) con δ : Q × Σ  → Q (función parcial) Tema 2: Lenguajes regulares

b

2

Com ponentes lógicos Q

a

Tema 2: Lenguajes regulares

Formalmente: Unidad de Proceso

a

b

Ejemplo de AFD

Elementos: Com ponentes físicos

a

4

Autómata finito determinista (AFD) •

b

p

p

q

Aplicaciones

a

3

Tema 2: Lenguajes regulares

4

Lenguaje aceptado por un AFD

Ejemplo de AFD a







Configuración: (q, w) ∈ Q ×Σ* q es el estado actual y w la palabra que queda por leer Movimiento:

a

b

a

a

b

p

a

2

a

a

b

a

a

b

a

p

q

a

b

a

a

b

p

p

b

5 q

b

a

4

6 q

a

b

a

b

p

q

(p, aabab) | (q, abab) | (p, bab) | (p, ab) | (q, b) | (q,ε) δ(p,a) = q 5

Función de transición extendida

δ(q,a) = p

δ(p,b) = p

δ(p,a) = q

δ(q,b) = q

Tema 2: Lenguajes regulares

6

Ejemplo de lenguaje aceptado Dado un AFD M = (Q, Σ, δ, δ q0, F), el lenguaje que acepta es L(M) = { w∈Σ*: (q0,w) | * (p, ε) ∧ p∈F } = { w∈Σ*: δ*(q0, w)∈ F }

Función de transición extendida a palabras δ*: Q ×∑*  → Q ∀ w∈ Σ*, ∀s ∈ Σ, ∀ q ∈ Q δ*(q, w) = estado en que se encuentra M tras leer la palabra w desde q

Para el AFD M = ({p,q}, {a,b}, δ, p, {q})

b

- δ* (q, ε) = q - δ* (q, ws) = δ (δ δ* (q, w), s)

p

a a

Lenguaje aceptado por M:

q

b

L(M) = { a, bab, aaa, aaba, aabba, abbbabab,.... } = { w∈{a,b}*: el número de a’s en w es impar }

L(M) = { w∈Σ*: δ*(q0, w)∈ F }

Tema 2: Lenguajes regulares

b

p

q

( | * denota 0 ó más pasos de | )



a

3 q

Lenguaje aceptado por el autómata M: L(M) = { w∈Σ*: (q0,w) | * (p,εε) ∧ p∈F }



b

1

cambio de configuración en un paso (s∈Σ) (p, s.w) |  (q, w) si y solo si δ(p,s) = q

Tema 2: Lenguajes regulares

a

7

Tema 2: Lenguajes regulares

8

Autómata finito determinista totalmente especificado (AFDt) •

Ejemplo: AFD a AFDt

Autómata totalmente especificado AFDt

AFD M = (Q, Σ, δ, δ q0, F) con δ : Q × Σ  → Q f. parcial

Es un AFD cuya función de transición es total M = (Q, Σ, δ, δ q0, F) •

con δ : Q×Σ ×Σ

b

δ(p,c) = indefinido δ(q,b) = indefinido

Q

p

∪{s}, Σ, δ’, ∪{s} × Σ → Q∪ ∪{s} f. total AFDt N = (Q∪ δ q0, F) con δ’ : Q∪

M y N son equivalentes si L(M) = L(N)

Los AFDts y los AFDs son equivalentes: L(AFDt) = L(AFD)

[⊇ ⊇]

b

tal que

PROPOSICIÓN 1:

[⊆ ⊆]

q

a

Autómatas equivalentes

Dem:

c

a

L(M) = L(N)

a c

Todo AFDt es un AFD

s

Para cada AFD existe un AFDt (con un estado “trampa”) equivalente.

Tema 2: Lenguajes regulares

9

c

a

p

q b a,b,c

Tema 2: Lenguajes regulares

10

Autómata finito no determinista (AFND)

Ejemplo de AFND

• Definición formal: M = (Q, Σ, δ, q0, F) con δ : Q × Σ → ℘(Q ) • Función de transición extendida:

a q0

δ* : Q × Σ* → ℘(Q )

δ * ( q , ε ) = {q} y δ * ( q , ws ) =

a

U δ ( p, s ) p∈δ * ( q , w )

(q, w) ∈ Q × Σ *



Configuración:



Movimiento:



Lenguaje aceptado:

Tema 2: Lenguajes regulares

(p, s.w) |— (q, w) si y solo si q ∈δ(p, s) L(M) = { w∈Σ*: δ *(q0, w) ∩ F ≠∅ } 11

q1 q2

b c

δ(q0, a) = {q1, q2}

δ(q0, b) = ∅

δ(q0, c) = ∅

δ(q1, a) = ∅

δ(q1, b) = {q1}

δ(q1, c) = ∅

δ(q2, a) = ∅

δ(q2, b) = ∅

δ(q2, c) = {q2}

Tema 2: Lenguajes regulares

12

Gramáticas regulares a la derecha (GRD)

Relación entre AFND y AFD PROPOSICIÓN 2:

L(AFD) ⊆ L(AFND)



Elementos:

Los lenguajes reconocidos por los autómatas finitos deterministas son reconocidos por los autómatas finitos no deterministas. DEMOSTRACIÓN:  Dado un AFD M = (Q, Σ, δ, q0, F), construimos el AFND

C o m p o n en te s N

c o n ju n to d e n o te rm in a le s

F u en te d e en tra d a

Σ

a lfab e to d e te rm in ale s



Elementos distinguidos para la inicialización: S∈ ∈N símbolo inicial



Ciclo-generativo: Búsqueda de subpalabra: lado izquierdo de una regla

M’ = (Q, Σ, γ, q0, F) con γ (q,s) = { δ(q,s) } ∀q∈Q, ∀s∈Σ

Acciones: sustituir por lado derecho.

 Los autómatas M y M’ son equivalentes: L(M) = L(M’)



Pasos de la demostración:

con N∩ ∩Σ=∅ y S∈ ∈N

Definición formal: G = (N, ∑, S, P)

con P (conjunto de reglas o producciones) de la forma:

1)

γ*(q,x) = { δ*(q,x) } ∀q∈Q, ∀x∈Σ*

2)

x∈L(M) ⇔ x∈L(M’)

A → aB con A,B∈ ∈N, a∈ ∈∑

A→ε

Tema 2: Lenguajes regulares

13

Tema 2: Lenguajes regulares

14

Gramáticas regulares a la derecha (GRD) •

C o m p o n en te s fo r m a le s

C a te g o ria s

Ejemplo de GRD G = (N, ∑, S, P), con N = {S,A,B}, ∑ = {a,b,c} y siendo P el conjunto

Derivación:

de reglas:

δ 1 ⇒ δ 2 si y sólo si δ 1 = σ 1 A σ 2 , δ 2 = σ 1 βσ •

y A → β ∈P

S → aA | aB

Forma sentencial: *

α ∈ ( Σ ∪ N ) * tal que S ⇒ α G



2

B → cB | ε

Ejemplos de derivaciones:

*

(donde ⇒ denota 0 ó más pasos de ⇒ ) S ⇒ aA ⇒ abA ⇒ abbA ⇒ abb

Lenguaje generado por G:

S ⇒ aB ⇒ acB ⇒ ac

*

L (G ) = { w ∈ Σ * : S ⇒ w}

¿Lenguaje generado por G?

G

Tema 2: Lenguajes regulares

A → bA | ε

15

Tema 2: Lenguajes regulares

16

Gramáticas lineales a la derecha (GLD) 

Relación entre GRD y GLD

Definición formal: G = (N, ∑, S, P) con N∩ ∩Σ=∅ y S∈ ∈N donde el conjunto P de reglas o producciones es de la forma: A → wB con A,B∈ ∈N, w∈ ∈∑+, u∈ ∈∑* A→u

Algoritmo que transforma una GLD en una GRD equivalente: ENTRADA: GLD G = (N, Σ, A0, P) GRD G’ = (N∪N’, Σ, A0, P’)

SALIDA:

→ awB (ó equiv. A→ → aw) con w ≠ ε se crea un  Para cada A→ símbolo no terminal Z∈N’ y cambiamos la regla por 2 reglas:

PROPOSICIÓN 3:

A→ → aZ y Z→ → wB (ó equiv. Z→ → w)

Las GRDs y las GLDs son equivalentes: L(GRD) = L(GLD) Dem:

[⊆ ⊆]

Toda GRD es una GLD

[⊇]

Para cada GLD se construye una GRD equivalente,

 Para cada A→ → a con a∈Σ ∈Σ se crea un símbolo no terminal Z∈N’ y cambiamos la regla por 2 reglas: A→ → aZ y Z→ →ε

mediante el siguiente algoritmo:

 Continuar el proceso mientras haya reglas que reemplazar. Tema 2: Lenguajes regulares

17

Tema 2: Lenguajes regulares

Ejemplo: GLD a GRD

Relación entre GRD y AFD PROPOSICIÓN 4:

Ejemplo de transformación de una GLD en una GRD equivalente: ENTRADA:

SALIDA:

B→d|ε

Tema 2: Lenguajes regulares

DEMOSTRACIÓN: 1) Crear un algoritmo que produzca una GRD equivalente a un AFD M:

GRD G’ = ({A,B,C,D,E}, {a,b,c,d}, A, P’) siendo P’: A → aC

C → bcB C → bD

D → cB

B → dE | ε

E→ ε

L(AFD) ⊆ L(GRD)

Los lenguajes reconocidos por los autómatas finitos deterministas son generados por las gramáticas regulares a la derecha.

GLD G = ({A,B}, {a,b,c,d}, A, P) siendo P: A → abcB

18



ENTRADA: AFD M = (Q, Σ, δ, q0, F) con Q = {q0, q1, ..., qm}.



SALIDA:

GRD G = (N, Σ, A0, P)

2) Probar que M y G son equivalentes: L(M)=L(G). 19

Tema 2: Lenguajes regulares

20

2) Demostración formal de la equivalencia

1) Construcción del algoritmo •

Sea N = { A0, A1, ..., Am } donde Ai se corresponde con el estado qi



Sea P = { Ai → sAj : δ(qi, s) = qj } ∪ { Ai →ε : qi∈F }



La salida es G = (N, Σ, A0, P)

a) Demostramos por inducción sobre k≥0 la siguiente propiedad: (qi, x) |—k— (qj, ε) ⇔

a

Gramática obtenida:

a

b q1

b

x∈L(M) ⇔ (q0, x) |—k— (qf, ε) con qf ∈F ⇔

A0 → aA0 | bA1 | ε

A0⇒k xAf y Af ε ∈P ⇔ A0⇒k xAf ⇒x ⇔

A1 → aA1 | bA2

b q2

A0⇒k+1 x

A2 → aA2 | bA0

a Tema 2: Lenguajes regulares

21



x∈L(G)

Tema 2: Lenguajes regulares

Relación entre GRD y AFND PROPOSICIÓN 5:

( x∈∑* )

b) A partir de la propiedad anterior podemos demostrar la equivalencia:

Ejemplo: q0

Ai ⇒k xAj

22

Relaciones estudiadas

L(AFND) = L(GRD)

Los lenguajes reconocidos por los autómatas finitos no deterministas son generados por gramáticas regulares a la derecha. Y viceversa.

Repaso de las proposiciones vistas hasta ahora:

DEMOSTRACIÓN: L(AFND) ⊆ L(GRD) Similar a la demostración de la Proposición 2. L(GRD) ⊆ L(AFND) Dar la vuelta a la demostración anterior.

EJEMPLO:

a

q0 a Tema 2: Lenguajes regulares

q1 q2

b c

L(AFDt) =(1) L(AFD) ⊆ (2) L(AFND) =(5) L(GRD) =(3) L(GLD) ⊆ (4)

S → aA | aB A → bA | ε B → cB | ε 23

Tema 2: Lenguajes regulares

24

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.