Shortest Possible Path

advertisement
Shortest Possible Path
A. Suppose that a computer engineer is designing a computer chip and wants to determine
how efficient a finite set of node will be. Consider this computer chip to be represented as a
simple x,y plane. Suppose that the engineer can add a finite number of nodes onto this plane.
B. For simplicity, as an example, let’s say that the engineer wants to add a total of 4 nodes
(minimum must be one node, not including the root node).
B1. These nodes will be labeled S0(_,_), S1(_,_), S2(_,_), and S3(_,_).
B2. Root’s coordinates are ALWAYS at (0,0) and can lie on any edge of the square. In
other words, root will ALWAYS be the origin point at (0,0). The (_,_) represents an
arbitrary point that will be defined by the user.
C. See figure(A) for ONE possible way for the points to be placed. In this example, assume S0,
S1, S2, and S3 are equally spaced apart.
C1. In this case, the program should pick a point and find the midpoint of the nearest
point. The midpoint between S0 and S1 has been marked. Label it “A.”
C2. Then, it can look at S2 and S3 and determine the midpoint. It has been marked as
“B.”
C3. The program will then look at midpoints A and B and will find the midpoint
between them called, “C.” This problem is very reminiscent of a binary tree.
C4. The program has now created a path for root to each point. If we examine, further,
we see that the path lengths from root  S0, root  S1, root  S2, and root 
S3 are all equal to 4mm, which is the goal of the assignment.
FIGURE A
GOAL OF THE ASSIGNMENT:
More explicitly, the goal of this assignment is to find the shortest path from root to any point
and all path lengths must be equivalent. FIGURE A is an excellent example of this. If we examine
figure A we see that the path length from root to S0 is 4, root to S1 is 4, root to S2 is 4, and root
to S3 is 4. This is what I want. I need to find the shortest path and path lengths are all equal.
PROBLEM:
You might tell yourself, “this problem is simple. You just need to pick the path furthest from the
root and make that your shortest path and map it on the rest of the points.” The following
thinking will lead to the following diagram:
While the above diagram is not wrong, the wire length from root to S1 can be shortened. I will
explain the relevance behind this in terms of computer hardware in my presentation.
DISCLAIMER: The midpoint technique might not always work to find the best path and the
problem gets harder with odd number of non-root points. My goal for the assignment is to
come up with an algorithm that will work for odd number of nonroot points. The above
example works only for 2^n points.
Time Budget:
I have spent 20+ hours, thus far. I estimate that it will take me around 10 more hours to finish the
coding AND the presentation slides. I require 10 more days to finish this assignment.
TEAM:
Abhishek Gupta
Timeline:
I have figured out an algorithm that can give me the shortest possible path given a finite set of placed
nodes on a chip. This has taken me around 15 hours to complete (not including the time it took to plan
out what I would do). I estimate to spend 10 more hours to come up with a revised algorithm that will
help me come up and implement an algorithm that will come up with the shortest possible path using
the midpoint method for 2^n non root points and odd number of points. I estimate that I will need no
more than 5 minutes to present my project.
RISKS:
A risk I feel that I could come across is having extreme difficulty in figuring out a way to implement odd
number of non-root points into my program. Also, once I find a way, how can I prove that this method is
the best possible method? In other words, while I will finish my project, I risk not being able to achieve
maximum efficiency and failure to prove why it is most efficient.
MUST HAVE AND NICE TO HAVE:
My must-have feature is that it must return the shortest possible path where the path length
from root the any point on the graph is the same.
My nice-to-have feature is that I want the path lengths to be as short as possible, but I want to
limit long wires. My central point/midpoint method will handle that, as will the algorithm I come
up with for odd number of non-root points.
Download