Você está na página 1de 21

Mate Discreta

Mate Discreta
Ezequiel Gomez Balaguer

Junio de 2004

1. Autómatas, Máquinas de Turing y Complejidad


1. Si la complejidad temporal de un algoritmo es n, la espacial es a lo
sumo n + 1.

2. La complejidad siempre se calcula pensando en el peor caso.

3. Notación O: Para f (n), n ∈ N, f (n) es O(g(n)) si para n > k , k jo,

|f (n)| ≤ c|g(n)|

donde c > 0 es una constante. Entonces, la O da una cota superior


para la función f (n).

4. Notación Ω: Idem que antes, pero |f (n)| ≥ c|g(n)|. Entonces, Ω da


una cota inferior para la función f (n).

5. Notación θ: f (n) es θ(g(n)) si es O y Ω de dicha función.

6. Algunas funciones ordenadas crecientemente (esto sirve para O, donde


buscamos que g(n) sea lo más chica posible)

log2 (log2 n) log2 n n n log2 n n2 . . . nm mn n! m≥2

7. Si f (n) es O(h(n)) y g(n) es O(h(n)) entonces f y g son del mismo


orden.

2. Grafos
2.1. Introducción
1. Matrices de incidencia

 0 si u no es extremo de e
IG [u, e] = 1 si u es extremo de e

2 si e es un lazo en u

1
Mate Discreta

donde G es un grafo, u un vértice y e una arista. Todas las columnas


de la matriz suman 2, y la cantidad de 1 es par.


 0 si u no es extremo de e

−1 si u es la cola de e
ID [u, e] =

 1 si u es la cabeza de e

2 si e es un lazo en u
donde D es un digrafo. Todas las columnas suman 0 o 2, y la cantidad
de 1 es igual a la de -1.

2. Matrices de Adyacencia
½
cant de aristas entre u y v si u 6= v
AG [u, v] =
cant de lazos si u = v
donde u y v son vértices del grafo G.
½
cant de aristas de u hacia v si u 6= v
AD [u, v] =
cant de lazos si u = v
donde D es un digrafo.

3. X
g(vi ) = 2#E
vi ∈V

donde g(vi ) es el grado del vértice i.

4. La cantidad de vértices de grado impar es par.

5. En un digrafo, X X
ge (vi ) = gs (vi )
vi ∈V vi ∈V

donde ge (vi ) y gs (vi ) son respectivamente los grados de entrada y salida


del vértice i.

6. Los grafos completos tienen n(n−1)/2 aristas. (Cada vértice se conecta


con los n − 1 restantes, y si eliminamos las multiaristas que se generan,
tenemos el resultado dado). Además los Kn son (n − 1)−regulares y
los Km,m son m−regulares

7.
Teorema 1. Un grafo G es bipartito ⇔ no contiene ciclos de longitud
impar.

8. Subgrafo recubridor Si VG son los vértices de un grafo, el subgrafo


recubridor H es tal que VH = VG .

2
Mate Discreta

9. Subgrafo inducido Sea U ⊆ V . El subgrafo inducido por U es el


grafo que tiene todas las aristas de G que son extremos de los vértices
de U . Ojo, sólo hay que incluir las aristas que están entre dos vértices
ambos pertenecientes a U , las aristas que tienen un extremo en U y
otro fuera de U no valen.

10. Operaciones sobre grafos

a ) Borrado de un vértice: V − {v} Se elimina el vértice v y todas las


aristas con extremo en él.
b ) Borrado de una arista: G − {e} Se elimina la arista e y V no se
altera.
c ) Agregado de un vértice: G ∪ {v} Se agrega el vértice v y E no se
altera.
d ) Suma de un vértice: G + {v} Se agrega el vértice v al grafo, y se
agregan #V aristas, desde el vértice v a cada uno de los vértices
de G.
e ) Complemento de un grafo: Vale para grafos simples sin lazos. Si
#V = n, el complemento G { es el subgrafo de Kn que tiene los
mismos vértices pero únicamente las aristas de Kn que no están
en G.

11. Isomorfismo de Grafos Dos grafos G1 y G2 son isomorfos si ∃


