• No se han encontrado resultados

Clase06QQ(AutomatasPila)

N/A
N/A
Protected

Academic year: 2020

Share "Clase06QQ(AutomatasPila)"

Copied!
15
0
0

Texto completo

(1)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila y

Lenguajes Libres del Contexto

Ciencias de la Computación I

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Motivación

-¿Es posible diseñar un AF que reconozca el lenguaje L1?

L1= { anbn/ n > 0 }

-¿Es posible diseñar un AF que reconozca el lenguaje L2?

L2= { x / x ∈{ (, )}*y x es una cadena con paréntesis balanceados }

( ( ( ( ) ) ) ) ( ) ( ( ) )

(2)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Es necesario agregar algo a los AF para incrementar su poder computacional

Memoria auxiliar que funciona como una Pila

Autómatas de Pila

tope

Símbolo de pila vacía

Z0 B A

A

Autómatas de Pila

Dado un lenguaje L, libre del contexto, definido sobre un alfabeto A y una cadena x arbitraria, determinar si x ∈L o x ∉L.

AUTOMATA DE PILA

Cadena x SI

NO

Lenguaje Libre del Contexto

• Dos puntos de vista:

Como dispositivo reconocedorreconocedor de la pertenencia de

una cadena a un lenguaje libre del contexto.

(3)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Reconocedores

Estados del AP:

Cantidad finita.

Un estado inicial.

Al menos un estado final o de aceptación.

Dada una cadena x en la cinta de entrada, si el AP:

termina en unestado finalestado finalcadena aceptadacadena aceptada

termina en unestado no finalestado no finalcadena rechazadacadena rechazada

e0

e1

e2

e3

e4

e5

mecanismo de control

cinta de entrada (contiene cadena a ser leída)

cabeza lectora (se mueve a derecha o no se mueve)

indicador de estado

a b c d …

Z0 B A

PILA: permite “recordar” lo leído en la cinta

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila

L

1

= { a

n

b

n

/ n > 0 }

a a b b …

Z0

1)

Z0 A

a a b b …

2)

Z0 A A

a a b b …

3)

Z0 A

a a b b …

4)

Z0

a a b b …

5)

Si la cantidad de a´s es igual

a la cantidad de b´s se llega al final de

la cadena con Z

0

en la pila

(4)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Reconocedores

Formalmente, un AP reconocedor determinístico (APD) se define como una 7-upla

APD = <E, A, P, δ, ei, F, Z0>

E es un conjunto finito de estados; E ≠ ∅

A es el alfabeto de entrada

δes la función de transición de estados

δ: E x ( A ∪{

ε

} ) x P →E x P*

eies el estado inicial; ei ∈E

F es el conjunto de estados finales o de aceptación; F ⊆E

P es el alfabeto de la pila

Z0símbolo distinguido de la Pila Z0 ∈P

A

P =

e

j

e

i

e

f

Autómatas de Pila Reconocedores

δes la función de transición de estados

δ: E x( A ∪{

ε

} ) xP →E xP*

1)

δ

(e

i

, a, X) = (e

k

,

α)

2) δ

(e

i

,

ε

, X) = (e

k

,

α)

donde a ∈A; X P;

α

P*; ei , ek∈E

Importante:

Si existe transición de tipo (2), sólo se garantiza que AP es determinístico si

∀s: s∈A, δ( ei, s, X) no está definida

e

j

e

k

a, X /

α

e

j

e

k

(5)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Reconocedores

Transición de Tipo 1

δ

(e

j

, a, X) = (e

k

,

α)

e

j

e

k

a, X /

α

Estado actual

Símbolo por leer en cinta de entrada Tope de la Pila

Nuevo estado Acción sobre la Pila

Si α = ZYX deja X, apila Y, apila Z (Nuevo tope Z)

Si α = XX deja X, apila X (Nuevo tope X)

Si α = X deja X (No altera la Pila)

Si α = ε elimina X (Desapila)

Z0 Y X Z Z0 X Z0 X X Z0 X Z0 X Z0 X Z0 Z0 X Ejemplo Antes Después

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Reconocedores

Descripción instantánea

Una configuración de un AP es una tripla <

