Why is the bill-splitting problem so much more interesting to techies compared to the tons of other real-life math application problems out there? I see more apps and websites on how to split a bill n-way than I see for predicting cashflows, organizing tables/chairs, and maximizing toothpaste usage combined. I think it is a fun problem as any other, but what makes it more interesting than others?
Where I live, it's very widespread and perfectly acceptable to pay exactly what you owe, especially if you're drinking/dining with peers. Waiters typically ask if you want to share a common bill or if you want to pay separately; if it's the latter they'll do the adding up for you.
With good friends I generally just split the bill evenly, but that tends to be non-scalable.<p>One method I found which seems to work quite nicely is each person puts in what they think they owe, and any difference between that and the total bill is split evenly between the group. This tends to work out nearly-equitable and is very fast.
Excerpt that describes the actual mechanism:<p>Start with any item on the bill. The person who ordered that item pays the bill with probability equal to the cost of that item divided by the subtotal. Flip the appropriately biased coin; if that person is it, then you're done. If not, then subtract that item from the subtotal and repeat, recursively, with another arbitrary item. If you start with expensive items then you'll probably find the person who's paying after a handful of items, but it doesn't matter for fairness what order you pick things in. You won't have to figure out all the confusing drinks and appetizers (yet the outcome is as fair as if you had!).
This makes me start thinking what other problems can be handled more efficiently if everyone agreed to be satisfied with an "expectation" of fairness in the long term.<p>You gain efficiency, at the loss of acquiring short term risk. Might be a useful exchange in some cases.<p>One good example: in a traffic jam everyone decides to maintain a minimum of 50ft between them and the car in front of them.
I usually just pay what I owe and a 15 - 20% tip. Occasionally, and it depends on the acquaintances/friends. I am with, I will do equal split (total + tip) / number of people.<p>Is this really that difficult?
Note the dreadful UI on their app implementation! (You type something like '100:5,25,60' and invite someone to guess a number on each round)<p>Why wouldn't they do something like:<p>1. Enter the subtotal (becomes permanently printed at the top)
2. Enter successive item amounts, after each entry the app says 'pay' or 'continue'
I find it hard to believe this would be faster than just adding up what everyone ordered, and then either picking someone with weighted random (absolutely equivalent to the given algorithm), or just everyone paying for their own stuff (perfectly fair).
All that math just complicates the roulette-ness.<p>How about just toss all the credit cards in a bag/box/etc and ask your nice waiter to pick one at random.
I have an even better idea. How about anyone who thinks this is even marginally interesting just leaves me out of their dinner plans.<p>There are only two ways to take care of the check. Either one person pays, or n people pay equally like the opening scene in American Psycho. Any sort of bookkeeping at the dinner table is really bad manners.<p>EDIT, more etiquette hints:<p>when looking at the check, make at most a quick glance. Ideally don't look at the check at all. If you can't trust them to prepare a check you probably shouldn't trust their cooking either.<p>How do you figure out who picks up the check?<p>- if you are dining with the boss, you're the one who pays<p>- if you're dining with customers, you're the one who pays<p>- if you're dining with your girlfriend and her female friends, you're the one who pays<p>- if you're the host in any sense, you're the one who pays<p>- if you're dining with students and you're the only one who has a job, you're the one who pays<p>- if you're the one who went deep on the wine list, you're the one who pays<p>There aren't many times that a check gets split, or any sort of turn-taking applies. For the most part, you're the one who pays.