The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998 The.Algorithm.Design.Manual.Springer-Verlag.1998

18.04.2013 Views

Limitations of Dynamic Programming This recurrence, although somewhat complicated to understand, is in fact correct. However, each partial solution is described by a vertex subset . Since there are subsets of n vertices, we require time and space to evaluate this recurrence. Whenever the input objects do not have an inherent leftright order, we are typically doomed to having an exponential-sized state space. Occasionally this is manageable - indeed, is a big improvement over enumerating all O(n!) possible TSP tours. Still, dynamic programming is most effective on well-ordered objects. Next: War Story: Evolution of Up: Breaking Problems Down Previous: Minimum Weight Triangulation Algorithms Mon Jun 2 23:33:50 EDT 1997 file:///E|/BOOK/BOOK2/NODE49.HTM (2 of 2) [19/1/2003 1:28:50]

War Story: Evolution of the Lobster Next: War Story: What's Past Up: Breaking Problems Down Previous: Limitations of Dynamic Programming War Story: Evolution of the Lobster I'll confess that I'm always surprised to see graduate students stop by my office early in the morning. Something about working through the night makes that time inconvenient for them. But there they were, two future Ph.D.s working in the field of high-performance computer graphics. They studied new techniques for rendering pretty computer images. The picture they painted for me that morning was anything but pretty, however. ``You see, we want to build a program to morph one image into another,'' they explained. ``What do you mean by morph?'' I asked. ``For special effects in movies, we want to construct the intermediate stages in transforming one image into another. Suppose we want to turn you into Humphrey Bogart. For this to look realistic, we must construct a bunch of in-between frames that start out looking like you and end up looking like him.'' ``If you can realistically turn me into Bogart, you have something,'' I agreed. ``But our problem is that it isn't very realistic.'' They showed me a dismal morph between two images. ``The trouble is that we must find the right correspondence between features in the two images. It looks real bad when we get the correspondence wrong and try to morph a lip into an ear.'' ``I'll bet. So you want me to give you an algorithm for matching up lips?'' Figure: A successful alignment of two lines of pixels ``No, even simpler. We just morph each row of the initial image into the identical row of the final image. You can assume that we give you two lines of pixels, and you have to find the best possible match between the dark pixels in a row from object A to the dark pixels in the corresponding row of object B. file:///E|/BOOK/BOOK2/NODE50.HTM (1 of 4) [19/1/2003 1:28:52]

War Story: Evolution of the Lobster<br />

Next: War Story: What's Past Up: Breaking Problems Down Previous: Limitations of Dynamic<br />

Programming<br />

War Story: Evolution of the Lobster<br />

I'll confess that I'm always surprised to see graduate students stop by my office early in the morning.<br />

Something about working through the night makes that time inconvenient for them. But there they were,<br />

two future Ph.D.s working in the field of high-performance computer graphics. <strong>The</strong>y studied new<br />

techniques for rendering pretty computer images. <strong>The</strong> picture they painted for me that morning was<br />

anything but pretty, however.<br />

``You see, we want to build a program to morph one image into another,'' they explained.<br />

``What do you mean by morph?'' I asked.<br />

``For special effects in movies, we want to construct the intermediate stages in transforming one image<br />

into another. Suppose we want to turn you into Humphrey Bogart. For this to look realistic, we must<br />

construct a bunch of in-between frames that start out looking like you and end up looking like him.''<br />

``If you can realistically turn me into Bogart, you have something,'' I agreed.<br />

``But our problem is that it isn't very realistic.'' <strong>The</strong>y showed me a dismal morph between two images.<br />

``<strong>The</strong> trouble is that we must find the right correspondence between features in the two images. It looks<br />

real bad when we get the correspondence wrong and try to morph a lip into an ear.''<br />

``I'll bet. So you want me to give you an algorithm for matching up lips?''<br />

Figure: A successful alignment of two lines of pixels<br />

``No, even simpler. We just morph each row of the initial image into the identical row of the final image.<br />

You can assume that we give you two lines of pixels, and you have to find the best possible match<br />

between the dark pixels in a row from object A to the dark pixels in the corresponding row of object B.<br />

file:///E|/BOOK/BOOK2/NODE50.HTM (1 of 4) [19/1/2003 1:28:52]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!