• No se han encontrado resultados

Introducción a la Teoría de Autómatas, Lenguajes y Computación

N/A
N/A
Protected

Academic year: 2021

Share "Introducción a la Teoría de Autómatas, Lenguajes y Computación"

Copied!
53
0
0

Texto completo

(1)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a la Teoría de Autómatas, Lenguajes

y Computación

Gustavo Rodríguez Gómez y Aurelio López López

INAOE

Propedéutico 2020

(2)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Capítulo 1

Introducción

(3)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Libro de texto

John E. Hopcroft et al., “Introduction to Automata Theory, Languajes, and Computation”, segunda edición, Addison Wesley

(4)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas 1 Introducción

Motivación

2 ¿Por qué estudiar Autómatas?

Introducción a los Autómatas Finitos Representaciones Estructurales

3 Introducción a las Demostraciones Formales

Condiciones Necesarias y Su…cientes Tipos de Demostraciones

4 Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas

(5)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

La teoría de autómatas es el estudio de dispositivos (máquinas) de computación abstractas.

Alan Turing estudio máquinas abstractas, las máquinas de Turing, antes que existieran las computadoras reales. Objetivo de Turing en 1930:

Describir en forma precisa la frontera entre lo que una computadora puede hacer y lo que no puede hacer.

Entre 1940 y 1950 surgen las máquinas hoy llamadas “autómatas …nitos”.

A …nales de 1950 el lingüista Chomsky inicia el estudio de las “gramáticas” formales.

(6)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

La teoría de autómatas es el estudio de dispositivos (máquinas) de computación abstractas.

Alan Turing estudio máquinas abstractas, las máquinas de Turing, antes que existieran las computadoras reales.

Objetivo de Turing en 1930:

Describir en forma precisa la frontera entre lo que una computadora puede hacer y lo que no puede hacer.

Entre 1940 y 1950 surgen las máquinas hoy llamadas “autómatas …nitos”.

A …nales de 1950 el lingüista Chomsky inicia el estudio de las “gramáticas” formales.

(7)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

La teoría de autómatas es el estudio de dispositivos (máquinas) de computación abstractas.

Alan Turing estudio máquinas abstractas, las máquinas de Turing, antes que existieran las computadoras reales.

Objetivo de Turing en 1930:

Describir en forma precisa la frontera entre lo que una computadora puede hacer y lo que no puede hacer.

Entre 1940 y 1950 surgen las máquinas hoy llamadas “autómatas …nitos”.

A …nales de 1950 el lingüista Chomsky inicia el estudio de las “gramáticas” formales.

(8)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

La teoría de autómatas es el estudio de dispositivos (máquinas) de computación abstractas.

Alan Turing estudio máquinas abstractas, las máquinas de Turing, antes que existieran las computadoras reales. Objetivo de Turing en 1930:

Describir en forma precisa la frontera entre lo que una computadora puede hacer y lo que no puede hacer.

Entre 1940 y 1950 surgen las máquinas hoy llamadas “autómatas …nitos”.

A …nales de 1950 el lingüista Chomsky inicia el estudio de las “gramáticas” formales.

(9)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

La teoría de autómatas es el estudio de dispositivos (máquinas) de computación abstractas.

Alan Turing estudio máquinas abstractas, las máquinas de Turing, antes que existieran las computadoras reales. Objetivo de Turing en 1930:

Describir en forma precisa la frontera entre lo que una computadora puede hacer y lo que no puede hacer. Entre 1940 y 1950 surgen las máquinas hoy llamadas “autómatas …nitos”.

A …nales de 1950 el lingüista Chomsky inicia el estudio de las “gramáticas” formales.

(10)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

La teoría de autómatas es el estudio de dispositivos (máquinas) de computación abstractas.

Alan Turing estudio máquinas abstractas, las máquinas de Turing, antes que existieran las computadoras reales. Objetivo de Turing en 1930:

Describir en forma precisa la frontera entre lo que una computadora puede hacer y lo que no puede hacer.

Entre 1940 y 1950 surgen las máquinas hoy llamadas “autómatas …nitos”.

(11)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

En 1969 S. Cook pudo clasi…car los problemas que pueden ser resueltos en una computadora en dos categorías:

problemas que se pueden resolver en forma e…ciente,

problemas que en principio se pueden resolver pero que en la práctica consumen mucho tiempo (NP–duros, intratables).

