Wolves and sheep
$begingroup$
All the sheep were living peacefully in the Land of Shewo. But suddenly they were struck by a danger. A few wolves dressed up as sheep entered the territory of Shewo and started killing the sheep one by one.
To find a solution to this misery, the king of Shewo called upon all of his sheep to the palace hall. He made the following announcement:
From my secret sources, I came to know that the total number of 'sheep' (including the wolves) now present in my kingdom is 100. Among which 5 are wolves. Our doctors have come up with a very expensive blood test which could be used to differentiate the wolves and sheep.
Each test costs 1000$ and we don't have enough funds to test all the 100 'sheep'.
I discussed with our ministers and came to know that the tests can be done on pooled bloodsamples. i.e., I can collect bloods from any number of 'sheep' and mix them. Then if I test the mixture, I will get a positive result if the mixture contain blood from any wolf. I will get a negative result if all the samples are from actual sheep.
One caveat is that the test results are available to you after all the tests are done!
Now , I am looking for ideas where I can find ALL the wolves in minimum number of pooled tests. I request the brilliant young minds of this land to come up with a testing strategy.
Can you help the king by devising a strategy?
strategy combinatorics algorithm
$endgroup$
add a comment |
$begingroup$
All the sheep were living peacefully in the Land of Shewo. But suddenly they were struck by a danger. A few wolves dressed up as sheep entered the territory of Shewo and started killing the sheep one by one.
To find a solution to this misery, the king of Shewo called upon all of his sheep to the palace hall. He made the following announcement:
From my secret sources, I came to know that the total number of 'sheep' (including the wolves) now present in my kingdom is 100. Among which 5 are wolves. Our doctors have come up with a very expensive blood test which could be used to differentiate the wolves and sheep.
Each test costs 1000$ and we don't have enough funds to test all the 100 'sheep'.
I discussed with our ministers and came to know that the tests can be done on pooled bloodsamples. i.e., I can collect bloods from any number of 'sheep' and mix them. Then if I test the mixture, I will get a positive result if the mixture contain blood from any wolf. I will get a negative result if all the samples are from actual sheep.
One caveat is that the test results are available to you after all the tests are done!
Now , I am looking for ideas where I can find ALL the wolves in minimum number of pooled tests. I request the brilliant young minds of this land to come up with a testing strategy.
Can you help the king by devising a strategy?
strategy combinatorics algorithm
$endgroup$
$begingroup$
This is close to a covering design (Lotto wheel) problem.
$endgroup$
– Arnaud Mortier
3 hours ago
1
$begingroup$
First of all, does the government have enough funds to test 99 of the sheep? Because that would work, at a cost of $99,000. Congrats, you just saved 1,000 bucks.
$endgroup$
– user45266
1 hour ago
1
$begingroup$
Alternatively, you know the location of all 5 wolves. Take initiative and slaughter all 100. Now you have no more wolves, and food for a good while to come.
$endgroup$
– user45266
54 mins ago
add a comment |
$begingroup$
All the sheep were living peacefully in the Land of Shewo. But suddenly they were struck by a danger. A few wolves dressed up as sheep entered the territory of Shewo and started killing the sheep one by one.
To find a solution to this misery, the king of Shewo called upon all of his sheep to the palace hall. He made the following announcement:
From my secret sources, I came to know that the total number of 'sheep' (including the wolves) now present in my kingdom is 100. Among which 5 are wolves. Our doctors have come up with a very expensive blood test which could be used to differentiate the wolves and sheep.
Each test costs 1000$ and we don't have enough funds to test all the 100 'sheep'.
I discussed with our ministers and came to know that the tests can be done on pooled bloodsamples. i.e., I can collect bloods from any number of 'sheep' and mix them. Then if I test the mixture, I will get a positive result if the mixture contain blood from any wolf. I will get a negative result if all the samples are from actual sheep.
One caveat is that the test results are available to you after all the tests are done!
Now , I am looking for ideas where I can find ALL the wolves in minimum number of pooled tests. I request the brilliant young minds of this land to come up with a testing strategy.
Can you help the king by devising a strategy?
strategy combinatorics algorithm
$endgroup$
All the sheep were living peacefully in the Land of Shewo. But suddenly they were struck by a danger. A few wolves dressed up as sheep entered the territory of Shewo and started killing the sheep one by one.
To find a solution to this misery, the king of Shewo called upon all of his sheep to the palace hall. He made the following announcement:
From my secret sources, I came to know that the total number of 'sheep' (including the wolves) now present in my kingdom is 100. Among which 5 are wolves. Our doctors have come up with a very expensive blood test which could be used to differentiate the wolves and sheep.
Each test costs 1000$ and we don't have enough funds to test all the 100 'sheep'.
I discussed with our ministers and came to know that the tests can be done on pooled bloodsamples. i.e., I can collect bloods from any number of 'sheep' and mix them. Then if I test the mixture, I will get a positive result if the mixture contain blood from any wolf. I will get a negative result if all the samples are from actual sheep.
One caveat is that the test results are available to you after all the tests are done!
Now , I am looking for ideas where I can find ALL the wolves in minimum number of pooled tests. I request the brilliant young minds of this land to come up with a testing strategy.
Can you help the king by devising a strategy?
strategy combinatorics algorithm
strategy combinatorics algorithm
asked 4 hours ago
Jyotish RobinJyotish Robin
515112
515112
$begingroup$
This is close to a covering design (Lotto wheel) problem.
$endgroup$
– Arnaud Mortier
3 hours ago
1
$begingroup$
First of all, does the government have enough funds to test 99 of the sheep? Because that would work, at a cost of $99,000. Congrats, you just saved 1,000 bucks.
$endgroup$
– user45266
1 hour ago
1
$begingroup$
Alternatively, you know the location of all 5 wolves. Take initiative and slaughter all 100. Now you have no more wolves, and food for a good while to come.
$endgroup$
– user45266
54 mins ago
add a comment |
$begingroup$
This is close to a covering design (Lotto wheel) problem.
$endgroup$
– Arnaud Mortier
3 hours ago
1
$begingroup$
First of all, does the government have enough funds to test 99 of the sheep? Because that would work, at a cost of $99,000. Congrats, you just saved 1,000 bucks.
$endgroup$
– user45266
1 hour ago
1
$begingroup$
Alternatively, you know the location of all 5 wolves. Take initiative and slaughter all 100. Now you have no more wolves, and food for a good while to come.
$endgroup$
– user45266
54 mins ago
$begingroup$
This is close to a covering design (Lotto wheel) problem.
$endgroup$
– Arnaud Mortier
3 hours ago
$begingroup$
This is close to a covering design (Lotto wheel) problem.
$endgroup$
– Arnaud Mortier
3 hours ago
1
1
$begingroup$
First of all, does the government have enough funds to test 99 of the sheep? Because that would work, at a cost of $99,000. Congrats, you just saved 1,000 bucks.
$endgroup$
– user45266
1 hour ago
$begingroup$
First of all, does the government have enough funds to test 99 of the sheep? Because that would work, at a cost of $99,000. Congrats, you just saved 1,000 bucks.
$endgroup$
– user45266
1 hour ago
1
1
$begingroup$
Alternatively, you know the location of all 5 wolves. Take initiative and slaughter all 100. Now you have no more wolves, and food for a good while to come.
$endgroup$
– user45266
54 mins ago
$begingroup$
Alternatively, you know the location of all 5 wolves. Take initiative and slaughter all 100. Now you have no more wolves, and food for a good while to come.
$endgroup$
– user45266
54 mins ago
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Here's my shot at it:
Pool 50 of the sheep. Of those 50, if the result comes back positive (wolf detected), split in half again, testing 25 pooled together. If this comes back positive, either 12 or 13 ofthe positive group. You see where this is going. Any negative results rule out all sheep in that group. Worst case scenario, it takes 54 tests (see image for explanation). Best case scenario, you get 14 tests. Price range: 14,000 - 54,000 dollars.
Not sure yet of the expected average, but I know this is better than 99 tests on average.
Diagram:
If this isn't the optimal solution, then my best bet on how to improve it would be to:
split into 1/5 the size of each group.
$endgroup$
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
add a comment |
$begingroup$
There must be better algorithms, but just to put an upper bound on a solution, the worst case scenario can be reduced to
35 tests. Do binary searches for one wolf. Each search is done on all the sheep minus wolfs found in the previous searches. So the first binary search is done on a set of all 100 'sheep'. You will find a wolf in no more than 7 tests. The next binary search is done on remaining 99 sheep. And so on. You will need 5 binary searches. Each search will take at most 7 tests. So the worst case scenario is 35 tests.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "559"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fpuzzling.stackexchange.com%2fquestions%2f81737%2fwolves-and-sheep%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Here's my shot at it:
Pool 50 of the sheep. Of those 50, if the result comes back positive (wolf detected), split in half again, testing 25 pooled together. If this comes back positive, either 12 or 13 ofthe positive group. You see where this is going. Any negative results rule out all sheep in that group. Worst case scenario, it takes 54 tests (see image for explanation). Best case scenario, you get 14 tests. Price range: 14,000 - 54,000 dollars.
Not sure yet of the expected average, but I know this is better than 99 tests on average.
Diagram:
If this isn't the optimal solution, then my best bet on how to improve it would be to:
split into 1/5 the size of each group.
$endgroup$
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
add a comment |
$begingroup$
Here's my shot at it:
Pool 50 of the sheep. Of those 50, if the result comes back positive (wolf detected), split in half again, testing 25 pooled together. If this comes back positive, either 12 or 13 ofthe positive group. You see where this is going. Any negative results rule out all sheep in that group. Worst case scenario, it takes 54 tests (see image for explanation). Best case scenario, you get 14 tests. Price range: 14,000 - 54,000 dollars.
Not sure yet of the expected average, but I know this is better than 99 tests on average.
Diagram:
If this isn't the optimal solution, then my best bet on how to improve it would be to:
split into 1/5 the size of each group.
$endgroup$
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
add a comment |
$begingroup$
Here's my shot at it:
Pool 50 of the sheep. Of those 50, if the result comes back positive (wolf detected), split in half again, testing 25 pooled together. If this comes back positive, either 12 or 13 ofthe positive group. You see where this is going. Any negative results rule out all sheep in that group. Worst case scenario, it takes 54 tests (see image for explanation). Best case scenario, you get 14 tests. Price range: 14,000 - 54,000 dollars.
Not sure yet of the expected average, but I know this is better than 99 tests on average.
Diagram:
If this isn't the optimal solution, then my best bet on how to improve it would be to:
split into 1/5 the size of each group.
$endgroup$
Here's my shot at it:
Pool 50 of the sheep. Of those 50, if the result comes back positive (wolf detected), split in half again, testing 25 pooled together. If this comes back positive, either 12 or 13 ofthe positive group. You see where this is going. Any negative results rule out all sheep in that group. Worst case scenario, it takes 54 tests (see image for explanation). Best case scenario, you get 14 tests. Price range: 14,000 - 54,000 dollars.
Not sure yet of the expected average, but I know this is better than 99 tests on average.
Diagram:
If this isn't the optimal solution, then my best bet on how to improve it would be to:
split into 1/5 the size of each group.
answered 57 mins ago
user45266user45266
32514
32514
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
add a comment |
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
I do not consider it much of a spoiler (there must be better algorithms) but the worst case scenario can be easily reduced to 35 tests. rot13(Qb ovanel frnepurf sbe bar jbys. Rnpu frnepu vf qbar ba nyy gur furrc zvahf jbysf sbhaq va gur cerivbhf frnepurf. Lbh jvyy arrq 5 frnepurf. Rnpu frnepu jvyy gnxr ng zbfg 7 grfgf. Fb gur jbefg pnfr fpranevb vf 35 grfgf).
$endgroup$
– ppgdev
39 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
Wait a minute, how would that work? Could you be a little more specific?
$endgroup$
– user45266
36 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
@ppgdev Like starting with 100, you split the group into 5 groups? What do you mean?
$endgroup$
– user45266
35 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
$begingroup$
I moved my comment into an upper bound answer, with a more detailed explanation.
$endgroup$
– ppgdev
19 mins ago
add a comment |
$begingroup$
There must be better algorithms, but just to put an upper bound on a solution, the worst case scenario can be reduced to
35 tests. Do binary searches for one wolf. Each search is done on all the sheep minus wolfs found in the previous searches. So the first binary search is done on a set of all 100 'sheep'. You will find a wolf in no more than 7 tests. The next binary search is done on remaining 99 sheep. And so on. You will need 5 binary searches. Each search will take at most 7 tests. So the worst case scenario is 35 tests.
$endgroup$
add a comment |
$begingroup$
There must be better algorithms, but just to put an upper bound on a solution, the worst case scenario can be reduced to
35 tests. Do binary searches for one wolf. Each search is done on all the sheep minus wolfs found in the previous searches. So the first binary search is done on a set of all 100 'sheep'. You will find a wolf in no more than 7 tests. The next binary search is done on remaining 99 sheep. And so on. You will need 5 binary searches. Each search will take at most 7 tests. So the worst case scenario is 35 tests.
$endgroup$
add a comment |
$begingroup$
There must be better algorithms, but just to put an upper bound on a solution, the worst case scenario can be reduced to
35 tests. Do binary searches for one wolf. Each search is done on all the sheep minus wolfs found in the previous searches. So the first binary search is done on a set of all 100 'sheep'. You will find a wolf in no more than 7 tests. The next binary search is done on remaining 99 sheep. And so on. You will need 5 binary searches. Each search will take at most 7 tests. So the worst case scenario is 35 tests.
$endgroup$
There must be better algorithms, but just to put an upper bound on a solution, the worst case scenario can be reduced to
35 tests. Do binary searches for one wolf. Each search is done on all the sheep minus wolfs found in the previous searches. So the first binary search is done on a set of all 100 'sheep'. You will find a wolf in no more than 7 tests. The next binary search is done on remaining 99 sheep. And so on. You will need 5 binary searches. Each search will take at most 7 tests. So the worst case scenario is 35 tests.
answered 20 mins ago
ppgdevppgdev
41516
41516
add a comment |
add a comment |
Thanks for contributing an answer to Puzzling Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fpuzzling.stackexchange.com%2fquestions%2f81737%2fwolves-and-sheep%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
This is close to a covering design (Lotto wheel) problem.
$endgroup$
– Arnaud Mortier
3 hours ago
1
$begingroup$
First of all, does the government have enough funds to test 99 of the sheep? Because that would work, at a cost of $99,000. Congrats, you just saved 1,000 bucks.
$endgroup$
– user45266
1 hour ago
1
$begingroup$
Alternatively, you know the location of all 5 wolves. Take initiative and slaughter all 100. Now you have no more wolves, and food for a good while to come.
$endgroup$
– user45266
54 mins ago