f : G1 → G2 biyectiva tal que asigna a cada vértice de G1 un vértice
de G2 y verica: Si v1 , v2 ∈ V1 y {v1 , v2 } ∈ E1 ⇒ {f (v1 ), f (v2 )} ∈ E2
Además, dos grafos son isomorfos ⇔ existe una funcíon biyectiva entre
los vértices que preserve la adyacencia (esto es, f (x) es adyacente a
f (y) ⇔ x es adyacente a y )
Son condiciones necesarias para que dos grafos sean isomorfos : #V1 =
#V2 y la secuencia de grados de cada uno es igual a la del otro.
Si dos grafos son isomorfos, los vértices v y f (v) tienen el mismo grado.
Dos grafos son isomorfos ⇔ sus complementos G { son isomorfos

2.2. Caminos, Distancias, Ciclos, Circuitos


1. Camino Sucesión ininterrumpida de vértices y aristas.

2. Longitud de un camino Cantidad de aristas que recorre el camino.

3. Distancia entre dos vértices Longitud del camino más corto entre di-
chos vértices. En un digrafo, longitud del camino directo más corto.

4. Recorrido Camino que no repite aristas.

3
Mate Discreta

5. Camino Simple Camino que no repite vértices (obviamente también es


un recorrido)

6. Circuito Recorrido cerrado.

7. Ciclo Camino simple cerrado. (se repite el vértice inicial)

8. Reducción Dado un camino W que contiene un subcamino cerrado W 0 ,


una reducción de W por W 0 se obtiene eliminando todos los vértices y
aristas de W 0 salvo aquel donde comienza W 0 .

9. Recorridos euleriano. Es un recorrido que pasa por todas las aristas.


Un circuito Euleriano es un recorrido Euleriano cerrado.

10.

Teorema 2. Un grafo no dirigido sin vértices aislados tiene un circuito


euleriano ⇔ el grafo es conexo y todo vértice del mismo tiene grado
par.

11.

Teorema 3. Un grafo tiene un recorrido euleriano ⇔ tiene exactamen-


te dos vértices de grado impar. Además, el punto de inicio y nalización
del recorrido son esos dos vértices.

12.

Lema 1. Todo camino abierto es un camino simple o contiene un


subcamino cerrado.

Demostración. Supongamos que W no es ni camino simple ni contiene


un subcamino cerrado. Como W no es camino simple, W repite vérti-
ces. Además, como W no contiene un subcamino cerrado, W no repite
vértices. Absurdo.

13.

Teorema 4. Todo camino abierto es un camino simple o puede redu-


cirse a un camino simple.

Demostración. Sea W un camino. Si W es camino simple, listo. Si


W no es camino simple, entonces por el lema anterior W contiene un
subcamino cerrado. Sea W 0 tal camino. Si construimos la reducción de
W por W 0 , tenemos un camino simple.

14.

4
Mate Discreta

Proposición 1. Todo circuito T tiene un ciclo


15.

Teorema 5. Todo circuito se puede descomponer en ciclos de aristas


disjuntas (sin dem)

16. Camino Hamiltoniano Camino simple que contiene todos los vértices
del grafo.

17. Ciclo Hamiltoniano Camino Hamiltoniano cerrado.

18. Condiciones necesarias y sucientes para que un grafo sea hamiltonia-


no

Si un vértice tiene grado 2, ambas aristas incidentes en él deben


estar en todo ciclo hamiltoniano.
En la construcción de un ciclo hamiltoniano, no puede formarse
un ciclo hasta que todos los vértices hayan sido visitados.
Si durante la construcción de un ciclo hamiltoniano se ve que dos
de las aristas incidentes en un vértice son requeridas, todas las
demás pueden ser eliminadas.

Corolario 1. Si G es un grafo simple con n vértices, n ≥ 3 tal


n
que g(v) ≥ 2 para todo vértice v , entonces G es hamiltoniano.

2.3. Conexidad (Grafos no dirigidos)


1. Vértice de corte Es un vértice v tal que G−{v} tiene más componentes
conexas que G

2.

Teorema 6. Sea G conexo. v es vértice de corte ⇔ ∃ u, w ∈ VG tal


que u 6= v y w 6= v y todo camino simple u − w pasa por v .

3. Arista de corte Es una arista e tal que G − {e} tiene más componentes
conexas que G.

4. Si e = {u, v} es arista de corte y g(u) > 1 entonces u es vértice de


corte.

5.

Teorema 7. G conexo, e es arista de corte ⇔ e ∈/ a ningún ciclo de


G.

5
Mate Discreta

6. Conexidad por vértices Se la denota Kv (G). Es la cantidad mínima


de vértices que se debe remover para que G sea no conexo o el grafo
trivial. Si Kv (G) ≥ k , G es k -conexo.

7. Conexidad por aristas Se la denota Ke (G). Es la cantidad mínima de


aristas que se debe remover para desconectar el grafo. Si Ke (G) ≥ k ,
G es k -arista-conexo.

8.

Proposición 2. Si G es un grafo ⇒ Ke (G) ≤ δmin , donde δmin =


mı́n g(vi ), vi ∈ VG

9.

Proposición 3. Un grafo es k-arista-conexo ⇔ toda partición por cor-


te de aristas tiene por lo menos k aristas.

10.

Teorema 8. Si e es una arista cualquiera de un grafo G k-conexo,


k ≥ 3, entonces G − e es (k − 1)-conexo.

11.

Corolario 2. Si G es un grafo k-conexo y D ⊆ EG tal que #D = m


y m ≤ k − 1 ⇒ G − D es (k − m)-conexo.

12.

Corolario 3. Si G es un grafo conexo, Kv (G) ≤ Ke (G) ≤ δmin (G).


13.

Teorema 9 (Whitney). Si G es un grafo conexo, #VG ≥ 3, G es


2-conexo ⇔ todo par de vértices está unido por al menos 2 caminos
internamente disjuntos.

14.

Corolario 4. Grafo idem a teorema anterior, G es 2-conexo ⇔ para


todo par de vértices en G existe un ciclo que los contiene.

15. Síntesis de Whitney Consiste en adicionar caminos simples (o sea, agre-


gar al grafo un camino simple de modo tal que ningún vértice interno
del camino esté en el grafo). De este modo se genera una secuencia
de grafos, cada elemento de la secuencia es el grafo anterior más un
camino simple.

16.

6
Mate Discreta

Teorema 10. Si un grafo es 2-conexo, una síntesis de Whitney de


dicho grafo sigue siendo 2-conexa.

17.

Teorema 11. Si G es 2-conexo y H es subgrafo de G, para toda arista


en EG \ EH , existe un camino simple en G que contiene a la arista y
además es un camino de adición para H .

18.

Teorema 12 (Whitney II). Un grafo es 2-conexo ⇔ es un ciclo o


una síntesis de Whitney de un ciclo.

19. Caracterización de los grafos 2-conexos

a ) G es 2-conexo.
b ) Para todo par de vértices de G, existe un ciclo que contiene a
ambos.
c ) Para todo par de un vértice y una arista de G, hay un ciclo que
contiene a ambos.
d ) Para todo par de aristas de G, hay un ciclo que contiene a ambas.
e ) Para cualesquiera dos vértices y una arista de G, hay un camino
simple que contiene a los tres.
f ) Para cualesquiera tres vértices de G, hay un camino que simple
que contiene a los tres.
g ) Para cualesquiera tres vértices de G, hay un camino simple que
contiene a dos de ellos y no al tercero.