Todos los desarrollos teóricos se apoyan en lo que los cientí…cos de la computación desarrollan actualmente.

(12)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

En 1969 S. Cook pudo clasi…car los problemas que pueden ser resueltos en una computadora en dos categorías:

problemas que se pueden resolver en forma e…ciente,

problemas que en principio se pueden resolver pero que en la práctica consumen mucho tiempo (NP–duros, intratables).

Todos los desarrollos teóricos se apoyan en lo que los cientí…cos de la computación desarrollan actualmente.

(13)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

En 1969 S. Cook pudo clasi…car los problemas que pueden ser resueltos en una computadora en dos categorías:

problemas que se pueden resolver en forma e…ciente,

problemas que en principio se pueden resolver pero que en la práctica consumen mucho tiempo (NP–duros, intratables).

Todos los desarrollos teóricos se apoyan en lo que los cientí…cos de la computación desarrollan actualmente.

(14)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

En 1969 S. Cook pudo clasi…car los problemas que pueden ser resueltos en una computadora en dos categorías:

problemas que se pueden resolver en forma e…ciente,

problemas que en principio se pueden resolver pero que en la práctica consumen mucho tiempo (NP–duros, intratables). Todos los desarrollos teóricos se apoyan en lo que los cientí…cos de la computación desarrollan actualmente.

(15)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

Los autómatas …nitos y las gramáticas formales se usan como modelos para

Construir el software para el diseño de circuitos digitales Construir el analizador léxico de un compilador

La máquinas de Turing nos ayuda a entender lo que podemos esperar de nuestro software.

La teoría de problemas intratables nos ayuda a deducir si nos enfrentamos con problemas tratables o no.

(16)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

Los autómatas …nitos y las gramáticas formales se usan como modelos para

Construir el software para el diseño de circuitos digitales

Construir el analizador léxico de un compilador

La máquinas de Turing nos ayuda a entender lo que podemos esperar de nuestro software.

La teoría de problemas intratables nos ayuda a deducir si nos enfrentamos con problemas tratables o no.

(17)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

Los autómatas …nitos y las gramáticas formales se usan como modelos para

Construir el software para el diseño de circuitos digitales Construir el analizador léxico de un compilador

La máquinas de Turing nos ayuda a entender lo que podemos esperar de nuestro software.

La teoría de problemas intratables nos ayuda a deducir si nos enfrentamos con problemas tratables o no.

(18)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

Los autómatas …nitos y las gramáticas formales se usan como modelos para

Construir el software para el diseño de circuitos digitales Construir el analizador léxico de un compilador

La máquinas de Turing nos ayuda a entender lo que podemos esperar de nuestro software.

La teoría de problemas intratables nos ayuda a deducir si nos enfrentamos con problemas tratables o no.

(19)

Introducción

¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Motivación

Motivación

Los autómatas …nitos y las gramáticas formales se usan como modelos para

Construir el software para el diseño de circuitos digitales Construir el analizador léxico de un compilador

La máquinas de Turing nos ayuda a entender lo que podemos esperar de nuestro software.

La teoría de problemas intratables nos ayuda a deducir si nos enfrentamos con problemas tratables o no.

(20)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Aplicaciones de los Autómatas Finitos

Algunas aplicaciones de autómatas …nitos

Diseño de software y veri…cación del comportamiento de circuitos digitales.

Analizadores léxicos de compiladores.

Software para explorar grandes volúmenes de texto y encontrar patrones.

Software para veri…car sistemas que tengan un número …nito de estados distintos, por ejemplo, protocolos de comunicación.

(21)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Aplicaciones de los Autómatas Finitos

Algunas aplicaciones de autómatas …nitos

Diseño de software y veri…cación del comportamiento de circuitos digitales.

Analizadores léxicos de compiladores.

Software para explorar grandes volúmenes de texto y encontrar patrones.

Software para veri…car sistemas que tengan un número …nito de estados distintos, por ejemplo, protocolos de comunicación.

(22)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Aplicaciones de los Autómatas Finitos

Algunas aplicaciones de autómatas …nitos

Diseño de software y veri…cación del comportamiento de circuitos digitales.

Analizadores léxicos de compiladores.

Software para explorar grandes volúmenes de texto y encontrar patrones.

Software para veri…car sistemas que tengan un número …nito de estados distintos, por ejemplo, protocolos de comunicación.

(23)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Aplicaciones de los Autómatas Finitos

Algunas aplicaciones de autómatas …nitos

Diseño de software y veri…cación del comportamiento de circuitos digitales.

Analizadores léxicos de compiladores.

Software para explorar grandes volúmenes de texto y encontrar patrones.

Software para veri…car sistemas que tengan un número …nito de estados distintos, por ejemplo, protocolos de comunicación.

(24)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Aplicaciones de los Autómatas Finitos

Algunas aplicaciones de autómatas …nitos

Diseño de software y veri…cación del comportamiento de circuitos digitales.

Analizadores léxicos de compiladores.

Software para explorar grandes volúmenes de texto y encontrar patrones.

Software para veri…car sistemas que tengan un número …nito de estados distintos, por ejemplo, protocolos de comunicación.

(25)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Ejemplo de Autómata Finito 1

Autómata …nito que modela un interruptor encendido/apagado (on/o¤)

(26)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Ejemplo de Autómata Finito 2

(27)

Introducción

¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales Los Conceptos Centrales de la Teoría de Autómatas

Introducción a los Autómatas Finitos

Representaciones Estructurales

Gramáticas y Expresiones Regulares

Existen dos formas alternativas de especi…car una máquina

1 Gramáticas: una regla gramatical como E =)E +E

establece una expresión aritmética

2 Expresiones Regulares: denota una estructura de datos

’[A Z] [a z] [] [A Z] [A Z]’que representa un patrón en un texto

(28)

Introducción ¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Condiciones Necesarias y Su…cientes

Tipos de Demostraciones

Condiciones Su…cientes

Una proposición A es una condición su…ciente de una proposición B si

A)B ( (A)B) = B ) A)

Examples (Su…ciencia)

Si llueve mi patio se moja(A)B).Es su…ciente que llueva para que mi patio se moje, pero no es necesario que llueva para que mi patio se moje.

(29)

Introducción ¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Condiciones Necesarias y Su…cientes

Tipos de Demostraciones

Condiciones Necesarias

Una proposición B es una condición necesaria de una proposición A si

A(B

Example (Necesidad)

Nací en México;nací en Hermosillo. Sin embargo, si nací en

Hermosillo) nací en México (A(B).

(30)

Introducción ¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Condiciones Necesarias y Su…cientes

Tipos de Demostraciones

Condición Su…ciente y Necesaria

Las proposiciones A y B son su…ciente y necesaria si se cumple

A,B

Example (Su…ciente y Necesaria)

Si n es un entero par)n divisible por 2. Si n entero es divisible

(31)

Introducción ¿Por qué estudiar Autómatas?

Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Condiciones Necesarias y Su…cientes

Tipos de Demostraciones

Tipos de Demostraciones

1 Deductivas 2 Relacionados a conjuntos 3 Contrapositiva 4 Por contradicción 5 Por contrajemplos

6 Inductivas (objetos de…nidos recursivamente)

(32)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes Problemas

Alfabetos

Un alfabeto

Σ= conjunto de símbolos …nito no vacío

Ejemplos

Σ= f0, 1g, el alfabeto binario,

Σ= fa, b, c, . . . , zg, conjunto de todas las letras minúsculas

(33)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes Problemas

Alfabetos

Un alfabeto

Σ= conjunto de símbolos …nito no vacío

Ejemplos

Σ= f0, 1g, el alfabeto binario,

Σ= fa, b, c, . . . , zg, conjunto de todas las letras minúsculas Σ= conjunto de todos los caracteres ASCII

(34)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Cadenas

Una cadena w es una sucesión …nita de símbolos de algún alfabeto Σ

w =a1a2 ai, ak 2 Σ k =1, 2, . . . , i

Ejemplo, la cadena 01011 es una cadena del alfabeto Σ= f0, 1g

La cadena vacía e es la cadena con cero ocurrencias de

símbolos de Σ.

La longitud de una cadena w =a1a2 ai es el número de

posiciones de los símbolos de la cadena

jwj =i Ejemplo

(35)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Cadenas

Una cadena w es una sucesión …nita de símbolos de algún

alfabeto Σ

w =a1a2 ai, ak 2 Σ k =1, 2, . . . , i

Ejemplo, la cadena 01011 es una cadena del alfabeto Σ= f0, 1g

