Yesterday we looked at the concepts of “*graph theory*” and how it applies to problem solving and we saw in the internal combustion example there were three potential paths to a solution and back to our original post we have a choice of serial or parallel solution sets. Also, yesterday we walked through each one in a serial fashion or one at a time so our nemesis Amdahl didn’t rear his ugly head, however today he will as now we want to do more things at once, or at least try to.

For starters who is this Amdahl character and why would such a good chap be considered a “*nemesis*”? Well “*Amdahl*” is really “*Gene M. Amdahl*” a Norwegian-American computer architect who is primarily known for his work on mainframe computers (you know the big ole dinosaurs which are still around today), and eventually formed Amdahl Corporation to compete with big blue. However here we will best know him for formulating Amdahl’s law, which states a fundamental limitation of parallel computing. Computing you say, yes computing because as we saw yesterday using “*graph theory*” parallel computing is critical to finding the optimal solution set of complex problems and the application of resources (human in this case) will follow the same paths.

As so not to glaze over the general public’s eyes with a bunch of academic noise if you will. The best way to look at Amdahl’s law is from a point of diminishing returns as to use our internal combustion example from yesterday, today we will change a parameter and that is the number of mechanics involved. Now we are going to say we have three (3) of them, one for each “*failure set*” so we should solve the problem three times as fast right?

Well this is where Amdahl becomes our nemesis as the answer won’t hold true as if we use a little math we will see the efficiency of each mechanic can be represented as 1/(1-M) or -0.5=1/-2 as 1-3=-2* so each mechanic will be only 50% efficient as they would be in serial mode. Thus the solution speed will be only 150% and not 300% as one would think. Why is this the case you ask, well think of three (3) people trying to get under the hood of your Mini Cooper all at once, or work in the same area of the car. Ok for you bight guys out there that say have them start at separate ends, or the like have to keep in mind to do so still induces its own loss of efficiency into a system so it’s like perpetual motion, nice on paper, a failure in practice.

Back to our problem solving discussion, its critical to understand (and educate management) that the more people you throw at a problem does not mean an equal ratio to a solution as you can actually make things worse. Its also worth noting the relationship back to the “*graph theory*” models as if we apply a “*cost*” to each mechanic, we can also see the diminished return on investment as we are paying three (3) people yet only getting half of their potential work product. In short this is why there are practical values to out sourcing as mechanic #1 is waiting for his turn under the hood. Instead of standing idly by, he is working on another car until tapped on the shoulder by Mechanic #3 when he finished with his task. So we see another important factor to Amdahl’s Law as it applies only to the problem set under solution at the time, however this is starting to wax to far afield.

Well there you have it as Problem Solving = Graph Theory & Amdahl’s Law, so the next time your faced with a major problem solving challenge. Keep these two in mind to streamline the process and achieve the best results…

***Note:** Here we used the simplified version of the law where **M**=*Number Mechanics* which in this case M=3 Mechanics. This in turn yield the the loss in *efficiency* of each mechanic as -0.5 so each will only be 1/2 as productive on a parallel failure set (or path).

Sorry dude you lost me at the bakery. I enjoy your perspectives, this one is a little too theoretical even for I. Keep testing me!

Since your at the bakery, how about a coffee and danish I’m starving? In short this was a 500 word proof that says the more you attempt to “parallel” tasks the more efficiency you will give up. As if you have one person doing a task and add 1 person you will not achieve 2X of the original persons work and so on. So if your trying to solve a “problem” there isn’t a linear relationship to people applied in reference to the time required to solve…