Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentado por:
Youlvis Jimenez Peñate
Al docente:
Irene Gómez Franco
En la asignatura:
Sistemas Discretos
Universidad EIA
Envigado
2019
¿Qué es un grafo?
Es una figura formada por aristas y vértices. Estos aparecen para resolver problemas de la
vida cotidiana, como es el caso de representar una red eléctrica de una ciudad y ver cada una de
las conexiones de manera clara, para hacer posibles modificaciones y mejorar la distribución de
la energía a la ciudad. Son muy usados para resolver problemas tales como, problemas de
construcción, problemas de optimización, problemas de enumeración, entre otros. (Valdivia,
s.f.)
Para hablar de los grafos hamiltoniano y eulerianos es debido definir que son los grafos conexos,
son aquellos donde cada par de vértice esta conectado, es decir, al tomar un par de vértice, no
tiene por que ser vértices adyacentes, existe un camino que los une. Si no existe un camino que
los une se dice que no es un grafo conexo.
Grafos eulerianos
Se le llama grafo euleriano a todo aquel grafo que admita un circuito euleriano, es decir,
que comience y termine en el mismo vértice pasando una vez por cada arista y al menos una vez
por cada vértice. Este tipo de grafo fue la solución para el problema de los 7 puentes de la ciudad
de Königsberg, que consistía en pasar los 7 puentes sin cruzar por uno más de una vez, tomando
los puentes como aristas y el terreno que los separa como los vértices, Leonard Euler llegó a la
conclusión que no existe una solución para este problema.
Para determinar si existe un circuito euleriano en un grafo es suficiente con ver si el teorema que
dice “Un grafo es euleriano si, y solo si, es conexo y todos sus vértices tienen vértice par” se
cumple en este grafo, es decir, si cumple con la definición de grafos conexo y si el grado de cada
vértice es par, que se saca contando el numero de aristas que inciden al vértice. (Soto, 2015)
Representación grafo de los 7 puentes
de la ciudad de Königsberg (SUMA, s.f.)
Como se puede ver si aplicamos el teorema anterior nos damos cuenta que el grafo anterior no es
un grafo euleriano ya que no tiene todos sus vértices de grado par.
aux=0; j=0;
while(j< a.length){
aux+=m[i][j]; j++; }
euleriano=false; i++; }
return euleriano; }
Explicación del código
Este programa recibe como parámetro una matriz, la cual es la matriz del grafo,
específicamente la de adyacencia. Lo que hace el programa es ir recorriendo los renglones o filas
de la matriz e ir sumando cada valor en esa posición y luego comprueba si ese valor es impar, si
esto es falso quiere decir que ese vértice tiene un grado par ya que si fuera impar ya no se cumple
el teorema de grafos eulerianos el cual se habló en la definición de grafo euleriano luego se pasa
al otro renglón reiniciando la variable que va acumular el valor de cada elemento de ese renglón
y se vuelve hacer el mismo procedimiento y así sucesivamente con todo los renglones con
alguno que de verdadero, es decir que sea de grado impar el programa se sale y arroja falso, lo
que quiere decir que no es un grafo euleriano.
Grafos Hamiltoniano
Este grafo tiene su origen en el juego de Hamilton, que consiste en hallar un recorrido
cerrado sin repetir vértices, a través de las aristas de un dodecaedro regular. Un grafo es
hamiltoniano si contiene un circuito hamiltoniano, es decir, realiza una trayectoria que empieza y
termina en el mismo vértice, este no presenta aristas repetidas, lo que da a entender que no es
necesario pasar por todas las aristas, y pasa por cada vértice solo una vez, al contrario de los
grafos eulerianos que este podía pasar más de una vez por un vértice. (Ramon Masia, Jaume
Pujol, Rifa, & Villanueva, s.f.)
Para determinar si existe un circuito hamiltoniano en un grafo, a diferencia de los euleriano este
no presenta un teorema o algo que los caracterice para darse cuenta de manera rápida si se trata
de un grafo hamiltoniano, aunque este también tiene que ser conexo y además sus vértices tienen
que ser mayor o igual a 3 pero esto no significa que si cumple estas condiciones entonces es un
grafo euleriano.(M, 2007)
Ejemplo de grafo hamiltoniano
(Blancarte, 2014)
Y aunque los arboles tienen otras características importantes, pero no es necesarias para entender
que son arboles binarios. Estos árboles se caracterizan por tener máximo 2 hijos en cada nodo
(Blancarte, 2014)
(RSI, s.f.)
Como lo indica la figura a la izquierda del nodo se ubica el menor y a la derecha el mayor.
Partiendo siempre del nodo raíz, el modo de buscar un elemento se define de forma recursiva.
La búsqueda en un árbol binario de búsqueda consiste en acceder a la raíz del árbol, si el elemento
a localizar coincide con éste la búsqueda ha concluido con éxito, si el elemento es menor se busca
en el subárbol izquierdo y si es mayor en el derecho. Si se alcanza un nodo hoja y el elemento no
ha sido encontrado es que no existe en el árbol.
(Wikipedia, s.f.)
Explicación código
Conclusiones
Los grafos son importantes a la hora de hacer una optimización o mejorar un sistema que
se deje modelar como uno, como por ejemplo varias ciudades la cuales estén conectadas
por un camino, o como la distribución de energía en una ciudad, entre otras cosas.
Los arboles son de gran importancia a la hora de organizar datos ya que la búsqueda de
un elemento que este árbol se hace de manera más rápida y eficaz.
Referencias
Blancarte, O. (22 de 8 de 2014). Oscar Blancarte software architect. Obtenido de
https://www.oscarblancarteblog.com/2014/08/22/estructura-de-datos-arboles/
Ramon Masia, Jaume Pujol, Rifa, J., & Villanueva, M. (s.f.). Grafos eulerianos y grafos hamiltonianos.
Obtenido de
http://uoc.gitlab.io/2010/matematicas/modulo%208.%20grafos%20eulerianos%20y%20hamilta
nianos.pdf