e

i

,

a

ω

ω

ω

ω ,,,,

x

ββββ

> donde Luego, se define una relación de transición |

con (1)lee el símbolo ay reemplaza el tope X por

α

.

donde a∈A; ω ∈A*; X P;α, β ∈P*; ei ,ej∈E

con (2),no lee el símbolo ay reemplaza el tope X por

α

.

<

e

i

,

a

ω

,

X

β >

<

e

i

,

a

ω,

X

β >

estado actual

a símbolo a leer, w resto cadena cinta X tope, βcadena debajo tope

ei

ej

a, X /

α

(1)

ei

ej

ε

, X /

α

(2)

(1)

|

< e

j

,

ω

,

αβ >

< e

j

, a

ω

,

αβ >

(6)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Reconocedores

Cadena aceptada por AP

Una cadena ω ∈A* es aceptada por AP = <E, A , P, δ,e

0, Z0, F> sí y sólo sí

< e

0

,

ω

, Z

0

>

|

*

< e

f

,

ε, α >

Si el AP, comienza en el estado e0,

con pila vacía Z0, y luego de leer toda la cadena ω, llega a un estado

ef∈F, la cadena es aceptada. En la

pila queda cualquier cadena α∈P*

Los lenguajes aceptados por los AutAutóómatas de Pilamatas de Pilase denominan Lenguajes Libres (Independientes) del Contexto

Lenguajes Libres (Independientes) del Contexto o deTipo 2Tipo 2. Luego, el lenguaje aceptado por un AP = <E, A , P, δ,e0, Z0, F> es:

L(AP) = {

ω

/

< e

0

,

ω

, Z

0

>

|

< e

f

,

ε, α >

y

ω

∈A* y ef∈F y

α

∈P*} *

L = { a

n

b

n

/ n > 0 }

e

1

a,Z

0

/ AZ

0

e

0

a,A / AA

e

2

b,A /

ε

b,A /

ε

e

3

ε

, Z

0

/ Z

0

(7)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

L = { a

n

b

2n

/ n > 0 }

e

1

a,Z

0

/ AZ

0

e

0

a,A / AA

e

2

b,A / A

e

4

ε

, Z

0

/ Z

0

APD=<{e0,e1,e2,e3,e4}, {a,b}, {A,Z0}, δ, e0, Z0, {e4}>

e

3

b,A /

ε

b,A / A

e

1

a,Z

0

/ AAZ

0

e

0

a,A / AAA

e

2

b,A /

ε

APD=<{e

0

,e

1

,e

2

,e

3

}, {a, b}, {A, Z

0

},

δ

, e

0

, Z

0

, {e

3

}>

b,A /

ε

e

3

ε

, Z

0

/ Z

0

Otra forma

Ejemplos

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila

Teorema:

Los APND tienen mayor poder de reconocimiento que los APD.

Es decir, hay lenguajes libres del contexto que pueden ser

reconocidos por un APND pero no por un APD.

(8)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómata de Pila de No Determinístico

APND= <E, A , P, δ, e0, Z0, F>, siendo δno determinística definida como:

δ: E x (A∪{ε}) x P →Pf( E x P *) Pf denota los subconjuntos finitos de E x P*

1) δ( ei,a, X) = {(ej1), (ek, α2), .... }

2) δ( ei,ε, X) = {(en1), (em, β2),… }

donde a ∈A, X ∈P, α1, α2, β1, β2∈P* y ei, ej, ek, en, em ∈E

ei ej

a, X / α1

a, X / α2 ek

3) Combinadas (1) y (2)

Si lee a, con tope X dos caminos

Si no lee cinta con tope X dos caminos

Si lee a, y tope X un camino Si no lee a, y tope X otro camino

CASOS DE NO DETERMINISMO

ei en ε, X / β1

ε, X / β2

em

ei ej

a, X / α1

ε, X / β1

en

Ejemplo: Lenguaje libre del contexto determinístico

L = { w c w

R

/ w ∈{a,b}* }

e

0

a,A / AA

b,B/

ε

e

3

ε

, Z

0

/ Z

0

Ejemplos de

cadenas

c

abcba

abbcbba

e

