Вы находитесь на странице: 1из 4

Dise o de Algoritmos. n Tarea 2. 1 Arboles generadores y rutas ms cortas. a Fecha de entrega: Lunes 32 de octubre de 2011.

. Entrega por escrito la solucin a cada uno de los siguientes problemas. Cada o problema vale dos puntos. Justica perfectamente cada una de tus respuestas. 1. En clase vimos dos algoritmos para encontrar el camino ms corto para tiendo un vrtice dado, para llegar a cualquier otro vrtice de la grca. e e a Disea un algoritmo tal que, dada una grca con pesos en las aristas n a G = (V, E) y t V , encuentre los caminos ms cortos para llegar a t y a partiendo desde cualquier vrtice de G. e 2. Ejecuta paso a paso el algoritmo de Dijkstra en la grca mostrada en la a Figura 2. Explica de manera clara porqu el algoritmo genera una respuese ta incorrecta. En qu parte del algoritmo ocurre la faya? Por qu ocurre e e esto?

a 0
4

d c
3

Figura 1: Problema 2. 3. En la grca mostrada en la Figura 3 encuentra los caminos ms cortos a a entre s y el resto de los vrtices. Muestra la ejecucin de tu algoritmo paso e o a paso, y los caminos que vas construyendo. En cada paso, considera las aristas que vas agregando a los caminos ms cortos es la grca generada a a por dichas aristas siempre conexa? 4. Ejecuta el algoritmo de Bellman y Ford en la grca mostrada en la Figua ra 4, utilizando a z como fuente, procesa las aristas en este rden: o (t, x), (t, y), (t, z), (x, t), (y, x), (y, z), (z, x), (z, s), (s, t), (s, y). Despus, cambia el peso de la arista (z, x) a 4 y vuelve a ejecutar tu e algoritmo siguiendo el mismo orden para las aristas y utilizando a s como fuente. En cada paso manten los caminos ms cortos hasta ese momento. a Cuntas rondas realizaste? Cmo puedes estar seguro que el peso de a o

2 4 1 3 2 5 10 1

Figura 2: Problema 3.
t 5 x 2 6 4 s 8 2 7 3

7 y 9 z

Figura 3: Problema 4. las aristas no seguir bajando si haces ms rondas? Cul es la llave del a a a vrtice fuente en cada paso? e 5. Un circuito impreso, es una hoja de cobre donde se colocan las conexiones elctricas necesarias para colocar y conectar circuitos electrnicos. Una e o empresa que se dedica a fabricar circuitos impresos desea que le ayudes a resolver el siguiente problema. La empresa debe vericar que los circuitos que fabrica no tengan falsos, y despus colocar sus componentes e electrnicos. Es decir, se debe vericar que haya ujo de corriente elctrio e ca entre cualquier par de puntos donde se suponga que debe haber ujo. La empresa hace esta tarea como se describe a continuacin. o La empresa cuenta con un robot que tiene dos brazos, en cada brazo el robot tiene un instrumento para medir si existe o no paso de corriente. Para vericar si dos puntos estn conectados de manera correcta, los brazos del a robot tocan simultaneamente ambos puntos, con lo cual se cierra el circuito y se detecta si hay paso de corriente. En un circuito hay ciertos conjuntos
1 Dise ado n

por: Dolores Lara. Departamento de Sistemas, UAM-Azc.

de puntos que estn todos conectados mutuamente utilizando un alambre a metlico. Esto se conoce como red, ver Figura 4(a). Algunas veces una a red consiste unicamente de dos puntos, y otras veces consiste de cientos de puntos. Por lo tanto, unicamente se debe detectar si hay conexiones entre los puntos que pertenecen a una misma red, ver Figura 4(b). Esto se hace de la siguiente forma: El brazo izquierdo del robot se coloca en el punto ms a la izquierda de la red, mientras que el derecho se detiene a en cada uno de los otros puntos, vericando para cada uno de ellos si hay paso de corriente o no. La Figura 4(c) muestra el rden en que se visitan o los puntos en una red. Una vez que este proceso termina, se concluye que todos los puntos en dicha red se pueden comunicar (por qu?). La forma e en que el brazo derecho visita los otros puntos es simple: se ordenan de derecha a izquierda y se visitan en ese orden.

(a) Una red con 14 puntos.


brazo izquierdo 4 3

(b) Alambre conectando los puntos en una red.

1 5

6 8

10

11 9 13 7 12

(c) Algoritmo actual.

Tu tarea es encontrar una manera ms eciente de visitar los puntos. Es a claro que lo que se desea hacer es recorrer todos los puntos de tal forma que el brazo derecho recorra la menor distancia posible. Este problema, sin embargo, es muy complicado, se conoce como traveling salesman problem 3

(problema del agente viajero). As que para facilitar las cosas al dueo de n la empresa se le ocurre que quiz ser buena idea mover ambos brazos a a de manera simultnea. Es decir, ahora mismo el brazo derecho es el que a hace todo el trabajo, mientras el izquierdo unicamente se detiene en un punto y espera ah hasta que el otro termine de trabajar. Entonces te pide que encuentres una manera de dividir las redes en partes de tal forma que se realice el mismo algoritmo que hasta ahora, pero varias veces en una misma red, lo cual en teor acelerar el proceso. a a Piensa en el problema y responde cmo dividir cada red en trozos, de o as tal forma que garantices lo siguiente: a) Vericar la conexin entre los puntos de una parte, garantiza la cono nexin entre los puntos de toda la red. o b) Los puntos se agrupen lo mejor posible, de tal forma que el brazo derecho recorra la menor distancia posible para vericar los puntos de una parte. Presenta tu solucin en forma algoritmica y argumenta por qu crees que o e sa ser una buena solucin. e a o

Вам также может понравиться