La máquina sin memoria

Post on 14-Apr-2017

45 views 0 download

Transcript of La máquina sin memoria

La máquina sin memoria

Memory can change the shape of a room; it can change the color of a car. And memories can bedistorted. They're just an interpretation, they're not a record, and they're irrelevant if you have thefacts. —Leonard Shelby, Memento

Ivan Meza

Hasta ahoraAlfabetos, Palabras, Lenguajes,

Σw

L

Para lenguajes

ConcatenaciónUniónCerradura

esto es equivalente

({b {a}{b {a}{b}∗ }∗ }∗)∗

Regresando al objetivo

Todas lás máquinas

Caja negra

Ya podemos hablar de todas las entradas: de�nimos unalfabeto, creamos cadenas, vemos las salidas...

El verdadero objetivo

Caja negraL Verdadero

Falso

Asociar lenguajes a un comportamiento de la máquina

Opciones

Algunas cadenas de resultan en verdadero y otras falsosTodas las cadenas de resultan en verdaderoTodas las cadenas de resultan en falso

LLL

Caso interesante

Todas las cadenas resultan en verdadero

Si se dá, tendríamos una correspondencia entre máquina ylenguaje

Los circulos de Dante

Jerarquía de Chomsky

regular

independiente del contexto

dependiente del contexto

recursivamente enumerable

Jerarquía de Chomsky

independiente del contexto

dependiente del contexto

recursivamente enumerable

regular

Lenguajes regularesLenguages básicosComposición de lenguajes regulares

Lenguajes básicos regulares, el lenguaje vacío, es regular

, el lenguaje de la cadéna vacía, es regularSi entonces , el lenguaje un símbolo del alfabeto, esregular

∅{ϵ}

a ∈ Σ {a}

Composición de lenguajesregulares

Si y son regulares, entonces es regularSi y son regulares, entonces es regularSi es regular, entonces es regularSi es regular, entonces es regular

L1 L2 ∪L1 L2L1 L2 L1L2L L∗

L (L)

Un lenguaje es regular si es un lenguaje básico regular o si se puedegenerar a través de una secuencia �nita de operaciones de lenguajesregulares de lenguajess

El lenguaje regular de número debes paresCon Σ = {a, b}

Ejemplos:

bbbbabbaabbabbaabbabbaaaaaaaabaaababaabaaaaaa

y {a} {b}{b}{a}{b}{b}{a {b}}∗

{a}{b}{a {b}{a}}∗

{a {b}{a {b}{a}∗ }∗ }∗

({a {b}{a {b}{a}∗ }∗ }∗)∗

Expresiones regularesExpresiones básicasComposición de expresiones regulares

Expresiones básicas regulares representa al lenguaje vacío representa al lenguaje de la cadéna vacía representa al lenguaje de un símbolo del alfabeto

∅ϵa

Ésta es notación para representar lenguajes regulares básicos

Composición de lenguajesregulares

representa a la unión de dos lenguajes representa la concatenación

representa a la cerradura sobre un lenguaje representa al lenguaje con prioridad

+L1 L2L1L2L∗

(L)

El lenguaje regular de número debes pares

({a {b}{a {b}{a}∗ }∗ }∗)∗

Su expresión regular es:

( b ba∗ a∗ a∗)∗

(b ba∗ a∗ a∗)∗

El lenguaje regular cuyopenúltimo símbolo a

Un cambio de canal: ¡máquinas!

Autómata finitoEs una tupla (Q, Σ, , A, δ)q0

conjunto finito de estados un alfabeto estado inicial, conjunto de estados finales,

función de transición

QΣq0 ∈ Qq0A A ⊆ Qδ δ : Q × Σ → Q

Tambien conocida: Máquina de estados �nitos

q₀ q₁b

a a

b

Estados, Q = { , }q0 q1

q₀ q₁

Alfabeto, Σ = {a, b}

b

a a

b

Estado inicial, q0

q₀

Estados finales, { }q0

q₀

Función de transición, δ

q₀ q₁b

a a

b

En otras palabras

({ , }, {a, b}, , { }, δ)q0 q1 q0 q0

donde δ =

⎧⎩⎨⎪⎪⎪⎪⎪⎪

( , a) →q0 q0

( , b) →q0 q1

( , a) →q1 q1

( , b) →q1 q0

Variaciones

q₀ q₁b

a a

b

En otras palabras

({ , }, {a, b}, , { }, δ)q0 q1 q0 q1

donde δ =

⎧⎩⎨⎪⎪⎪⎪⎪⎪

( , a) →q0 q0

( , b) →q0 q1

( , a) →q1 q1

