Tuesday, February 24, 2015

Hunting for Optimality

OK. Sometimes, we really do need to find 'the' answer. Recall the scene from Jaws: "It's a shark, not the shark". But in general, seeking 'the' one and only, true, unique, prophetic optimal solution to real-life decision problems is an exercise in futility. It makes sense to talk about the best practically achievable solutions given resource constraints, costs, and priorities, which can then be iteratively refined over time. While filling out a healthcare quiz about better nutrition and weight management, I was delighted to see this question.


The health-care researcher who designed this quiz deserves a round of applause.

But how do Operations Researchers find such solutions? Sometimes, the problems are provably cute (journals love to publish these).

But very often in practice, you end up dealing with this:


No fear. Well-designed practical algorithmic approaches employing robust, industrial-strength optimization tools like CPLEX can help OR'ers recover high quality solutions to challenging, seemingly intractable, messy-data riddled, real-world decision problems.

Losing out on the perfectly good in a quest for the perfect seems pretty silly.

Sunday, February 8, 2015

RT if you agree, FAV if you don't: Does it work?

A simple way of binary polling on twitter that reaches a large number of voters, especially if the polling handle (@H) is sufficiently popular, is to get followers to re-tweet (RT) the message if they agree with the proposition P, and 'favorite' (fav) it if they disagree.


In the above poll, while Kejri is as phoney as they come, the result shouldn't be this skewed.

(This is just a cursory analysis)

Suppose m followers of @H RT, and fav. This gives us a m/n ratio among @H's followers. Next:
a) The message gets forwarded to the followers of the m "RT" handles
b) The message is not forwarded to the followers of n "fav" handles

and this RT'ing process continues. As long as the 'agree' nodes in RT chain via (a) represent random samples, this poll can work reasonably despite only the ayes propagating the message. i.e., the RT probability of the followers of an 'agree' handle (@YES) should not be influenced by @YES' RT (i.e., there are no significant 'vote-banks'). If birds of the same feather flock together, this assumption may not hold, and we are likely to see a disproportionate number of 'agree'. On the other hand, if the poll reaches any 'disagree' handle whose followers are also likely to disagree, the poll does not reach any of these followers, skipping many of the 'disagree' nodes of the social network. The final result may be skewed favorably toward 'agree'. Of course, the nays need not just 'fav'. Then can create their own separate tweet that links this poll, and share this with their followers. Perhaps @H can send out a modified tweet:

'Proposition P: RT if agree. Fav and share this msg if u don't'.

This additional step may restore some balance. However, the burden of extra work falls on the 'fav' group, and only the enthusiastic 'fav' folks are likely to oblige. The final result may remain skewed in favor of 'agree' but could yield a better result compared to the unmodified polling tweet.

Alternatively, @H could send out two independent tweets, the first requesting an RT for agree, and the second, an RT for 'disagree'. Will this 'RT competition' work better? (RT if you agree, RT if you don't :)