There must be a few people here who have a good grasp of it. I'm definitely not one of them. Can anyone chime in?
Also there is another problem with routing, that makes some routes impossible. For example if certain node have low balance, it can not become an intermediate (because it can't deduct enough funds to push it forward simply because it have none). So there should be constantly updating sheet somewhere that stores current balances and provide adequate routing mapping. My thoughts Lightning network should more look like a star (or constellation of stars) where most routs go through big money holder/aggregator that serves as a trust-less intermediate for most of the funds.
And it's good idea to open direct channel to such hubs to avoid being capped by your nearest node.