Está en la página 1de 7

TRABAJO COLABORATIVO.

PRESENTADO POR: MARIA PAOLA MADERA MOYA,


SERGIO ANDRES OTERO BEHAINE Y FRANK ELIAS PETRO
PAJARO.

MATEMÁTICAS DISCRETAS.

TUTOR: RAFAEL ESCALANTE.

UNIVERSIDAD DE CARTAGENA CENTRO TUTORIAL


CERETE.

FACULTAD DE INGENIERÍA.

PROGRAMA: INGENIERÍA DE SOFTWARE.

SEMESTRE IV.

CERETE CÓRDOBA COLOMBIA.


22 DE ENERO DE 2023.
Grafos planos.
Un grafo plano es aquel en que sus aristas no se cruzan, salvo en sus vértices. Todo
grafo plano puede ser dibujado sobre la esfera, y viceversa. Una generalización de los
grafos planos son grafos dibujados e incrustados sobre superficies de género
arbitrario. En esta terminología, los grafos planos tienen género 0, por ser el plano y la
esfera de género 0.
Un ejemplo ilustrativo de los tragos planos es el de los cables de un circuito
electrónico, que si se cruzan a la hora de unir distintos componentes, se puede
producir un cortocircuito.

Coloreados de grafos.
En Teoría de grafos, la coloración de grafos es un caso especial de etiquetado de
grafos; es una asignación de etiquetas llamadas colores a elementos del grafo. De
manera simple, una coloración de los vértices de un grafo tal que ningún vértice
adyacente comparta el mismo color es llamado vértice coloración. Similarmente, una
arista coloración asigna colores a cada arista talque aristas adyacentes no compartan
el mismo color, y una coloración de caras de un grafo plano a la asignación de un color
a cada cara o región tal que caras que compartan una frontera común tengan colores
diferentes. El vértice coloración es el punto de inicio de la coloración, y los otros
problemas de coloreo pueden ser transformados a una versión con vértices. Por
ejemplo, una arista coloración de un grafo es justamente una vértice coloración del
grafo línea respectivo, y una coloración de caras de un grafo plano es una vértice
coloración del grafo dual.
ALGORITMOS HEURÍSTICOS PARA EL COLOREADO DE GRAFOS
Se trata de colorear los nodos de un grafo de forma que no haya dos nodos adyacentes
del mismo color, utilizando el mínimo número de colores posible.
Los siguientes algoritmos solucionan el problema del coloreado de grafos:
Algoritmo Secuencial o Voraz.
Este algoritmo sigue una estrategia voraz, es decir comienza la coloración de los
vértices según orden de los éstos en la matriz de adyacencias del grafo. La coloración
se realiza siguiendo los siguientes pasos.

 Ingresamos el número de nodos y las aristas, se llenan los datos y creamos la


matriz de adyacencias.
 (Inicia Algoritmo Secuencial)Se tienen ordenados los vértices de 1 a n, y se
selecciona el primero en la lista y se colorea o se etiqueta con el 1.
 Se toma el siguiente vértice y se colorea o etiqueta con en el menor número
admisible; es decir, se verifican adyacencias.
 Se repite el paso (3) hasta que todos los vértices hayan sido coloreados.
 Se imprime la solución.
Algoritmo de coloración Welsh- Powell.
En este algoritmo la única diferencia respecto al algoritmo voraz es el orden en el que
se realiza la coloración de vértices. En este caso los vértices se ordenan de mayor a
menor grado es decir en función del número de vértices adyacentes
ALGORITMO:

 Se ordenan los vértices de mayor a menor grado, se selecciona el primero en la


lista y se colorea o se etiqueta con el 1.
 Se toma el siguiente vértice y se colorea o etiqueta con en el menor número
admisible; es decir, se verifican adyacencias.
 Se repite el paso (2) hasta que todos los vértices hayan sido coloreados.
 Se imprime la solución.
Algoritmo de coloración Matula-Marble-Isaccson
La única diferencia respecto a los otros dos algoritmos de coloraciones el orden en el
que se realiza la coloración vértices. En este caso el orden de los vértices es inverso al
proceso de selección.
Primero se elige V(n) como el vértice menor grado, luego se elige V(n-1) como el
vértice de menor grado en G-{V(n)} (prescindiendo del vértice V(n)), y así se continua
examinando los vértices de menor grado.
ALGORITMO:

 Se ordenan los vértices de menor a mayor grado, se selecciona el primero en la