20.

Teorema 13 (Tutte). Un grafo es 3-conexo ⇔ es un Wn o se obtie-


ne de un Wn por una síntesis de Tutte, que para un grafo rueda Wn ,
consiste en agregar una arista entre dos vértices no adyacentes o re-
emplazar un vértice con g ≥ 4 por dos nuevos vértices unidos por una
arista

21.

Teorema 14 (Harary). El grafo Hk,n obtenido por la construcción


de Harary es k -conexo y tiene la mínima cantidad de aristas
El grafo de Harary Hk,n se construye de la siguiente manera: se co-
mienza con un Cn y se numeran sus vértices de 0 a n − 1 en sentido
horario. Luego:

7
Mate Discreta

Si k = 2r, o sea k par, dos vértices van a estar unidos si la distancia


entre ellos es ≤ r. Esta distancia se puede considerar en sentido
horario o antihorario.
Si k = 2r + 1 y n es par, entonces se construye el mismo grafo
que en el caso anterior (o sea, H2r,n ) y luego se agregan los n/2
diámetros del Cn original.
Si k = 2r + 1 y n es impar, se construye el mismo grafo del caso
k par, y se agregan las siguientes aristas (cuasidiámetros): del
vértice 0 a los vértices n+1 n−1 n+1
2 y 2 , y del vértice i al vértice i + 2
para 1 ≤ i ≤ n−32

El grafo construido por Harary tiene d kn


2 e aristas.

22. Por el teorema de Harary, el mínimo número de aristas para que un


grafo sea k -conexo es d kn
2 e

23.

Teorema 15 (Menger). Sean 2 vértices no adyacentes en un grafo


conexo. Entonces, el máximo número de caminos disjuntos entre dichos
vértices es igual al mínimo número de vértices necesarios para separar
los vértices.

2.4. Planaridad
1. Notaciones #EG = e #Rg = r #VG = v .

