Este documento define conceptos básicos de teoría de autómatas como alfabeto, cadenas, lenguajes y problemas. Un alfabeto es un conjunto finito de símbolos como {0,1} o letras. Una cadena es una secuencia finita de símbolos de un alfabeto como "0110". Un lenguaje es un subconjunto de todas las cadenas posibles sobre un alfabeto. Un problema determina si una cadena pertenece a un lenguaje en particular.
1. Raúl Gómez
ragomeza@unl.edu.ec
Universidad nacional de Loja
Área de la energía las industrias y los recursos naturales no renovables.
Ingeniería en Sistemas
“Autómatas y Lenguajes Formales”
Consulta sobre:
“Alfabeto, Cadenas, Lenguajes, y Problemas”
Nombre:
Raúl Gómez A.
Docente:
Ing. Mario Palma
Fecha:
25/09/2014
Loja-Ecuador
2014
2. Raúl Gómez
ragomeza@unl.edu.ec
Alfabeto:
Definición (Alfabeto):
Un alfabeto es un conjunto de símbolos finito y no vacío. Convencionalmente, utilizamos el
símbolo Σ para designar un alfabeto. Entre los alfabetos más comunes se incluyen los
siguientes:
1. Σ= {0,1}, el alfabeto binario.
2. Σ= {a,b, . . . , z}, el conjunto de todas las letras minúsculas.
3. El conjunto de todos los caracteres ASCII o el conjunto de todos los caracteres ASCII
imprimibles. (Jonhn E. Rajeev M. Jeffrey . Teoria de Automatas ,2007, pag.24)
EJEMPLOS:
Ejemplo 1: Sea Σ = {a, b} el alfabeto que consta de los dos símbolos a y b. Las siguientes
son cadenas sobre Σ:
aba
ababaaa
aaaab.
Obsérvese que aba ≠ aab. El orden de los símbolos en una cadena es significativo ya
que las cadenas se definen como sucesiones, es decir, conjuntos secuencialmente ordenados.
Ejemplo: El alfabeto Σ = {0, 1} se conoce como alfabeto binario. Las cadenas sobre
este alfabeto son secuencias finitas de ceros y unos, llamadas secuencias binarias, tales como
001
1011
001000001.
Ejemplo 3: Σ = {a, b, c, . . . , x, y, z}, el alfabeto del idioma castellano. Las palabras
oficiales del castellano (las que aparecen en el diccionario DRA) son cadenas sobre Σ.
Ejemplo 4: El alfabeto utilizado por muchos de los llamados lenguajes de
programación (como Pascal o C) es el conjunto de caracteres ASCII (o un subconjunto de el)
que incluye, por lo general, las letras mayúsculas y minúsculas, los símbolos de puntuación y
los símbolos matemáticos disponibles en los teclados estándares.
El conjunto de todas las cadenas sobre un alfabeto Σ, incluyendo la cadena vacía, se
denota por Σ*.
Ejemplo 5: Σ = {a, b, c}, entonces
Σ* = { , a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, abc, baa, . . .}.
3. Raúl Gómez
ragomeza@unl.edu.ec
Cadenas de Caracteres:
Una cadena de caracteres (que también se denomina en ocasiones palabra) es una
secuencia finita de símbolos seleccionados de algún alfabeto. Por ejemplo, 01101 es una cadena
del alfabeto binario = {0,1}. La cadena 111 es otra cadena de dicho alfabeto.
La concatenación de cadenas se puede definir inductiva o recursivamente de la siguiente
manera:
Entonces:
Propiedad. La concatenación de cadenas es una operación asociativa. Es decir, si
POTENCIAS DE UNA CADENA
Dada , se define (descriptivamente) en la siguiente forma
LONGITUD DE UNA CADENA
La longitud de una cadena se denota y se define como el numero de
simbolos de u (contando los simbolos repetids). Es decir
Ejemplo :
Ejemplo:
4. Raúl Gómez
ragomeza@unl.edu.ec
LENGUAJES
Un lenguaje L sobre un alfabeto Σ es un subconjunto de Σ*, es decir
Casos extremos:
Lenguaje vacío.
Lenguaje de todas las cadenas sobre Σ.
Ejemplos:
(Alfabeto , pg1)
PROBLEMAS
En la teoría de autómatas, un problema es la cuestión de decidir si una determinada cadena es un
elemento de un determinado lenguaje. Como veremos, cualquier cosa que coloquialmente
denominamos “problema” podemos expresarlo como elemento de un lenguaje. De manera más
precisa si Σ es un alfabeto y L es un lenguaje de Σ entonces el problema L es:
Dada una cadena w de Σ*. Decidir si w pertenece o no a L.
Bibliografia:
(Alfabeto . pg1) Alfabeto, cadenas y Lenguajes
(Jonhn E. Rajeev M. Jeffrey . Teoria de Automatas ), Lenguaje y aplicación. 2007
Impreso por: IMPRESO EN ESPAÑA - PRINTED IN SPAIN