Está en la página 1de 6

503213

Informe
Tarea Semestral
Matemticas Discretas

Alumnos:

Elvis Rios Melo


Javier Richards Valenzuela

Modelacin del Problema.

El problema consiste en modelar el mapa de una ciudad y encontrar una ruta para que un
turista visite algunos puntos de interes. Para modelar este problema, se procede a la construccion de un
grafo, el cual nos servira para modelar y resolver el problema.
Para almacenar las intersecciones y lugares (nodos) se utilizaron estructuras, y en el caso de el
grafo,se represento mediante una matriz de adyacencia.

Modelacin del Problema: Datos.


Como se menciono anteriormente se utilizaron diversos structs y arreglos para internalizar el
mapa de la ciudad y sus componentes.

Para almacenar las calles, lugares, nodos y rutas utilizamos structs y arreglos, ya que fue lo que
encontramos mas optimo para trabajar con los datos necesarios.

Para modelar el grafo, se utilizo una matriz de adyacencia, ademas de una matriz de distancia
entre nodos.Para el programa, la matriz es un arreglo bidimensional de floats. Usar una matriz de floats
se nos hizo mas facil y practico que otras estructuras de datos para la implementacion del problema, y
es facilmente manipulable.
En el programa se usa Disjktra para poder obtener la distancia entre nodos.

Datos: Estructuras
Como se dijo anteriormente, preferimos el uso de estructuras en nuestro programa por su
simplicidad y organizacin, las cuales son las siguientes:
Nodos
Float x
float y
int calles[]
char lugar[]

Rutas
Int r[]

Calles
Char Calle[]
float x1,y1,x2,y2
char eje[1]

Lugares
char Lugar[]
char Calle[]
float pos

Datos: Modelacin de los grafos

El programa inicialmente trabajara con 2 grafos que modelaran las conexiones y la distancias,
los cuales como ya mencionamos anteriormente seran representados a traves de una matriz de
adyacencia.

El grafo de conexiones se representa por una matriz de adyacencia que refleja todas las conexiones
entre calles y lugares. Ademas el grafo de distancia representara la distancia entre los nodos del grafo.

Modelacin del problema: Procedimientos.

Para generar las matrices que describen los grafos a analizar, se utilizan diferentes
procedimientos.
Para empezar se calcula la cantidad de nodos (que son lugares e intersecciones), en donde
primero creamos los nodos a partir de las intersecciones y luego aadimos los nodos de lugares
verificando si un lugar se encuentra en la misma posicion que alguna interseccion,si esto
ocurre,remplazaremos la interseccion por el lugar en comun(para no tener nodos extras)
En el caso de la matriz de adyacencia, esta se construye por medio de una funcion que llamamos
arcos, que consiste en comparar las calles en comun que tenia cada nodo, guardando un 1 en la matriz.
A partir de la matriz anterior, por medio de las ubicaciones de los nodos logramos obtener las
distancias y asi modelar una nueva matriz con estos valores.
Luego a partir de esta nueva matriz( de distancias),aplicamos la funcion caminos,que a partir de
un nodo de partida y un nodo de llegada nos entrega los nodos que forman parte del recorrido.
Luego aplicamos la funcion dijkstra para calcular las distancias entre todos los nodos y las
guardamos en la matriz anterior.
Como ya tenemos la ruta mas optima, calculamos la distancia recorrida y a partir de lo que nos
entrega la funcion caminos, armamos las indicaciones.

Conclusin:
Al intentar resolver el problema logramos darnos cuenta de que la complejidad del programa era
bastante grande, pero logramos entender y aprender que con la ayuda de grafos resolver problemas
como esto no solo se facilita si no que en algunos casos se nos hara imposible resolverlos de otra
manera.
Al construir el programa que leyendo un documento con el problema, pudiera analizar la
situacin entregada y resolverla, nos demostr la utilidad de grafos para problemas como estos.
Finalmente concluimos que el uso de los grafos en problemas como estos es realmente til no
solo por su eficacia, si no, porque hay problemas en que no se nos habra ocurrido alguna manera
distinta de resolverlos en que no sea mediante grafos, por lo tanto consideramos que es imprescindible
el saber la teoria y aplicacin de grafos.

También podría gustarte