2. Regiones de un grafo plano Son las regiones delimitadas por las aristas
de una inmersión en el plano de un grafo. El grado de una región es la
longitud del camino cerrado más corto que determina su frontera.

3.

Proposición 4. Para una inmersión plana de un grafo G,


X
g(Ri ) = 2e
Ri ∈G

4.

Teorema 16 (Euler). Para todo grafo plano, v − e + r = 2.


5.

Proposición 5. Si G es un grafo simple sin lazos y conexo, entonces


3r ≤ 2e y e ≤ 3v − 6.

6.

8
Mate Discreta

Proposición 6. Si G es un grafo conexo plano bipartito, entonces


2e ≤ 4 y e ≤ 2v − 4

7.

Teorema 17. Si H es un subgrafo de G y H no es plano, entonces G


no es plano.

8. Homeomorsmo Dos grafos son homeomorfos si uno puede obtenerse


a partir del otro por subdivisiones elementales (o sea, enchufando un
vértice en una arista, o sacando un vértice y uniendo entre sí las aristas
que quedan sueltas)

9.

Teorema 18 (Kuratowski). Un grafo no es plano ⇔ contiene un


subgrafo K3,3 o K5 o un homeomorfo a cualquiera de éstos dos.

2.4.1. Bloques de un grafo

10. Bloque Es un subgrafo maximal que no contiene ningún vértice de


corte. Entonces, si un bloque tiene al menos 3 vértices, es un subgrafo
maximal 2-conexo, si no, es un vértice aislado o un dipolo.

11.

Proposición 7. Todo grafo no trivial tiene 2 o más vértices que no


son vértices de corte.

12.

Corolario 5. Las aristas de los bloques de un grafo constituyen una


partición del conjunto de aristas de éste.

13.

Corolario 6. Si v es un vértice de un grafo G, v es vértice de corte


⇔ v está en dos bloques distintos de G.

14.

Corolario 7. Si B1 y B2 son dos bloques de un grafo, y v1 y v2 aparecen


respectivamente en cada uno de ellos, y además ninguno es vértice de
corte, entonces v1 y v2 no son adyacentes.

15. Grafo Bloque Tiene un vértice por cada bloque del grafo original, y dos
vértices del grafo bloque están unidos si los bloques tienen un vértice
en común.

9
Mate Discreta

16. Bloque hoja Contiene exactamente un vértice de corte del grafo.

17.

Proposición 8. Si un grafo tiene al menos 1 vértice de corte, entonces


tiene al menos 2 bloques hoja.

2.4.2. Amalgamado de grafos planos

18.

Corolario 8. Si H y J son grafos planos, y si tomamos hasta 3 vértices


sobre la frontera de una región de H e idem vértices sobre la frontera
de una región de J , el amalgamado de H y J es plano.
Entonces, si tomamos más de 3 vértices o vértices de regiones distintas,
el amalgamado puede no ser plano.

2.5. Grafo Dual


1. Construcción Colocar un vértice en cada región del grafo (debe ser
plano) (incluída la innita) y luego se unen los vértices con aristas de
modo tal que cada arista del grafo dual cruce una vez a cada arista de
la frontera de la región donde se encuentran los vértices.

2. Si en la frontera de una región una arista se recorre dos veces (arista


colgante) en el dual dibujamos un lazo que cruce dicha arista.

3. Si la frontera de una región es un lazo (y en dicha región no hay vér-


tices), dibujamos una arista colgante en el dual.

4. El grado de un vértice en el dual es igual a la cantidad de aristas de la


frontera de la región donde está el vértice.

5. El dual tiene tantos vértices como regiones el grafo original.

6. El dual tiene la misma cantidad de aristas que el grafo original.

7. El dual tiene tantas regiones como vértices el grafo original.

8. Según cómo se dibuje el grafo original, el dual puede cambiar. Entonces,


el dual no es único, pero sí es único para una inmersión plana dada.

9. Los ciclos de n aristas en el grafo se corresponden a conjuntos de corte


de n aristas en el dual, y los lazos en el grafo se corresponden con
aristas de corte en el dual.

10
Mate Discreta

2.6. Coloreo
1. Un coloreo tal que dos vértices adyacentes cualesquiera tengan distinto
color es un coloreo propio. Si para un grafo existe un coloreo propio
con k colores, el grafo es k -coloreable.

2. χ(G) es el número cromático de un grafo (la mínima cantidad de colores


necesaria para establecer un coloreo propio). Si se exhibe un k -coloreo
propio, entonces χ(G) ≤ k . Si además se puede vericar que χ(G) ≥ k ,
justicamos que χ(G) = k para este grafo.