lista y se colorea o se etiqueta con el 1.
 Se toma el siguiente vértice y se colorea o etiqueta con en el menor número
admisible; es decir, se verifican adyacencias.
 Se repite el paso (2) hasta que todos los vértices hayan sido coloreados.
 Se imprime la solución.

Representación de grafos en la memoria de la computadora.


Existen diferentes formas de representar un grafo (simple), además de la geométrica y
muchos métodos para almacenarlos en una computadora. La estructura de datos
usada depende de las características del grafo y el algoritmo usado para manipularlo.
Entre las estructuras más sencillas y usadas se encuentran las listas y las matrices,
aunque frecuentemente se usa una combinación de ambas. Las listas son preferidas en
grafos dispersos porque tienen un eficiente uso de la memoria. Por otro lado, las
matrices proveen acceso rápido, pero pueden consumir grandes cantidades de
memoria.
Estructura de Lista
Lista de incidencia Las aristas son representadas con un vector de pares (ordenados, si
el grafo es dirigido), donde cada par representa una de las aristas.
Lista de adyacencia: Cada vértice tiene una lista de vértices los cuales son adyacentes a
él. Esto causa redundancia en un grafo no dirigido (ya que A existe en la lista de
adyacencia de B y viceversa), pero las búsquedas son más rápidas, al costo de
almacenamiento extra. Lista de grados También llamada secuencia de grados o
sucesión gráfica de un grafo no-dirigido es una secuencia de números, que
corresponde a los grados de los vértices del grafo.
Estructuras Matriciales
Matriz de incidencia: El grafo está representado por una matriz de A (aristas) por V
(vértices),donde [arista, vértice] contiene la información de la arista (1 – conectado, 0
– no conectado)Matriz de adyacencia El grafo está representado por una matriz
cuadrada M de tamaño, donde es el número de vértices. Si hay una arista entre un
vértice x y un vértice y, entonces el elemento es 1 de lo contrario es cero.

Algoritmos de grafos.
Existen un sin número de algoritmos de grados o que hacen uso de estos, entre los
cuales podemos encontrar los siguientes.

 Algoritmo de Bellman-Ford
 Algoritmo de Boruvka
 Algoritmo de búsqueda A*
 Algoritmo de Christofides
 Algoritmo de Cuthill-McKee
 Algoritmo de Dijkstra
 Algoritmo de Edmond
 Algoritmo de Emparejamiento de Edmonds
 Algoritmo de Floyd-Warshall
 Algoritmo de Johnson
 Algoritmo de Prim
 Algoritmo de propagación de creencias
 Algoritmo del vecino más próximo
 Algoritmos de búsqueda en grafos
 Algoritmo de Dinic
 Algoritmo de Edmonds-Karp
 Algoritmo de Ford-Fulkerson
 Algoritmo de Kruskal