( , b) →q1 q0

q₀ q₁b

a a

b

En otras palabras

({ , }, {a, b}, , { , }, δ)q0 q1 q0 q0 q1

donde δ =

⎧⎩⎨⎪⎪⎪⎪⎪⎪

( , a) →q0 q0

( , b) →q0 q1

( , a) →q1 q1

( , b) →q1 q0

Cadenas aceptadas por un AF

De�niendo función de transición extendida

= {δ∗ (q, ϵ) = qδ∗

(q, wa) = δ( (q, w), a)δ∗ δ∗q ⊆ Q

q ⊆ Q, w ⊆ , a ⊆ ΣΣ∗

Con la cadena: abbaa

q₀ q₁b

a a

b

( , abbaa) = δ( ( , abba), a)δ∗ q0 δ∗ q0= δ(δ( ( , abb), a), a)δ∗ q0= δ(δ(δ( ( , ab)b), a), a)δ∗ q0= δ(δ(δ(δ( ( , a), b), b), a), a)δ∗ q0= δ(δ(δ(δ(δ( ( , ϵ), a), b), b), a), a)δ∗ q0= δ(δ(δ(δ(δ( , a), b), b), a), a)q0= δ(δ(δ(δ( , b), b), a), a)q0= δ(δ(δ( , b), a), a)q1= δ(δ( , a), a)q0= δ( , a)q0= q0

Ya que pertence a , la cadena es aceptadaq0 A

Un automata acepta un lenguaje A L

Si es aceptada por Si no es aceptada por

w ∈ L Aw ∉ L A

Ejemplos

q₀ q₁ q2 q₃a a a

Concatenación

q₀ q₁ q2 q₃a a a

b

Cerradura

q₀ q₁ q2 q₃

q₄ q₅ q₆

a a a

bb b

b

a

Unión

Teorema de KleenUn lenguaje sobre el alfabeto es regular si y sólo si existeun AF con un alfabeto que acepta

L ΣΣ L

Una pausa

Vamos a repetirlo

Teorema de Kleen

Un lenguaje sobre el alfabeto esregular si y sólo si existe un AF con unalfabeto que acepta

L Σ

Σ L

Otra pausa

Un lenguaje sobre elalfabeto es regular si ysólo si existe un AF conun alfabeto queacepta

ΣL

¿Qué información recuerda lamáquina?

El estado

Dado un lenguaje y L w ∈ Σ∗

Vamos a de�nir al lenguaje como:L/w

L/w = {z ∈ |wz ∈ L}Σ∗

q₀ q₁b

a a

b

Ejemplo: si le concatenamos L/a z = (b ba∗ a∗)∗

son todas las cadenas que concatenadas a diferentes llegan a un estado �nalL/w z

Para que ambos sean iguales,

( , z)δ∗ q0 w1( , z)δ∗ q0 w2

( ( , ), z)δ∗ δ∗ q0 w1( ( , ), z)δ∗ δ∗ q0 w2

( , ) = ( , )δ∗ q0 w1 δ∗ q0 w2

q₀ q₁b

a a

b

Comparar con , son la mismaL/a L/a∗

q₀ q₁b

a a

b

Comparar , , ,son la mismaL/a L/a∗ L/ b ba∗ a∗

L/a∗

L/ b ba∗ a∗

L/( b ba∗ a∗ )∗

Concatenadas con siempre llegan a , no sondiferenciables

(b ba∗ a∗)∗ q0

q₀ q₁b

a a

b

¿Qué hay de ?, concatenada con L/a ∗ b ( b (b ba∗ a∗)∗ a∗ a∗)∗

L/ ba∗

L/ b( b ba∗ a∗ a∗ )∗

Concatenadas con siempre llegan a , no son diferenciables

(a^*ba^*)^*(ba^*ba^a^*)^*

q0

Sin embargo,

, con , con

L/( b ba∗ a∗ )∗ z = (b ba∗ a∗)∗

L/ b( b ba∗ a∗ a∗ )∗ z = ( ba∗ a∗)∗

Si son diferenciables porque son dos diferentesz

¿Cuantos estados hay para un lenguaje ?L

¿Cuantos conjuntos diferenciables hay?

Los estados dividen en conjutos las cadenas

Lenguajes regularesExpresiones regulares

BásicasComposición

Autómatas finitosEstadosEstado finalEstados aceptoresFunción de transición

Función de transición extendidaCadenas diferenciables

ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir

La máquina sin memoria by is licensed under a.

Creado a partir de la obra en.

Ivan V. Meza RuizCreative Commons Reconocimiento 4.0 Internacional License

http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/fsm.html