3.

Proposición 9. Si un grafo tiene k vértices adyacentes, entonces χ(G) ≥


k.
Grafo χ(G)
Kn n
Km,n 2
Pn 2
T 2
4.
Qn 2
C2n 2
C2n+1 3
W2n+1 3
W2n 4

5. Un grafo es k -crítico si χ(G) = k y G − e es k − 1-coloreable, donde e


es cualquier arista.

6.

Proposición 10. Si G es un grafo k-crítico, y v es un vértice de G,


entonces G − {v} es k − 1-coloreable.

7.

Teorema 19. Si G es un grafo k-cromático, entonces ningún vértice


de G tiene g(v) < k − 1.

8. Una k -obstrucción es un subgrafo que fuerza a todo grafo que lo con-


tenga a tener χ(G) > k .

9. Conjunto completo de k -obstrucciones Es un conjunto de grafos k + 1-


críticos tal que todo grafo k + 1-cromático contiene algún miembro de
este conjunto.

10.

11
Mate Discreta

Proposición 11. » ¼
VG
χ(G) ≥
ind(G)
donde ind(G es el máximo número de vértices no adyacentes del grafo
G.

11.

Proposición 12. Si G y H son dos grafos, χ(G + H) = χ(G) + χ(H)


donde G + H es el grafo que se obtiene agregando una arista entre cada
vértice de G y cada vértice de H

12.

Teorema 20. Sea δmax (G) el máximo grado de un vértice de un grafo.


Entonces χ(G) ≤ δmax + 1

13.

Teorema 21 (Brooks). Si G es un grafo simple conexo no completo,


y δmax (G) ≥ 3, entonces χ(G) ≤ δmax (G).

2.6.1. Coloreo de Mapas

14. Si una región de un mapa tiene una frontera con sí misma, el mapa no
tiene coloreo propio.

15.

Proposición 13. El número cromático del mapa es igual al número


cromático de su grafo dual.

16. Si dos regiones de un mapa se tocan en un vértice pero no a lo largo


de una arista, pueden tener el mismo color.

17.

Teorema 22 (Appel & Haken). Todo grafo plano es 4-coloreable.

3. Árboles
1. Árbol : grafo conexo sin ciclos.

2.

Proposición 14. Si e es una arista de un grafo G, G − e es conexo


⇔ e es una arista ciclo.

12
Mate Discreta

3.

Corolario 9. Una arista es arista de corte ⇔ no es arista ciclo.


4.

Proposición 15. Todo árbol con al menos 1 arista tiene al menos 2


vértices de grado 1.

5.

Corolario 10. Si todo vértice de un grafo tiene grado mayor o igual


a 2, el grafo tiene un ciclo

6.

Proposición 16. Un árbol con n vértices tiene n − 1 aristas.


7.

Corolario 11. Un bosque G con n vértices tiene n − k(G) aristas,


donde k(G) es la cantidad de componentes.

8. Caracterizaciones de un árbol

a ) T es un árbol.
b ) T no contiene ciclos y tiene n − 1 aristas.
c ) T es conexo y tiene n − 1 aristas.
d ) T es conexo y toda arista es arista de corte.
e ) Todo par de vértices de T está conectado por exactamente un
camino.
f ) T no contiene ciclos, y para cualquier nueva arista e, T +e contiene
exactamente un ciclo.

9.

Teorema 23. Si T es un árbol con n vértices y G un grafo tal que


δmin (G) ≥ n − 1, entonces T es un subgrafo de G.

3.1. Árboles con raíz


10. Un árbol con raíz es un árbol dirigido donde existe un vértice (la raíz)
tal que existe un camino directo de dicho vértice a todos los restantes.

11.

Teorema 24. Un árbol es representable como árbol con raíz ⇔ un


vértice tiene grado de entrada 0 y los restantes grado de entrada 1.

13
Mate Discreta

12. Profundidad de un vértice Distancia desde la raíz (o sea, cantidad de


aristas que se recorren desde la raíz al vértice). Por lo tanto, la raíz
tiene profundidad 0.

13. Altura de un árbol Máxima profundidad de un vértice de dicho árbol.

14. Árbol m-ario Todo vértice tiene m o menos hijos.

15.

Proposición 17. Un árbol m-ario tiene a lo sumo mk vértices a pro-


fundidad k .

16.

Teorema 25. Si h es la altura de un árbol m-ario y n su cantidad de


vértices,
mh+1 − 1
h+1≤n≤
m−1

17. Isomorsmo de árboles con raíz Ídem al isomorsmo normal, pero la


raíz de un árbol debe mapearse a la raíz del otro (por lo tanto, dos
árboles pueden ser isomorfos, pero también pueden ser no isomorfos
como árboles con raíz).

3.2. Árboles Binarios


18. Un árbol binario tiene a lo sumo 2h+1 − 1 vértices, donde h es la altura
del árbol.

19. Código prejo Ninguna palabra del mismo es el comienzo de otra pa-
labra.

20. Los códigos ecientes se construyen de modo tal que las palabras de
menor longitud son aquellas que más aparecen.

21. Recursión de Catalan Sea bn la cantidad de árboles binarios de n vér-


tices. Entonces, bn = b0 bn−1 + b1 bn−2 + . . . + bn−1 b0

22.

Teorema 26. µ ¶
1 2n
bn =
n+1 n

23. Orden por nivel: Lista de los vértices en orden creciente de profundidad,
de modo tal que los vértices a un mismo nivel se listan de acuerdo al
orden prejado.

14
Mate Discreta

24. Pre-orden: Se recorre el árbol dejándolo a la izquierda y se listan los


vértices la primera vez que se los ve.

25. Post-Orden: Idem que arriba, pero se listan los vértices la última vez
que se los ve.

26. In-Orden: Se recorre el árbol dejándolo a la izquierda y se listan las


hojas la primera vez que se las ve, y los vértices internos la segunda
vez que se los ve.

27. Árbol de expresión: En la raíz se lista el operador que se aplica a los


subárbol izquierdo y derecho, cada uno de los cuales representa uno de
los operandos del operador.

28. Árbol de Búsqueda binario: Cada vértice tiene asignada una clave de
modo tal que dicha clave es mayor a todas las claves del subárbol
izquierdo, y menor a todas las claves del subárbol derecho.

29. Árbol balanceado: Para todo vértice, la cantidad de vértices de su sub-


árbol izquierdo diere a lo sumo en 1 de la cantidad de vértices de su
subárbol derecho.

30. Inserción de un vértice en un árbol de búsqueda: Buscar la hoja que


corresponda según la denición e insertar.

31. Borrado de un vértice en un árbol de búsqueda:

Si el vértice no tiene hijo izquierdo se lo reemplaza por su subárbol


derecho.
Si el vértice no tiene hijo derecho se lo reemplaza por su subárbol
izquierdo.
Si el vértice tiene ambos hijos se lo reemplaza por el mínimo
elemento de su subárbol derecho

3.3. Árboles Recubridores


32.

Proposición 18. Si T es un árbol en un grafo G, y e es una arista


frontera de T (o sea, e tiene un extremo en T y el otro en G pero no
en T ) entonces T + e es un árbol.

33. DFS La idea es construir un árbol recubridor de modo tal que el árbol
sea lo más largo y lo menos ancho posible. O sea, ir metiéndose en
el grafo depth rst.

34.

15
Mate Discreta

Proposición 19. Sea T un árbol producido por DFS y sea e una arista
que no pertenece al árbol pero sí al grafo tal que sus extremos v y w
satisfacen df nro(v) < df nro(w). Entonces v es un ancestro de w en el
árbol T .

35. BFS La idea es construir el árbol de modo que sea lo más ancho
posible, o sea eligiendo los vértices breadth rst

36.

Proposición 20. Cuando se aplica BFS, los extremos de una arista


que no está en el árbol están al mismo nivel o a niveles consecutivos.

37.

Proposición 21. Si se aplica DFS a un grafo G, la raíz del árbol


resultante es vértice de corte de G ⇔la raíz tiene más de un hijo en el
árbol.

38.

Proposición 22. Si se aplica DFS a un grafo G, un vértice v 6= r es


vértice de corte de G ⇔v tiene un hijo w tal que ningún descendiente
de w está unido a un ancestro de v por una arista en G − T .

39. Menor mı́n df nro(w), α donde α es el mínimo df rnro de los vértices


unidos a algún descendiente de w por una arista de G − T .

40.

Corolario 12. Si se aplica DFS a un grafo G, un vértice v 6= r es


vértice de corte de G ⇔v tiene un hijo w tal que menor(w) ≥ df nro(v).

41. Algoritmo de Prim La idea es ir tomando la arista frontera con menor


peso (comenzando por un vértice cualquiera s) y agregar dicha arista
y su extremo al árbol.

42. Algoritmo de Kruskal La idea es ir agregando las aristas de menor