El problema del agente viajero.
El problema del agente viajero responde a la siguiente pregunta: dada una lista de
ciudades y las distancias entre cada par de ellas, ¿cuál es la ruta más corta posible que
visita cada ciudad exactamente una vez y al finalizar regresa a la ciudad origen? Este es
un problema NP-Hard dentro en la optimización combinatoria, muy importante en
investigación operativa y en ciencias de la computación.
El problema fue formulado por primera vez en 1930 y es uno de los problemas de
optimización más estudiados. Es usado como prueba para muchos métodos de
optimización. Aunque el problema es computacionalmente complejo, se conoce gran
cantidad de heurísticas y métodos exactos, así que es posible resolver planteamientos
concretos del problema desde cien hasta miles de ciudades.
El TSP tiene diversas aplicaciones aún en su formulación más simple, tales como: la
planificación, la logística y la fabricación de circuitos electrónicos. Un poco modificado,
aparece como subproblema en muchos campos como la secuenciación de ADN. En
esta aplicación, el concepto de “ciudad” representa, por ejemplo: clientes, puntos de
soldadura o fragmentos de ADN y el concepto de “distancia” representa el tiempo de
viaje o costo, o una medida de similitud entre los fragmentos de ADN. En muchas
aplicaciones, restricciones adicionales como el límite de recurso o las ventanas de
tiempo hacen el problema considerablemente difícil. El TSP es un caso especial de los
Problemas del Comprador Viajante (travelling purchaser problem).
En la teoría de la complejidad computacional, la versión de decisión del TSP (donde,
dada una longitud “L”, el objetivo es decidir si el grafo tiene un camino menor o igual
que L) pertenece a la clase de los problemas NP-completos. Por tanto, es probable que
en el caso peor el tiempo de ejecución para cualquier algoritmo que resuelva el TSP
aumente de forma exponencial con respecto al número de ciudades.
Descripción de TSP
Se tiene un número de nodos (ciudades, localidades, tiendas, empresas, etc.) que
deben ser visitados por una entidad (persona, agente viajero, automotor, avión,
autobús, etc.), sin visitar 2 veces el mismo nodo. Si tenemos 3 nodos (a, b y c) por
visitar, entonces tendríamos una función de combinaciones sin repetición c(3,2), es
decir, tendríamos 6 posibles soluciones: abc, acb, bac, bca, cab, cba, para el caso de 4
nodos tendríamos 12 combinaciones, para 10 nodos tendríamos 90 combinaciones,
para 100 ciudades tendríamos 9,900 combinaciones y así sucesivamente. Como
ejemplo en el problema del Ulises de Homero que intenta visitar las ciudades descritas
en la Odisea exactamente una vez (16 ciudades) donde existen múltiples conexiones
entre las diferentes ciudades, Grötschel y Padberg (1993) llegó a la conclusión de que
existen 653,837’184,000 rutas distintas para la solución de este problema.
Algoritmo base
El Problema del Agente Viajero (TSP), es considerado como un conjunto de grafos
cuyas aristas son los posibles caminos que puede seguir la entidad para visitar todos
los nodos (Öncan et al., 2009), y cuyo algoritmo se puede representar de la siguiente
manera:

 Definir el número de nodos, su posición y el costo por cada arista (i, j) donde i =
ciudad 1 y j = ciudad 2
 Elegir el nodo inicial i
 Hacer
 Si el nodo más cercano no se ha visitado
 Visitar nodo j
 Actualizar lista de nodos visitados
 Costo_total = costo_total + costoij
 Nodo i = nodo j
 Hasta haber visitado todos los nodos
Características de TSP
TSP se encuentra clasificado como Problema de optimización Combinatoria, es decir,
es un problema donde intervienen cierto número de variables donde cada variable
puede tener N diferentes valores y cuyo número de combinaciones es de carácter
exponencial, lo que da lugar a múltiples soluciones óptimas (soluciones que se calculan
en un tiempo finito) para una instancia.
TSP es un problema considerado difícil de resolver, denominándose en lenguaje
computacional NP-Completo, es decir, es un problema para el que no podemos
garantizar que se encontrará la mejor solución en un tiempo de cómputo razonable.
Para dar solución se emplean diferentes métodos, entre los cuales, los principales se
denominan heurísticas cuyo objetivo es generar soluciones de buena calidad en
tiempos de cómputo mucho más pequeños (soluciones óptimas tiempo – respuesta).
Las variables que han sido empleadas por la mayoría de los investigadores que dan
solución a TSP son:

 Tiempo de recorrido entre ciudades: horas, minutos, días, semanas, etc.


 Distancia de recorrido entre ciudades: metros, kilómetros, millas, milímetros,
etc.
 Costo de traslado: dinero, desgaste de las piezas, gasto de energía, etc.
 Las variables que se pueden adoptar dependen de cada problema, por ejemplo:
- Circuitos electrónicos: cantidad de soldadura utilizada, menor espacio
entre los puntos de soldadura de los circuitos, evitar el cruce entre las
líneas de soldadura, tiempo de fabricación, distribución de los circuitos,
entre otras.
- Control de semáforos: Número de semáforos (nodos), tiempo de
traslado entre semáforos, cantidad de autos que pasan por un punto,
entre otras variables.
- Previsión del tránsito terrestre: puntos en una ciudad, cantidad de
vehículos, tiempo de traslado, tipos de vehículos, horas pico,
correlación entre variables, regresión lineal, etc.
- Entrega de productos: Peso de las entregas, número de entregas, nodos
(domicilios) a visitar, recorridos, tiempos de traslado, tipo de vehículo,
etc.
- Estaciones de trabajo: secuencia de actividades, lugar de las
herramientas (nodos), Tipo de herramientas, tiempo de uso, etc.
- Puntos de edificación (construcciones), distancia entre las
construcciones y los insumos, vehículos (grúas, camiones de volteo,
etc.), cantidad de combustible que emplean, etc.
- Entre otras variables.

También podría gustarte