• No se han encontrado resultados

Clase06(AutómatasPila).pps

N/A
N/A
Protected

Academic year: 2020

Share "Clase06(AutómatasPila).pps"

Copied!
26
0
0

Texto completo

(1)

Autómatas de Pila y

Lenguajes Libres del Contexto

(2)

Motivación

-¿Es posible diseñar un AF que reconozca el lenguaje L1? L1 = { an bn / 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 }

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

(3)

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

(4)

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.

(5)

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 un estado finalestado final

cadena aceptadacadena aceptada

termina en un estado no finalestado no final

cadena 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

(6)

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

(7)

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*

 ei es 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

 Z0 símbolo distinguido de la Pila Z0  P

A

P =

e

j

e

i

(8)

Autómatas de Pila Reconocedores

  es la función de transición de estados

: E x ( A  {

} ) x P  E x P*

1)

(e

i

, a, X) = (e

k

,





(e

i

,

, X) = (e

k

,



donde a  A; X P;

P* ; e

i , 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

(9)

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)

(10)

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 a y reemplaza el tope X por

.

donde a  A;  A*; X P;  P*; ei ,ej  E

con (2), no lee el símbolo a y 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

,



(11)

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

,



El AP, comienza en el estado e0, con pila vacía, y luego de leer toda la cadena

, llega a un estado ef  F, y en la pila queda cualquier cadena

P*

Los lenguajes aceptados por los Autómatas de Pila se denominan Autómatas de Pila Lenguajes Libres (Independientes) del Contexto

(12)

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

APD=<{e

0

,e

1

,e

2

,e

3

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

0

},

, e

0

, Z

0

, {e

3

}>

(13)

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

(14)

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.

(15)

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*) P

f denota los subconjuntos finitos de E x P

*

1) ( ei ,a, X) = {(ej,1), (ek, 2), .... } 2) ( ei ,, X) = {(ej,1), (ek, 2), .... }

donde a  A, X  P,

1, 2  P*, e

(16)

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) = {(ej, 1), (ek, 2), .... }

2) ( ei ,, X) = {(en,1), (em, 2),… }

donde a  A, X  P, 1, 2, 1, 2  P* y e

i, ej, ek, en, em  E

ei ej

a, X / 

a, X /  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 / 

, X /  em

ei ej

a, X / 

(17)

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

}>

(18)

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

(19)

Análisis del Lenguaje

• Si el lenguaje es libre del contexto no

determinístico hacer APND

• Si el lenguaje es libre del contexto

determinístico hacer APD (fijarse si agregaron

transiciones que generan no determinismo y

(20)

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

(21)

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 = <{e0,e1,e2,e3}, {a, b}, {A, Z0}, , e0, Z0, {e0, e3} >

Ej. de cadenas

(22)

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

(23)

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} >

(24)

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, ek  E; a  A; X  P;   P*; t  S*

e

j

e

k

(25)

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:

(26)

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}

>

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,

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

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