peso en forma creciente, cuidando que no se agregue ninguna arista
que forme un ciclo con las que ya hay.

4. Redes de ujo
1. Conjunto de corte Sean Vf e Vs dos conjuntos de vértices de la red
tal que f ∈ X y s ∈ Vs . Entonces el corte < Vf , Vs > es el conjunto
de aristas con cola en Vf y cabeza en Vs . Entonces, está claro que
< Vf , Vs >6=< Vs , Vf >

16
Mate Discreta

2. El valor de un ujo val(f ) es el ujo neto que sale de la fuente.

3. Flujos posibles. Un ujo posible verica que: f (e) ≤ cap(e) para toda
arista e (cota de capacidad) y la suma de los ujos entrantes a un
vértice es igual a la suma de los ujos salientes, si dicha arista no es ni
la fuente ni el sumidero (conservación del ujo).

4. Flujo máximo Es el ujo posible de máximo valor, denotado f ∗

5.

Proposición 23. Si < Vf , Vs > es un corte, entonces todo camino


directo f, s tiene al menos un arco en < Vf , Vs >

6.

Proposición 24. Para un ujo dado, val(f ) es la diferencia entre la


suma de los ujos sobre un corte < Vf , Vs > y la P suma de los ujos
sobre el corte opuesto < Vs , Vf > (o sea, val(f ) = e∈<Vf ,Vs > f (e)−
P
e∈<Vs ,Vf > f (e)

7. Capacidad de un corte Es la suma de las capacidades de los arcos que


lo conforman.

8.

Proposición 25. Para todo ujo y para todo corte, val(f ) ≤ cap(<
Vf , Vs >)

9.

Corolario 13. Sea f un ujo y < Vf , Vs > un corte. Si val(f ) =


cap(< Vf , Vs >), entonces f es un ujo máximo y el corte es un corte
mínimo.

10.

Corolario 14. Si f es un ujo tal que para un corte dado, f (e) =


cap(< Vf , Vs >) si e ∈< Vf , Vs > y f (e) = 0 sino, entonces f es un
ujo máximo y el corte es un corte mínimo.

11. Cuasicamino Es un camino en el grafo subyacente a la red (o sea, puede


estar compuesto de arcos en sentidos opuestos)

12. Camino aumentativo Es un cuasicamino que verica f (e) < cap(e) si


e es un arco hacia adelante y f (e) > 0 si e es un arco hacia atrás

13.

17
Mate Discreta

Teorema 27. Si f es un ujo en una red N , entonces f es máximo


⇔no existe un camino aumentativo en N

14.

Teorema 28. Para una red cualquiera, el valor del ujo máximo es
igual al del corte mínimo.

15.

Proposición 26. Si N es una red tal que gsal (f ) − gent (f ) = m =


gent (s) − gsal (s) y gsal (v) = gent (v) para todo vértice v 6= f, s, entonces
existen m caminos f − s de arcos disjuntos en N .

16.

Proposición 27. Si N es una red tal que todos sus arcos tienen cap =
1, entonces el valor del ujo máximo es igual al máximo número de
caminos directos simples f − s de arcos disjuntos.

17. Conjunto de Aristas separadoras Para dos vértices distintos de un di-


grafo, es un conjunto de aristas tal que su remoción destruye todo
camino directo entre los vértices.

18.

Proposición 28. Si N es una red con capacidad 1, la capacidad de un


corte mínimo es igual al mínimo número de arcos separadores de f y s

19.

Teorema 29 (Menger). Si f y s son dos vértices distintos de un


digrafo, el máximo número de caminos simples directos disjuntos por
arcos f − s es igual al mínimo número de arcos separadores f − s

20. La conectividad local por aristas entre dos vértices f y s (Ke (f, s)) es
el mínimo número de aristas que separan f de s

21.

Proposición 29.
Ke (G) = mı́n Ke (f, s)
f,s∈VG

22.

Proposición 30. La conectividad por aristas de un grafo es igual a


la conectividad local por aristas entre dos vértices de cada una de las
particiones de un corte mínimo.

18
Mate Discreta

5. PERT
1. Matrices de Precedencia Los eventos tales que su columna es todo 0
salen del evento inicial. Los eventos tales que su la es todo 0 llegan al
evento nal.

2. La primera fecha de comienzo de una tarea i, j es igual a la fecha


temprana del evento i.

3. La primera fecha de nalización de una tarea es igual a la primera


fecha de comienzo más la duración de la tarea.

4. La fecha temprana de un evento es igual al máximo de las primeras


fechas de nalización de las tareas que llegan a dicho evento.

5. Para determinar fechas tempranas y primeras fechas se comienza por


el primer evento de la red.

6. La última fecha de nalización de una tarea i, j es igual a la fecha


tardía del evento j

7. La última fecha de comienzo de una tarea i, j es igual a la última fecha


de nalización menos la duración de la tarea.

8. La fecha tardía de un evento es igual al mínimo de las últimas fechas


de nalización de las tareas que salen de dicho evento.

9. Para determinar fechas tardías y últimas fechas se comienza por el


último evento.

10. Margenes

a ) Margen del suceso i: FTi − Fti


