Está en la página 1de 18

Símbolo

Traductores Entidad abstracta que no se define formalmente, así como sucede con “punto” que no
es definido geométricamente.

Letras y dígitos (son ejemplos de símbolos)


0. Conceptos
Ejemplos de símbolos: a,b,c,1,2,6.
preliminares sobre
Matemáticas
Cadena (palabra)
Secuencia finita de símbolos yuxtapuestos: abcdba.

Longitud de una cadena ( |w| )


Cadenas, Alfabetos y Es el número de símbolos que componen la cadena: abcd tiene longitud 4.
Lenguajes
Cadena vacía ()
Es la cadena consistente de cero símbolos.

Prefijo de una cadena


Es cualquier número de símbolos que encabezan la cadena.

Sufijo de una cadena


Es cualquier número de símbolos finales (la cola) de la cadena.

Ejemplo: abc prefijos: , a, ab, abc sufijos: , c, bc, abc

anterior siguiente 12/02/2016 1


Traductores Un prefijo o sufijo de una cadena, diferente a la cadena misma, es llamado prefijo
propio o sufijo propio.

Concatenación de dos cadenas


0. Conceptos Es la cadena formada por la primer cadena seguida de la segunda, sin espacios
preliminares sobre intermedios. Ejemplo: dog y house concatenación doghouse.
Matemáticas
Yuxtaposición
Es usada como el operador de concatenación. Si w y x son cadenas, wx es la
concatenación de esas cadenas.

Cadenas, Alfabetos y Cadena vacía


Lenguajes
Es la identidad para el operador de concatenación. Esto es w = w = w para cada
cadena w.

Alfabeto
Es un conjunto finito de símbolos.

Lenguaje formal
Es un conjunto de cadenas de símbolos de algún alfabeto dado.

anterior siguiente 12/02/2016 2


Traductores Conjunto vacío
El conjunto vacío () y el conjunto consistente de cadenas vacías {} son lenguajes.
Nótese que son distintos; el último tiene un miembro, mientras que el primero no lo
tiene.
0. Conceptos
preliminares sobre El conjunto de palindromes (cadenas que se leen igual hacia delante que hacia atrás)
Matemáticas sobre el alfabeto {0,1} es un lenguaje infinito. Algunos miembros de éste lenguaje son:
, 0, 1, 00, 11, 010 y 1101011.

Note que el conjunto de todos los palindromes sobre una colección infinita de
símbolos técnicamente no es un lenguaje porque sus cadenas no son construidas
Cadenas, Alfabetos y colectivamente desde un alfabeto.
Lenguajes
Otro lenguaje es el conjunto de todas las cadenas sobre un alfabeto fijo . Se denota
éste lenguaje por  * .

Por ejemplo:

Sí  = {a}, entonces * = {, a, aa, aaa, ...}

Sí  = {0,1} entonces * = {, 0, 1, 00, 01, 10, 11, 000, ...}

anterior siguiente 12/02/2016 3


Traductores Gráfica
Denotada por G = (V, E), consiste de un conjunto finito de vértices (o nodos) V y de un
conjunto de pares de vértices E llamados aristas (orillas o bordes).

0. Conceptos Ejemplo de gráfica:


preliminares sobre aristas
Matemáticas
vértices

Gráficas y Árboles

Aquí V = {1,2,3,4,5} y E = {(n,m) | n+m = 4 ó n+m = 7}.

Ruta
En una gráfica, es una secuencia de vértices v1, v2, ... vk, k  1, tal que hay una orilla
(vi, vi+1) para cada i, 1  i< k.

La longitud de la ruta es k-1. Por ejemplo: 1,3,4 es una ruta en la gráfica, y su longitud
es 2; sí v1 = vk la ruta es un ciclo.

anterior siguiente 12/02/2016 4


Traductores Gráfica (Grafo) Dirigida (Digraph)
Denotada por G = (V, E), consiste de un conjunto finito de vértices V y de un conjunto
de pares ordenados de vértices E llamados arcos. Se denota un arco de v a w por
v  w. Por definición un grafo dirigido no acepta bucles. Un grafo que acepta bucles y
0. Conceptos es dirigido, se llama Pseudografo dirigido.
preliminares sobre
Matemáticas Ejemplo de gráfica:

Gráficas y Árboles
Gráfica dirigida ({1,2,3,4}, {i  j | i < j })

Ruta en una Digraph


Es una secuencia de vértices v1, v2, ... vk, k  1, tal que vi  vi+1 es un arco para cada
i, 1  i< k.. Se dice que la ruta es de v1 a vk.

Así, 1  2  3  4 es una ruta de 1 a 4 en la gráfica. Sí v w es un arco, se dice que


v es un predecesor de w, y w es un sucesor de v.

