"a basic tool [that should be] taught to all algorithms students together with divide-and-conquer, dynamic programming, and random sampling.” - sanjeev-arora
Glad you like it! Happy to answer any questions. I’ve been trying to make my writing accessible to both the HN and academic research community; let me know if you have feedback on how I can improve here
The usage of text color on this image caption is brilliant.
It never occurred to me that you can do this technique to explain a diagram. Definitely love it. Will steal this technique for my own purpose.
Thank you very much, great article indeed! The PDF download link to the article at the top of the page requires access approval though, is that the way it is supposed to be?
Hmm, even in PDF form it's not possible to read this without humming the Transformers theme and putting in 'Dijkstra's in Disguise' at the relevant places.
Couldn't agree more, it had me going back to the Algorithms book to refresh on most of part VI (Graph Algorithms). For those interested, Bellman-Ford is 24.1, and Dijkstra's algo is 24.3 in CLRS. Reviewing those helped step through the VisuAlgo link in the article: https://visualgo.net/en/sssp
This is a fantastic post! Thank you so much for sharing it.
Perhaps another post (which maybe you should write! Or I may (though I'm certainly nowhere as good), or why not both!) might the unifying principle of finding solutions to fixed-point equations. In general, having a Bellman-style update equation, you can usually construct either (a) DP solutions to this problem or (b) contraction mappings whose fixed point solves this problem.
Perhaps the most general form I know of the above principles is the Hamilton-Jacobi-Bellman equation [0], which is used absolutely everywhere in control theory and has deep connections to several fields (including the theory of PDEs, such as heat equations on manifolds along with several other cases). Many, many problems (including all of the ones mentioned above) reduce immediately to an appropriate instance of the HJB equation (either in the finite or the infinite case), which admits a simple DP solution that can be very quickly computed.
Anyways, again, awesome post. I'll be following your blog quite closely :)
Great suggestions, thanks! Indeed, that's a beautiful connection and many proofs of reinforcement learning algorithms with function approximators actually use contraction mappings.
Say hello to Kwabena for me if you get the chance ;)
> Path tracing integrals are fairly expensive because states and actions are continuous and each bounce requires ray-intersecting a geometric data structure. What if we do light transport simulations on a point cloud with a precomputed visibility matrix between all points, and use that as an approximation for irradiance caching / final-gather?
A crude variation on this is often used in games, known as "light probes". You precompute the light transport simulation on a subset of points in the scene (manually placed by artists), and lighting for dynamic objects simply lerps between the nearest light probes.
Reading this spiked my interest in graphs especially considering I never learned anything more than the basics taught in algorithms and data structures courses in college.
Any resources (i.e. textbooks) recommended for learning more about graph theory as well as currency arbitrage?
Graph theory and abstract algebra were the two elective math classes I took that almost tempted me to switch from physics to math. But then I took real analysis and was like "Yup, nope, this is not for me"