b ) Margen independiente de la tarea i, j : Ftj −Fti −dij . Esto describe
cuánto tiempo voy a tener en el evento j hasta que llegue su fecha
temprana, si decido empezar la tarea en la fecha tardía del evento
i. (O sea, hago peligrar las tareas anteriores pero no las futuras)
c ) Margen libre de la tarea i, j : Ftj − Fti − dij . Parecido al anterior,
pero si se empieza la tarea en la fecha temprana del evento en
lugar de en la fecha tardía. (O sea, no peligra ninguna tarea)
Margen total de la tarea i, j : FTj − Fti − dij . Este hace peligrar
las tareas anteriores y posteriores.

11. Suceso Crítico: El margen del suceso es 0.

12. Tarea Crítica: Tiene margen total 0. (Toda tarea crítica está entre dos
sucesos críticos)

19
Mate Discreta

13. Camino Crítico: Asociación ininterrumpida de tareas críticas desde el


suceso inicial al nal. (Puede haber más de uno)

14. Diagramas Calendario. La tarea crítica va abajo de todo. Si el diagrama


es en fecha temprana empiezo de izquierda a derecha. Si es en fecha
tardía de derecha a izquierda

15. VAN
N
X In − En
(1 + i)n
n=1

donde In son los ingresos del período n, En los egresos e i el interés.

16. Tiempos

a ) Tiempo más probable Tm (Moda de los tiempos.)


b ) Tiempo optimista To
c ) Tiempo pesimista Tp
d ) Tiempo esperado Te Es el que se usa, es igual a

To + Tp + 4 Tm
6
17. Aceleración de Tareas aumentando recursos Consiste en bajar el tiem-
po de una tarea alocándole más recursos. El mínimo tiempo en que se
puede llevar a cabo una tarea es To , y el costo asociado a dicho tiempo
es el costo crash. Consideramos que la disminución del tiempo es lineal
en función del costo. Entonces, teniendo dos puntos de la recta (tiem-
po y costo actual, y tiempo y costo crash por ejemplo) construimos la
ecuación de la recta y evaluamos en el tiempo que deseamos.

6. Problemas P y NP
1. Un problema es clase P si existe un algoritmo de complejidad polinómi-
ca que lo resuelva (o bien, si existe una máquina de Turing determinista
que lo acepte en tiempo polinómico)

2. Un lenguaje es decidible en tiempo polinómico si existe una máquina de


Turing determinista que para cada entrada del alfabeto pueda decidir
si pertenece o no al lenguaje.

3.

Teorema 30. Si una máquina de Turing acepta un lenguaje en tiempo


polinómico, entonces existe una máquina de Turing que decide L en
tiempo polinómico

20
Mate Discreta

4.

Corolario 15. Los lenguajes de la clase P son decidibles


5. Es equivalente hablar de los lenguajes que aceptan las máquinas de
Turing en tiempo polinómico, los lenguajes que deciden las máquinas
de Turing en tiempo polinómico y los problemas de decisión que se
pueden resolver en tiempo polinómico (todos son equivalentes a la clase
P)

6. Un lenguaje es clase NP si existe una máquina de Turing no determi-


nista que lo acepte en tiempo polinómico.

7. Reducción polinómica Si Σ1 y Σ2 son dos alfabetos y L1 ⊆ Σ1 , L2 ⊆


Σ2 , f : Σ∗1 → Σ∗2 es una reducción polinómica si verica w ∈ L1 ⇔
f (w) ∈ L2 y f se puede calcular por una máquina de Turing en tiempo
polinómico. Por lo tanto, para construir una reducción polinómica, se
debe:

a ) Proponer la función
b ) Construir la máquina de Turing que la compute en tiempo poli-
nómico.
c ) Probar la condición que debe cumplir.

8.

Teorema 31. Si L1 se reduce polinómicamente a L2 y L2 es clase P


entonces L1 es clase P.

21

Você também pode gostar