Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Características generales:

-Set de candidatos: a tomar en cuenta.
-Set de candidatos considerados: fueron elegidos para la solución.
-Set de candidatos rechazados: fueron rechazados y ya no serán tomados en cuenta.

+Función solución: verifica que los candidatos den una solución al problema. 
+Función factibilidad: verifica si los candidatos son factibles para obtener una solución.
+Función de selección: selecciona de los candidatos aún no seleccionados, cuál es el más prometedor.
+Función objetiva: nos da la solución que hemos encontrado. Esta puede no estar explícitamente en el código.

 

MSTs:

Grafo conexo, pesado y no dirigido.
Debe tener n-1 arcos, n es la cantidad de nodos totales. Esto para que no hayan ciclos.

 

Kruskal:

Algoritmo para MST, que comienza vacío, y va agregando T resultado.

Agrega de forma creciente según el peso, y no le importa los nodos, solo no formar ciclos.

-> 8(a log n). n nodos y a arcos.

 

Prim:

Se inicia de una raíz arbitraria, cada paso agrega un nuevo nodo, hasta que todos los nodos se hayan incluído.

-> 8(n^2)

Es mejor usar Prim que Kruskal cuando a>n^2/log n, a es cantidad de arcos

 

Camino más corto(Dijkstra):

Se selecciona un nodo, y se quiere saber el camino más corto para llegar a todos los otros nodos.

C es nodos candidatos, D es solución (largos).

-> Normal: 8(n^2)

 

Problema de la mochila:

Se busca llenar una mochila con un peso máximo, con objetos con un peso y un valor, se busca el mayo valor respetando ese peso. Se pueden dividir objetos.

->O(n log n)

 

Planificación:

Minimizar tiempo en el sistema:

Un solo servicio, como un mae en un banco, procesador, etc. Tiene n clientes que atender, se sabe cuanto va a durar cada cliente. Se quiere minimizar el tiempo promedio de espera.

El caso óptimo es atender primero a los de menor tiempo primero.  Sólo es necesario ordenar esos tiempos. Los nuevos que lleguen se acomodan al final y se vuelve a poner en orden creciente.

-> solo es ordenar, O(n log n)

 

Planificación con tiempos de entrega:

Tenemos trabajos con valor y tiempo. Se elije una secuencia que se pueda hacer en el tiempo indicado y nos de mayor ganancia.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Grafos y backtracking:

 

Ancestralidad:

v ancestro de w si:

-(prenum de v <= prenum de w) y (postnum de v >= de postnum de w)

 

Busqueda en profundidad: