Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y...

21
Clase 07: Autómatas Solicitado: Ejercicios 05: Autómatas 1 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected]

Transcript of Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y...

Page 1: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Clase 07: Autómatas

Solicitado: Ejercicios 05: Autómatas

1M. en C. Edgardo Adrián Franco Martínez

http://computacion.cs.cinvestav.mx/~efranco

@efranco_escom

[email protected]

Page 2: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Contenido• Autómata

• Teoría de Autómatas

• Definición formal de autómata

• Representación de un autómata

• Mediante tablas de transiciones

• Mediante diagramas de estados

• Ejemplo

• Ejercicios 05 Autómatas

2

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 3: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Autómatas• Autómata del griego automatos (αὐτόματος) que

significa espontáneo o con movimiento propio.

• Autómata como una máquina que imita la figuray los movimientos de un ser animado.

3

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

http://youtu.be/k_g7ISS9nFA Nancy

http://youtu.be/75CXFwgslsY Joueuse de Tympanon

Androides de Jaquet Droz

http://youtu.be/naHk-rVMCVQ

http://www.youtube.com/watch?v=vr0e_WsjkvY

Page 4: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Autómata programable:• En 1938 el matemático norteamericano Claude

Elwood Shannon (1916-2001), estableció lasbases de la aplicación de la lógica matemáticapara los circuitos combinatorios ysecuenciales, construidos a bases de relés ymás adelante con otros dispositivos de vacío yestado solido.

• Logrando tener equipos electrónicosprogramables en lenguaje no informático ydiseñado para controlar, en tiempo real y enambiente industrial, procesos secuenciales.

• No tiene sus propios movimientos, sino queestos parecen ser de robot.

4

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Ejemplos de autómatas programables

http://youtu.be/q_4m16oUYZA

http://www.youtube.com/watch?v=5Ncy9JPsEFk

Page 5: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• Los autómatas son sistemas capaces detransmitir información. En amplio sentido,todo sistema que acepta señales de suentorno y, como resultado, cambia deestado y transmite otras señales al medio,puede considerarse un autómata.

5

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 6: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• La entrada es leída símbolo por símbolo, hastaque es "consumida" completamente (piense enesta como una cinta con una palabra escrita enella, que es leída por una cabeza lectora delautómata; la cabeza se mueve a lo largo de lacinta, leyendo un símbolo a la vez) una vez laentrada se ha agotado, el autómata se detiene.

6

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 7: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Teoría de Autómatas• Para la teoría de la computación existe un área de

estudio conocida como la teoría de autómatas,esta estudia las máquinas abstractas y losproblemas que éstas son capaces de resolver.

• Un autómata es un modelo matemático para unamáquina de estados, que, dada una entrada desímbolos, "salta" a través de una serie de estados deacuerdo a una función de transición produciendosalidas .

7

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 8: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• La teoría de autómatas está estrechamenterelacionada con la teoría del lenguaje formal yaque los autómatas son clasificados a menudo porla clase de lenguajes formales que son capaces dereconocer.

8

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 9: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• Si la información se codifica en cadenas desímbolos, podemos con un autómata manipularcadenas de símbolos que se le presentan a suentrada, produciendo otras tiras o cadenas desímbolos a su salida.

9

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 10: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• El autómata recibe los símbolos de entrada, unodetrás de otro, es decir secuencialmente.

• El símbolo de salida que en un instante determinadoproduce un autómata, no sólo depende del últimosímbolo recibido a la entrada, sino de toda lasecuencia o cadena, que ha recibido hasta eseinstante.

10

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 11: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• El estado de un autómata es toda la informaciónnecesaria en un momento dado, para poder deducir,dado un símbolo de entrada en ese momento, cualserá el símbolo de salida, i.e. conocer el estado de unautómata, es lo mismo que conocer toda la historiade símbolos de entrada, así como el estado inicial,estado en que se encontraba el autómata al recibir elprimero de los símbolos de entrada.

• El autómata tendrá un determinado número deestados (pudiendo ser infinitos), y se encontrará enuno u otro según sea la historia de símbolos que lehan llegado.

• Se define configuración de un autómata a su situación enun instante.