La cadena vacía e es la cadena con cero ocurrencias de

símbolos de Σ.

La longitud de una cadena w =a1a2 ai es el número de

posiciones de los símbolos de la cadena

jwj =i Ejemplo

jabcdej =5, jej =0

(36)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Cadenas

Una cadena w es una sucesión …nita de símbolos de algún

alfabeto Σ

w =a1a2 ai, ak 2 Σ k =1, 2, . . . , i

Ejemplo, la cadena 01011 es una cadena del alfabeto Σ= f0, 1g

La cadena vacía e es la cadena con cero ocurrencias de símbolos de Σ.

La longitud de una cadena w =a1a2 ai es el número de

posiciones de los símbolos de la cadena

jwj =i Ejemplo

(37)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Cadenas

Una cadena w es una sucesión …nita de símbolos de algún

alfabeto Σ

w =a1a2 ai, ak 2 Σ k =1, 2, . . . , i

Ejemplo, la cadena 01011 es una cadena del alfabeto Σ= f0, 1g

La cadena vacía e es la cadena con cero ocurrencias de

símbolos de Σ.

La longitud de una cadena w =a1a2 ai es el número de

posiciones de los símbolos de la cadena jwj =i

Ejemplo

jabcdej =5, jej =0

(38)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Cadenas

Una cadena w es una sucesión …nita de símbolos de algún

alfabeto Σ

w =a1a2 ai, ak 2 Σ k =1, 2, . . . , i

Ejemplo, la cadena 01011 es una cadena del alfabeto Σ= f0, 1g

La cadena vacía e es la cadena con cero ocurrencias de

símbolos de Σ.

La longitud de una cadena w =a1a2 ai es el número de

posiciones de los símbolos de la cadena

(39)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Potencias de un alfabeto

Sea Σ un alfabeto, de…nimos las potencias de Σ por Σk

= fwjw es una cadena deΣ y jwj =kg, k 0

Σ0

= fegpara cualquier alfabeto

Si Σ= f0, 1gentonces Σ1 = f0, 1g, Σ2 = f00, 01, 10, 11g, Σ3 = f000, 001, 010, 011, 100, 101, 110, 111g 39 / 53

(40)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Potencias de un alfabeto

Sea Σ un alfabeto, de…nimos las potencias de Σ por

Σk

= fwjw es una cadena deΣ y jwj =kg, k 0

Σ0

= fegpara cualquier alfabeto

Si Σ= f0, 1gentonces Σ1 = f0, 1g, Σ2 = f00, 01, 10, 11g, Σ3 = f000, 001, 010, 011, 100, 101, 110, 111g

(41)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Potencias de un alfabeto

Sea Σ un alfabeto, de…nimos las potencias de Σ por

Σk

= fwjw es una cadena deΣ y jwj =kg, k 0

Σ0

= fegpara cualquier alfabeto

Si Σ= f0, 1gentonces Σ1 = f0, 1g, Σ2 = f00, 01, 10, 11g, Σ3 = f000, 001, 010, 011, 100, 101, 110, 111g 41 / 53

(42)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes Problemas

Preguntas

Preguntas

1 ¿Cuántas cadenas hay en Σ4?

(43)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Conjunto de todas las cadenas de un alfabeto