1

a,Z

0

/ AZ

0

b,Z

0

/ BZ

0

b,A / BA

a,B / AB

b,B / BB

e

2

c,A / A

c,B / B

a,A /

ε

APD=<{e

0

,e

1

,e

2

,e

3

}, {a,b,c}, {A,B, Z

0

},

δ

, e

0

, Z

0

, {e

3

}>

(9)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Ejemplo: Lenguaje libre del contexto no determinístico

L = { w w

R

/ w ∈{a,b}* }

a,A / AA

b,B/

ε

e

3

ε

, Z

0

/ Z

0

Ejemplos de

cadenas

ε

abba

abbbba

e

1

a,Z

0

/ AZ

0

b,Z

0

/ BZ

0

b,A / BA

a,B / AB

b,B / BB

e

2

a,A /

ε

b,B /

ε

a,A /

ε

APND = <{e

0

,e

1

,e

2

,e

3

}, {a, b}, {A, B, Z

0

}, δ, e

0

, Z

0

, {e

0

,

,

e

3

}>

Para este lenguaje no existe una solución con AP determinístico

e

0

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Análisis del Lenguaje

• Si el lenguaje es libre del contexto no

determinístico hacer APND

• Si el lenguaje es libre del contexto

(10)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila (CASO MENOR

n < i

)

L = { a

n

b

i

/ n

0 y n < i}

Z0 A A A

n

i

i>n

e

1

a,Z

0

/ AZ

0

e

0

a,A / AA

e

2

b,A /

ε

e

3

b, Z

0

/ Z

0

b,A /

ε

b,Z

0

/ Z

0

b,Z

0

/ Z

0

APD = <{e0,e1,e2,e3}, {a, b}, {A, Z0}, δ, e0, Z0, {e3} >

Ej. de cadenas

bbb

aabbb

abb

δ:

Desapila igual cantidad

Leer de cinta hasta terminar la cadena

Uso de la pila (CASO MENOR IGUAL n

i)

L = { a

n

b

i

/ n

0 y n

i}

Z0 A A A

n

i

i

n

e

1

a,Z

0

/ AZ

0

a,A / AA

e

2

b,A /

ε

e

3

ε

, Z

0

/ Z

0

b,A /

ε

b,Z

0

/ Z

0

b,Z

0

/ Z

0

e

0

APD = <{e,e ,e,e}, {a, b}, {A, Z}, δ, e, Z, {e e} >

(11)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila (CASO MAYOR n>i)

L = { a

n

b

i

/ i

0 y n > i}

Si n>i tiene que llegar

a leer toda la cadena

y quedar A´s en la pila

Z0 A A A

n

i

e

1

a,Z

0

/ AZ

0

e

0

a,A / AA

e

2

b,A /

ε

e

3

ε

, A / A

b, A /

ε

APD = <{e0,e1,e2,e3}, {a, b}, {A, Z0}, δ, e0, Z0, {e1,e3}>

Ej. de cadenas

a

aaaa

aaabb

aaaab

δ :

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila (CASO MAYOR IGUAL

n ≥ i

)

L = { a

n

b

i

/ i

0 y n

i}

e

1

a,Z

0

/ AZ

0

e

2

b,A /

ε

e

0

a,A / AA

b,A /

ε

Ej. de cadenas

ε

aaa

aab

aabb

aaaabb

A

A

Z0 A

n

i

=

<

APD = <{e0,e1,e2}, {a, b}, {A, Z0}, δ, e0, Z0, {e0,e1,e2} >

(12)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Traductores

Formalmente, un AP traductor (APT) se define como una 9-tupla

AP

T

=

<E, A, P, δ, ei, F, Z0,

γ

, S>

S es el alfabeto de salida

γ

es la función de traducción;

γ

: E

x

( A

{

ε

})

x

P

S

*

donde E, A , P, δ, e0, Z0, F se definen como antes y se agregan dos componentes

γestá definida siempre que δestá definida.

Si existe δ(ej, a, X) =( ek,α) y además γ(ej, a, X) = t

donde ej, ekE; a A; X P; α∈P*; t S*

e

j

e

k

a, X /

α,

t

