Let me do a short summary:
In all, you could think Dynamic Programming as Divide-and-Conquer with
cache so as to save the redundant work.
But there is actually no such clear distinct for these algorithm.
In APSPwarmup2, you can see the APSP could be modeled as:
1. Dijkstra from all the point, which is a great waste.
2. Construct APSP with maximum one hop, then two, ... till |V|-1
hops (D^0, D^1, ... D^n-1 in the slide)
3. As 2, but one hop, two hop, four hop, 8... and so on. Think of as
an exponential grow because the operation is associative.
4. Construct APSP by allowing through vertices #1, #2... and so on
till all vertices. You could think as add each vertices one at time
and this one is actually floyd-warshall algorithm.
lecture_apsp is almost the same as APSPwarmup2, except its
presentation and notation are different. Some more thing about
re-weighting is mentioned, but I guess we will not use this here.
R-Kleene_DivideConquer_APSP and
Minimizing_communication_in_all_pairs_shortest_paths are
optimizations, which I only ski through the latter for DC-APSP. Still,
I feel this is a little bit too far as our project.
Lecture_Parallelism_DC: seriously we don't have to worry about this at all.
==
I guess maybe a discussion would be a help to synchronize our
understanding. How about after class, say 4, as Dong dong has
follow-up class from 2:30. Or the rest of us could discuss just after
the class. I now are investigating the GAE platform for two keys:
map-reduce and storage.
Thanks
-Chang
> --
>
>