El conjunto de todas las cadenas de un alfabeto Σ es denotado por Σ Σ = fwjw es cadena deΣg, =Σ0[Σ1[Σ2[Σ3[ Ejemplo f0, 1g = fe, 0, 1, 00, 01, 10, 11, 000, g 43 / 53

(44)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Conjunto de todas las cadenas de un alfabeto

El conjunto de todas las cadenas de un alfabeto Σ es

denotado por Σ

Σ = fwjw es cadena deΣg,

=Σ0[Σ1[Σ2[Σ3[ Ejemplo

(45)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Cadenas no vacías

El conjunto de cadenas no vacías de un alfabeto se de…ne por Σ+ =Σ1[Σ2[Σ3[ en consecuencia Σ =Σ+[ feg 45 / 53

(46)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Concatenación de cadenas

Sean x =a1a2 ai, y =b1b2 bj cadenas deΣ, de…nimos

la concatenación de x con y por

xy =a1a2 aib1b2 bj,

La longitud de la nueva cadena es

jxyj =i+j

Ejemplo x =01110, y =1111)xy =011101111, jxyj =9.

Para cualquier cadena x se cumple

(47)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Concatenación de cadenas

Sean x =a1a2 ai, y =b1b2 bj cadenas deΣ, de…nimos

la concatenación de x con y por

xy =a1a2 aib1b2 bj,

La longitud de la nueva cadena es jxyj =i+j

Ejemplo x =01110, y =1111)xy =011101111, jxyj =9.

Para cualquier cadena x se cumple

x e=ex =x

(48)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Concatenación de cadenas

Sean x =a1a2 ai, y =b1b2 bj cadenas deΣ, de…nimos

la concatenación de x con y por

xy =a1a2 aib1b2 bj,

La longitud de la nueva cadena es

jxyj =i+j

Ejemplo x =01110, y =1111)xy =011101111, jxyj =9.

Para cualquier cadena x se cumple

(49)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos

Cadenas

Lenguajes Problemas

Concatenación de cadenas

Sean x =a1a2 ai, y =b1b2 bj cadenas deΣ, de…nimos

la concatenación de x con y por

xy =a1a2 aib1b2 bj,

La longitud de la nueva cadena es

jxyj =i+j

Ejemplo x =01110, y =1111)xy =011101111, jxyj =9.

Para cualquier cadena x se cumple x e=ex =x

(50)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes Problemas

Lenguajes

De…nition

SeaΣ un alfabeto y L Σ diremos entonces que L es un lenguaje

deΣ.

Examples

Ejemplos de lenguajes

1 El conjunto de palabras (aceptadas) del español

2 El conjunto de todos los programas (correctos) de C

3 El el lenguaje de todas las cadenas que consisten de n 0’s

(51)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes Problemas

Más Ejemplos de Lenguajes

Examples Ejemplos de lenguajes

1 El lenguaje de todas las cadenas 0’s y n 1’s con igual número

de cada uno

fe, 01, 01, 0011, 0101, 1001,. . .g

2 El lenguaje formado por los números binarios cuyo valor es un

primo

Lp = f10, 11, 101, 111, 1011g

3 Σ es un lenguaje para cualquier alfabeto Σ.

(52)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes Problemas

Más Ejemplos de Lenguajes

Examples

1 φ, el lenguaje vacío, es un lenguaje de cualquier alfabeto Σ. 2 feg, el lenguaje que consiste únicamente de la cadena vacía,

es un lenguaje de cualquier alfabeto Σ. 3 Observación φ6= feg.

(53)

Introducción ¿Por qué estudiar Autómatas? Introducción a las Demostraciones Formales

Los Conceptos Centrales de la Teoría de Autómatas

Alfabetos Cadenas Lenguajes

Problemas

Problemas en teoría de autómatas

De…nition

SeaΣ un alfabeto y L un lenguaje de Σ.El problema L es:

Dado una cadena w 2Σ decidir si w 2L ó w /2L.

Examples

Dado una cadena w de 0’s y 1’s averiguar si w 2Lp o w /2Lp

Referencias

Documento similar

• Describe la relación entre el nivel general de precios y la producción total de la economía. • La intersección de ambas curvas determina, como en los mercados individuales,

La empresa no realiza una suplantación del mercado como sistema de asignación de recursos, sino que le sustituye cuando el sistema empresarial puede conseguir

• PIB: valor monetario de los bienes y servicios finales producidos para el mercado en el país durante un año...

• Para analizar la política fiscal ampliamos el modelo incluyendo al Sector Público?. • El Sector Público tiene unos ingresos derivados de los impuestos T, y unos

Las reglas de Feynman en espacio de posiciones son como para el campo neutro, pero teniendo en cuenta que en el vértice de esta teoría siempre hay dos líneas con flechas hacia

Esta asignatura se sitúa, por tanto, en el nivel básico dentro del plan de formación de los grados en Ingeniería Informática y en Tecnologías de la Información y desarrolla

I Congreso Nacional de Lengua de Signos Española I Congreso Nacional de Lengua de Signos Española Federación de Personas Sordas de la Comunidad Valenciana.. I Congreso Nacional

Fuente: Muñoz Baell IM (2005): “La educación bilingüe para alumnado sordo en el marco internacional: de la teoría a las prácticas”, en Muñoz Baell IM, Merma G, Nogueira Fos R,