Você está na página 1de 17

TEORIA DE LA

COMPUTACIN
CAPTULO 1

PROBLEMAS Y ALGORITMOS

Grfico de Accesibilidad

Flujo mximo

Coincidencia

Problema del vendedor Viajante

Grfico de Accesibilidad
Problema 1 Dado un grafo dirigido G = (V, E), donde V = { 1, 2, . . . , n} ,
Cual es el camino desde el nodo 1 al nodo n.

1435

ALgoritmo
1.

Sea S = {1}.

2.

Si S est vaca, vaya a 5; de lo contrario, eliminar un nodo, decir t,


en S.

3.

Para cada borde (t, u) E, si u no est marcada, marque u y


aadir u a S.

4.

Ir a 2.

5.

Si el nodo n se marca, la respuesta "s"; de lo contrario responder


"no".

Problema 1.4.2

Mostrar por induccin sobre i que si v es el nodo i-simo aadido


por el algoritmo de bsqueda para el conjunto S, entonces hay un
camino desde el nodo 1 a v.

Mostrar por induccin en l que si el nodo v es accesible desde el


nodo 1 a travs de un camino con L bordes, entonces el algoritmo
de bsqueda aadir v para establecer S.

EJEMPLO
S

t
1
3

{ 1}
1

5
{ 3, 4}
5

{ 5, 4}
{ 5}
{}

COMPLEJIDAD
1.

Observe que cada nodo puede permanecer en S como mximo


una vez.

2.

Cada borde se utiliza como mximo una vez.

3.

Hay en la mayora de los bordes de N^2.

4.

La complejidad de tiempo es en la mayora de n^2.

5.

complejidad espacial es n.

OBSERVACIN
1.

Cmo implementar el Paso 2 en el algoritmo?


Pila => DFS, cola => BFS

2.

Cmo implementar Paso 3? Memoria de acceso aleatorio.

3.

Cul es el modelo computacional?

4.

Big-O.

Algoritmo de tiempo Polinmico

tiempo polinomial prctico, eficiente

tiempo exponencial imprctico, ineficiente (intratable)

Algoritmo n80 v.s. Algoritmo 2n/100

Peor Caso V.S. caso promedio

El rendimiento de un algoritmo exponencial en el peor caso se


debe a una fraccin insignificante estadstica en laentrada.

Flujo mximo

Una red N = (V, E, s, t, c) es un grfico (V, E) con dos nodos s


especificados (la fuente) y T (el pozo) tal que

la fuente no tiene bordes entrantes y el pozo no tiene bordes salientes;

para cada arista (i, j), se nos da una capacidad de c (i, j), un entero
positivo.

Una Red
2

Flujo
1.

una asignacin de un valor entero no negativo f (i, j) c (i, j) para


cada arista (i, j);

2.

para cada nodo, aparte de s y t, la suma de los fs de los bordes


entrantes es igual a la suma de los bordes salientes; ()

3.

el valor de un flujo es la suma de los flujos en los bordes dejando s


(o, equivalentemente, la suma de venir a T).

Mximo Problema de Flujo

Dada una red, encontrar un flujo del mayor valor posible.

1/1
4/3

2/1

2/2

3/3

3/1
1/1

Algoritmo
1/1

2/1

2/0

3/0

1/0

1/1

2/1

4/1

2/0

3/1

3/0

4/1

1/1

3/1

1/1
2/1

4/3

2/2

3
3/3

1/1

3/1

Otro Ejemplo

Requerir un tiempo de O(n3C) en el peor de los casos!

Mejoras

La heurstica de la ruta ms corta puede reducir el tiempo para


O(n5)

Coincidencia Bipartita

Un grafo bipartito es un triple B = (U, V, E) donde U = {u1,. . . , Un}, V =


{v1,. . . , Vn}, y E U V.