anterior siguiente 12/02/2016 5


Traductores Árboles
Un árbol (estrictamente hablando, un árbol dirigido y ordenado) es una gráfica dirigida
con las siguientes propiedades:

0. Conceptos • Hay un vértice, llamado raíz, que no tiene predecesores y desde el cual hay
preliminares sobre una ruta para cada vértice.
Matemáticas • Cada vértice diferente al raíz, tiene exactamente un predecesor.
• Los sucesores de cada vértice son ordenados “desde la izquierda”.

¿Cómo Dibujar un Árbol?


Gráficas y Árboles
Los árboles se dibujan con la raíz en la parte superior y todos los arcos apuntando
hacia abajo. Las flechas en los arcos por lo tanto no son necesarias para indicar
direcciones y por lo tanto no se muestran.

Los sucesores de cada vértice se dibujan en orden de izquierda a derecha.

A continuación veamos la figura de un árbol y su terminología:

anterior siguiente 12/02/2016 6


Traductores

0. Conceptos
preliminares sobre
Matemáticas
Hijo
Es el sucesor de un vértice.

Gráficas y Árboles Padre


Es el predecesor de un vértice.

Sí hay una ruta desde el vértice v1 al vértice v2, entonces se dice que v1 es un ancestro
de v2; y v2 es un descendiente de v1. El caso v1 = v2 no es un caso excluyente;
cualquier vértice es un ancestro y descendiente de sí mismo.

Hoja
Es un vértice sin hijos, y los otros vértices son llamados vértices interiores

anterior siguiente 12/02/2016 7


Traductores A continuación veamos el ejemplo de un árbol que genera el número 123.789.

0. Conceptos
preliminares sobre
Matemáticas

Gráficas y Árboles

anterior siguiente 12/02/2016 8


Traductores Pruebas Inductivas
Muchos teoremas sobre lenguajes y autómatas son probados por Inducción Matemática.

El principio de inducción matemática es que P(n) se pruebe para


0. Conceptos
preliminares sobre 1. k = 1.
Matemáticas 2. Suponer que la aseveración se cumple para k = n.
3. Demostrar que la aseveración se cumple para k = n + 1.

Pruebas Inductivas Ejemplo: Demostrar que

anterior siguiente 12/02/2016 9


Traductores Conjunto
Colección de objetos (miembros del conjunto) sin repetición. Los conjuntos finitos
pueden especificarse listando sus miembros entre llaves { }.

0. Conceptos Ejemplo: {0, 1} denota el alfabeto de símbolos 0 y 1.


preliminares sobre
Matemáticas Especificación formal de conjuntos:

{ x | P(x) } “el conjunto de objetos x tal que P(x) es verdadero”

Notación de Conjuntos ó

{ x en A | P(x) } “el conjunto de x’s en el conjunto A tal que P(x) es verdadera”


y es equivalente a {x | P(x) y x está en A }.

Ejemplo: {i | i es un entero y existe un entero j tal que i = 2j }


lo cual es una forma de especificar enteros pares.

anterior siguiente 12/02/2016 10


Si cada miembro de A es un miembro de B, entonces escribimos A  B y se dice que
Traductores “A está contenida en B”.

A  B es sinónimo de A  B.
0. Conceptos
preliminares sobre Sí A  B, pero A  B, esto es, cada miembro de A está en B y existe algún miembro de
Matemáticas B que no está en A, entonces escribimos A  B (A es subconjunto propio de B).

Los conjuntos A y B son iguales si tienen los mismos miembros. Esto es, A = B, sí y
sólo sí A  B y B  A (entonces A es subconjunto impropio de B).
Notación de Conjuntos
Operaciones sobre Conjuntos:

1. A  B, la unión de A y B es {x | x está en A ó x está en B}


2. A  B, la intersección de A y B es {x | x está en A y x está en B}
3. A – B, la diferencia de A y B es {x | x está en A y x no está en B}
4. A x B, el producto cartesiano de A y B, es el conjunto de pares ordenados (a, b)
tal que a está en A y b está en B.
5. 2A, conjunto potencia de A, es el conjunto de todos los subconjuntos de A.

anterior siguiente 12/02/2016 11


Traductores Ejemplo: Sea A = {1, 2} y B = {2,3}, entonces

A  B = {1,2,3}

0. Conceptos A  B = {2}
preliminares sobre
Matemáticas
A – B = {1}

A x B = {(1,2), (1,3), (2,2), (2,3)}


Notación de Conjuntos
2A = {, {1}, {2}, {1,2}}

Note que si A y B tienen n y m miembros respectivamente, entonces A x B tiene


(n x m) miembros y 2A tiene 2n miembros (2 a la n ).

anterior siguiente 12/02/2016 12