Autómatas de Pila Traductores

Función de traducción para cadenas

El autómata sólo define la traducción, si el autómata AP subyacente “acepta” la cadena.

Es decir, la traducción T(

ω

): A*

S* asociada a AP

T

está

definida como:

(13)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Ejemplo

L = { a

n

b

n

/ n > 0 }

e

1

a,Z0/ AZ0,111

e

0

a,A / AA,

111

e

2

b,A /

ε

,

ε

b,A /

ε

, ε

e

3

ε

, Z

0

/ Z

0

,

ε

AP=<{e

0

,e

1

,e

2

,e

3

}, {a,b}, {A,Z

0

},

δ

, e

0

, Z

0

, {e

3

},

γ

, {1}

>

Traducir las cadenas

a

n

b

n

como 1

3n

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila (CASO MAYOR n>i)

L = { a

n

b

i

/ i

0 y n > i}

Z0 A A A

a a a b

Z0 A A

a a a b

Si es mayor tiene que leer toda

la cadena y quedar A apiladas

Ejemplos de cadenas que debe reconocer el AP a (cadena de menor longitud)

(14)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila (CASO MAYOR IGUAL

n ≥ i

)

L = { a

n

b

i

/ i

0 y n

i}

Z0 A A A

a a a b

Z0 A A

a a a b

Si es mayor tiene que llegar a leer Toda la cadena y quedar A´s apiladas

Z0 A A

a a b b

Si es igual tiene que llegar a leer toda la cadena y quedar Z0

Z0

a a b b

Uso de la pila (CASO MENOR

n < i

)

L = { a

n

b

i

/ n

0 y n < i}

Si es menor tiene que apilar y desapilar hasta Z

0

y se

deben leer todos los símbolos que restan en la cinta.

a b b b

Z0

a b b b

Z0 Z0

A

(15)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Uso de la pila (CASO MENOR IGUAL

n ≤ i

)

L = { a

n

b

i

/ n

0 y n

i}

Si es igual tiene que llegar a leer toda la cadena y quedar Z0

a b b b

Z0

a b b b

Z0 Z0

A

a b b b

Z0 A

a a b b

A

a a b b

Z0

Apilar n Desapilar i hasta Z0 Si n < i se deben leer

todos los símbolos que quedan en la cinta

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2015

Autómatas de Pila Reconocedores

Autómata de pila no determinístico

APND= <E, A , P, δ, e0, Z0, F>, donde las componentes E, A, P, e0, Z0, F se definen como antes, y la función de transición δse define como

δ: E x (A∪{ε}) x P →Pf( E x P*) Pf denota los subconjuntos finitos de E x P*

1) δ( ei,a, X) = {(ej1), (ek, α2), .... }

2) δ( ei,ε, X) = {(ej1), (ek, α2), .... }

donde a ∈A, X ∈P,

Referencias

Documento similar

Desde $50.00 a $95.00 + ITBMS (Puede variar dependiendo del valor y tipo de producto). $100.00

Así mismo, todos tenemos interés en fortalecer el Estado Republicano, la democracia y por lo mismo acercar la política a los ciudadanos y en lo relativo a la justicia social,

Respecto a las células Mec-1 Bcl-x L , mientras que la acción de la metformina no las susceptibiliza a la citotoxicidad inducida por los eCTL y células eNK de los

On the other hand, [16, Theorem 2.12] says that if X is a reflexive space which satisfies the Kadec–Klee property, then (X, Y ) has the L o,o for compact oper- ators for every Y.. This

37 Terminan las imágenes de Blue Caravan mientras Salvia en la sede de Intramurs comienza a hablar, aparecen imágenes de gente, habla Elena, continúan con imágenes, habla

En está sección se calcula la norma esencial de un operador multiplicación definido sobre el espacio de sucesiones de Köthe donde, dado un espacio de Banach X, la norma esencial de

un culto auditorio; ó al astuto criado, siempre con las ludes sabidas de fidelidad y ciega adhesión :i sus amos, validos de la costumbre no verosímil, pero puesta

As an application of the main tool for the above result, we also prove that associativeness can be removed in (1) whenever A is either a nondegenerate non-commutative Jordan