• Se define movimiento de un autómata como el transitoentre dos configuraciones. 11

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 12: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• Si un autómata se encuentra en un estado determinado,

recibe un símbolo también determinado, producirá un

símbolo de salida y efectuará un cambio o transición a otro

estado (también puede quedarse en el mismo estado).

• Su aplicación en la teoría de lenguajes se da ya que los

elementos del lenguaje son sentencias, palabras, etc... i.e.

cadenas formadas a partir de un alfabeto, que no es otra

cosa que un conjunto finito de símbolos. Una cadena de

símbolos pertenecerá al correspondiente lenguaje si tal

cadena se ha formado obedeciendo esas reglas. Entonces un

autómata reconocedor de ese lenguaje, funciona de tal

forma que cuando reciba a su entrada una determinada

cadena de símbolos indica si dicha cadena pertenece o no al

lenguaje.12

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 13: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Definición formal de autómata• Un autómata es una quíntupla A = ( E, S, Q, f, g ) donde :

• E = {conjunto de entradas o vocabulario de entrada}

• E es un conjunto finito, y sus elementos se llaman entradas o

símbolos de entrada.

• S = {conjunto de salidas o vocabulario de salida}

• S es un conjunto finito, y sus elementos se llaman salidas o símbolos

de salida.

• Q = {conjunto de estados}

• Q es el conjunto de estados posibles, puede ser finito o infinito

• f es la función de transición o función del estado siguiente, y para un

par del conjunto E × Q devuelve un estado perteneciente al conjunto Q,

y es el producto cartesiano de E por Q.

• g es la función de salida, y para un par del conjunto E × Q, devuelve un

símbolo de salida del conjunto S.

13

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 14: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Representación de un autómata• Los autómatas se pueden representar

mediante :

• Tablas de transiciones y salidas

• Diagramas de estados

14

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 15: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Representación de un autómata (Mediante tablas de transiciones y salidas)

• Las funciones f y g pueden representarse mediante una tabla,

con tantas filas como estados y tantas columnas como

entradas. Así por ejemplo se puede representar el autómata

A=( E, S, Q, f, g ) donde E={a,b}, S={0,1}, Q={q1, q2, q3} y las

funciones f y g se pueden representar por :

15

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 16: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• Ambas funciones también se pueden representar en una

misma tabla de la siguiente forma :

Representación de un autómata (Mediante tablas de transiciones)

16

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 17: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Representación de un autómata (Mediante diagramas de estado)

• Los diagramas de estado son otra forma de

representar las funciones de transición y salida de un

autómata.

• El diagrama de estados es un grafo orientado en el

que cada nodo corresponde a un estado; y si

f(ε,qi)=qj y g(ε,qi)=s existe un arco dirigido del nodo qi

al correspondiente qj, sobre el que se pone la

etiqueta ε / s.

17

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 18: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

• Para el ejemplo:

Representación de un autómata (Mediante diagramas de estado)

18

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 19: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

Ejemplo

19

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 20: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

20

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 21: Clase 07: Autómatas - Web personal de Edgardo … · programables en lenguaje no informático y ... Definición formal de autómata ... 07 Automatas Author: Edgardo Adrián

21

Teo

ría

co

mp

uta

cio

na

l

Cla

se 0

7:

Au

tóm

ata

s

Pro

f. E

dga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Construir una maquinas de estado para cada caso

1. Complementar una secuencia de bits a la entrada

2. Recibir una secuencia de bits y retardar la entrada una unidad detiempo. Es decir, si la entrada fue X1, X2, X3, …, Xk, la salida será 0,X1, X2, X3, …, Xk-1 .

3. Recibir una secuencia de bits y retardar la entrada dos unidadesde tiempo.

4. En un esquema de codificación, cuando 3 unos consecutivosaparecen en un mensaje, el receptor del mensaje conoce que hahabido un error en la transmisión. Detectar el error.

*Se entregarán antes del día Viernes 27 de Septiembre de 2013 (23:59:59

hora limite).

*Incluir la redacción de cada ejercicio

*Portada y encabezados de pagina.

Ejercicios 05 “Autómatas”