Traductores Conjuntos Infinitos
Dos conjuntos tienen la misma cardinalidad (número de miembros) si hay un mapeo
uno a uno de los elementos de S1 sobre S2.

0. Conceptos Para conjuntos finitos, si S1 es un subconjunto propio de S2, entonces S1 y S2 tienen


preliminares sobre diferente cardinalidad.
Matemáticas
Sin embargo, si S1 y S2 son infinitos, la última aseveración puede ser falsa.

Ejemplo:
Notación de Conjuntos Sea S1 el conjunto de enteros pares y sea S2 el conjunto de todos los enteros.

Claramente S1 es un subconjunto propio de S2. Sin embargo S1 y S2 tienen la


misma cardinalidad, ya que la función definida por f(2i) = i es un mapeo uno a
uno de los enteros pares sobre los enteros.

S1 = {2 4 6 8 10 12 14 16.....} S2 = {1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,...}

No todos los conjuntos infinitos tienen la misma cardinalidad.

anterior siguiente 12/02/2016 13


Traductores Relación
Una relación (binaria) es un conjunto de pares. El primer componente de cada par se
escoge desde un conjunto llamado Dominio, y el segundo componente de cada par se
escoge de un conjunto (posiblemente diferente) llamado Rango.
0. Conceptos
preliminares sobre Sí el Dominio y el Rango están en el mismo conjunto S, se dice que la relación está en
Matemáticas S.
Si R es una relación y (a,b) es un par en R, entonces se escribirá aRb.

Propiedades de las Relaciones


Relaciones Se dice que una relación R sobre el conjunto S es:

1 reflexiva, si aRa para toda a en S;


2 irreflexiva, si aRa es falsa para toda a en S;
3 transitiva, si aRb y bRc implican aRc;
4 simétrica, si aRb implica bRa;
5 asimétrica, si aRb implica que bRa es falsa.

Nótese que cualquier relación asimétrica debe ser irreflexiva.

Ejemplo: La relación < sobre el conjunto de enteros es transitiva porque a < b y b < c
implica a < c. Es asimétrica e irreflexiva porque a < b implica b < a es falso.

anterior siguiente 12/02/2016 14


Traductores Relaciones de Equivalencia
Una relación R que es reflexiva, simétrica y transitiva se dice que es una relación de
equivalencia.

0. Conceptos
preliminares sobre
Matemáticas

Relaciones

anterior siguiente 12/02/2016 15


Traductores Cerradura de Relaciones
Suponga que  es un conjunto de propiedades de relaciones. La cerradura  de una
relación R es la más pequeña relación R’ que incluye todos los pares de R y posee las
propiedades en  .
0. Conceptos
preliminares sobre Por ejemplo, la cerradura transitiva de R, denotada por R+, se define por:
Matemáticas
1 Si (a,b) está en R, entonces (a,b) está en R+.
2 Si (a,b) está en R+ y (b,c) está en R, entonces (a,c) está en R+.
3 Nada está en R+ a menos que cumpla con (1) y (2).
Relaciones

Así, R+ incluye R, es transitiva, y contiene unos cuantos pares como cualquier relación
que incluye R y es transitiva.

La cerradura reflexiva y transitiva de R, denotada por R*, es vista como


R+  {(a,a) | a está en S}

Ejemplo: Sea R = {(1,2),(2,2),(2,3)} una relación en el conjunto {1,2,3}, entonces:

R+ = {(1,2),(2,2),(2,3),(1,3)} y R* = {(1,1),(1,2),(1,3),(2,2),(2,3),(3,3)}

anterior siguiente 12/02/2016 16


Traductores 1.
a.
En el árbol de la figura siguiente:
¿Cuáles vértices son hojas? 1
b. ¿Cuáles vértices son los hijos de 5?
c. ¿Cuál vértice es el padre de 5?
2 3
0. Conceptos d. ¿Cuál es la longitud de la ruta de 1 a 9?
preliminares sobre e. ¿Cuál vértice es la raíz?
Matemáticas 4 5 6

7 8

Ejercicio
9

2. Sea R = {(1,2),(2,3),(3,4), (5,4)} una relación en el conjunto {1,2,3,4,5}, entonces:


a. Encuentre, la cerradura transitiva.
b. Encuentre , la cerradura reflexiva y transitiva

anterior siguiente 12/02/2016 17


Traductores • K. C. Louden. Construcción de compiladores. Principios y práctica. Edit. Thomson.
México. 2007.

0. Conceptos • J. E. Hopcroft, J. D. Ullman. Introduction to Automata Theory, Languages and


preliminares sobre Computation. Ed. Addison Wesley. 1979.
Matemáticas

Referencias

anterior siguiente 12/02/2016 18

También podría gustarte