5

I heard of this puzzle that I want to get some hints or a full solution.

There are $1024$ dishes to be chosen from for a party. There are $6875$ participants in total. The objective is to find $10$ dishes in the menu such that for any dish $d$ that is not on the list, there are more than half people who would prefer one of the dishes in the menu over $d$.

Is it possible to generate such a menu?

Mike Earnest
  • 84,902
Qiang Li
  • 4,307

1 Answers1

3

Have a tournament where each pair of dinners "fight," and the winner is the is the dinner which the majority of contestants prefer. There are $1024\cdot 1023/2$ fights, so there are that many wins. Since there are $1024$ dinners, each dinner wins an average of $1023/2=511.5$ fights. Some dinner must win at least that average many fights, so some dinner $d$ has won $512$ fights. Include that dinner in the menu; the $512$ dinners that $d$ will be off the menu, which is OK since they are preferred less than $d$.

We are now left with a smaller power of two. Repeat this process with these $512$ dinners, then $256$, then $128$, etc, selecting one dinner at each level.

Mike Earnest
  • 84,902
  • The same method lets you find a menu of $10$ from among up to $2046$ dinners. The dinner which won the most fights will have won at least $1023$ fights. Ignoring that dinner and the dinners it beat, we are left with $1022$ dinners. Rinse and repeat. In general, a menu of $m$ suffices for $2^{m+1}-2$ dinners. – Mike Earnest Jan 07 '19 at 18:33
  • 2
    There seems to be a word missing: "the $512$ dinners that $d$ [beat?] will be off the menu". – Théophile Jan 23 '19 at 21:43