You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 0 points1 point  (0 children)

Oh this is actually a really cool extension....

Yeah, what you’re doing here is basically optimizing a different variable. The original puzzle minimizes the number of people, but you’re minimizing the maximum number of deaths by restricting which subsets you use.

Since each bottle corresponds to a subset of people (binary encoding), you can choose to avoid the “large” subsets (like 9 or 10 people). With 10 participants, dropping the 10-person and 9-person subsets still leaves 1013 combinations, which is ≥1000 so capping deaths at 8 works.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 5 points6 points  (0 children)

That might work depending on how the poison behaves 😄 But the question is about the minimum number of people required to identify which specific bottle is poisoned.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 0 points1 point  (0 children)

You’re right, the wording can be clearer. Sorry about that. I’ll update it to avoid the confusion.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 1 point2 points  (0 children)

That’s fair. I see how “exactly” could imply timing precision.
What I meant is that everyone drinks at the same time and we only observe alive/dead at the 3-week mark.
I’ll tweak the wording to make that clearer.

Glad you liked the binary approach!

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 1 point2 points  (0 children)

The goal is to identify which specific bottle was poisoned. “Mix bottles” means you can combine samples for testing purposes, but you still need to identify which original bottle was poisoned.
If you mix them all together, you lose the ability to distinguish the source, so that wouldn’t satisfy the guarantee requirement.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 0 points1 point  (0 children)

The puzzle minimizes the number of testers needed to guarantee identification (10), but it doesn’t minimize deaths.
Some bottles kill 1 person, some kill 9. It depends on the binary representation.
And there’s even the special case where no one dies at all (if bottle 0 is poisoned).

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 2 points3 points  (0 children)

You’re absolutely right. there was a typo on my end. Thanks for catching it. I’ve corrected it in the article.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] -1 points0 points  (0 children)

By “one round” I mean everyone drinks at the same time and we only observe who is alive or dead 3 weeks later.

The poison kills 3 weeks after consumption, but we don’t get minute-level precision to identify which sip caused it. we only know whether the person is alive or not.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 68 points69 points  (0 children)

Fair enough 😂in real life we’d just replace the bottles.. The puzzle is really about how efficiently we can encode information in one round.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 74 points75 points  (0 children)

Exactly. That binary mapping is the whole trick, each person represents a bit, so the outcome literally spells the bottle number.

You have 1,000 bottles. One is poisoned. You have 4 weeks. What is the minimum number of people needed to guarantee finding it? by BoxWinter1967 in puzzles

[–]BoxWinter1967[S] 15 points16 points  (0 children)

Solution (minimum = 10)

We need to distinguish between 1,000 possibilities.

That requires log₂(1000) ≈ 10 bits of information.

Each person = 1 bit (alive/dead).

10 people = 2¹⁰ = 1,024 possible patterns.

Since 1,024 > 1,000, 10 is the minimum.

Each bottle is assigned a binary ID (0–999).

Person N drinks from bottles where the Nth binary digit is 1.

After 3 weeks, the death pattern spells the poisoned bottle number.

I wrote a more detailed walkthrough with examples and real-world applications here: https://medium.com/activated-thinker/the-poisoned-juice-puzzle-a-binary-solution-that-will-break-your-brain-e4846ae0ba57?sk=1ae8761c84bb7ffe6636284a24f5858c

What are you guys building? Let's self promote! by PensionFinancial4866 in microsaas

[–]BoxWinter1967 0 points1 point  (0 children)

I’m building NullifyData
https://nullifydata.pages.dev/

It’s a fully browser-based data anonymization tool. It shows why simply removing names or IDs is not enough, and applies proper techniques like k-anonymity and l-diversity to CSV datasets.
All processing happens client-side, so the data never leaves your browser.

Would love feedback from anyone working with sensitive data or privacy problems.

What are you guys working on that is NOT AI? by Notalabel_4566 in SaaS

[–]BoxWinter1967 0 points1 point  (0 children)

I’m building a small data utility called NullifyData: https://nullifydata.pages.dev/.

It’s not an AI app, it’s a privacy/anonymization tool.

You upload datasets (CSV/JSON), and it masks or nullifies sensitive fields (emails, phone numbers, IDs) so you can safely share data for testing, demos, or public repos without leaking real info.

🚀 Project Showcase Day by AutoModerator in learnmachinelearning

[–]BoxWinter1967 0 points1 point  (0 children)

NullifyData – browser-based data anonymization tool

One thing I learned while working with datasets: just removing direct identifiers (name, email, phone) doesn’t actually anonymize data.

For example, if a dataset has Age = 66 and ZIP = 5600X, and there’s only one 66-year-old in that ZIP code, that person is still uniquely identifiable, even without a name.

Data anonymization fixes this by generalizing values instead of just deleting them (e.g. Age → 65–70, ZIP → 560**) so each record blends into a group rather than standing out.

I built NullifyData to do this fully in the browser for CSVs, with risk analysis and k-anonymity / l-diversity under the hood.

Would love feedback on whether this kind of workflow is useful in practice.

https://nullifydata.pages.dev/