952
Replication crisis, my arse
(mander.xyz)
A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.

Rules
This is a science community. We use the Dawkins definition of meme.
A Binary search requires a ordered data set. Something like "if you react to X, you will also react to any X+1, X+2... X+n. Food is not ordered, you cant know if you react badly to bell peper because you reacted badly to whole grain wheat.
Can't you easily reduce this to a compatible problem though?
Let's say you have the set of foods you suspect: red blue green yellow brown purple
You construct an ordered set from this by making the elements sets of foods such that each set is the one to its left plus any one more entry, the leftmost set is the empty one, and the rightmost is the one containing all your suspects:
{}, {red}, {red, blue}, {red, blue, green} .... {red, blue, green, yellow, brown}, {red, blue, green, yellow, brown, purple}
Now a check operation means eating the elements in the current set, if you get sick you go half way to the left border and update the right one, if you don't get sick you go half way to the right border and update the left one.
You should end up with the smallest set that makes you sick. Subtract the set to the left of it and you have the food that makes you sick left over.
Yes, you can reduce it much faster assuming one food doesn't contaminate random other foods and it's not a workplace hygiene thing.
You could also ask for a bowl, dressing on the side, take it home, try the tuna, 12h try the dressing, 12h try the veggies.
Not necessarily, but searching a data set that’s not ordered relies on an assumption that there’s a single thing you’re looking for.
If there are 10 ingredients, you get sick and you only take half next time, you need to be able to assume that there’s one set of 5 that doesn’t get you sick and one that does, and so on until you get down to the last ingredient.
It’s a good way to e.g. quickly find the right breaker in the box, because for each device/ socket there’s just one breaker that’s responsible, so flipping half of them gives you an actionable result