Posts

Showing posts from April 24, 2022

Unite and Prosper algorithms

When we study algorithms we study a paradigm of problem-solving called "divide and conquer". This approach to problem-solving involves breaking down a complex problem into simpler components and solving each of them separately, and then combining the solutions. Divide and conquer as an algorithmic technique is widely popular, and is easily amenable to parallelisation.  Deeply rooted in Indian history however, I have a mental block-- some kind of a cultural aversion-- against the concept of divide and conquer, because of what this strategy has done to us when we were at the receiving end. Whenever anyone extolls the joy of divide and conquer-- even in a purely algorithmic context-- I find myself cringing uncomfortably.  But regardless of my personal views about this paradigm, divide and conquer as a strategy is also based on a simplifying assumption that the combining of individual solutions to get the overall solution is a trivial problem. This need not always be the case. In