Rigorous way to solve the river crossing problem
$begingroup$
I encountered this classic brain teaser:
Four people, A, B, C and D need to get across a river. The only way to
cross the river is by an old bridge, which holds at most 2 people at a
time. Being dark, they can't cross the bridge without a torch, of
which they only have one. So each pair can only walk at the speed of
the slower person. They need to get all of them across to the other
side as quickly as possible. A is the slowest and takes 10 minutes to
cross; B takes 5 minutes; C takes 2 minutes; and D takes 1 minute.
After trying different combinations of paths, the paths that seems to give the smallest time seem to be: CD -> C -> AB -> D -> CD or CD -> D -> AB -> C -> CD
which both give 17 minutes. All other combinations give times that are higher than 17 minutes.
However, is there a systematic way (more rigorous) way to tackle this problem?
river-crossing
New contributor
$endgroup$
add a comment |
$begingroup$
I encountered this classic brain teaser:
Four people, A, B, C and D need to get across a river. The only way to
cross the river is by an old bridge, which holds at most 2 people at a
time. Being dark, they can't cross the bridge without a torch, of
which they only have one. So each pair can only walk at the speed of
the slower person. They need to get all of them across to the other
side as quickly as possible. A is the slowest and takes 10 minutes to
cross; B takes 5 minutes; C takes 2 minutes; and D takes 1 minute.
After trying different combinations of paths, the paths that seems to give the smallest time seem to be: CD -> C -> AB -> D -> CD or CD -> D -> AB -> C -> CD
which both give 17 minutes. All other combinations give times that are higher than 17 minutes.
However, is there a systematic way (more rigorous) way to tackle this problem?
river-crossing
New contributor
$endgroup$
add a comment |
$begingroup$
I encountered this classic brain teaser:
Four people, A, B, C and D need to get across a river. The only way to
cross the river is by an old bridge, which holds at most 2 people at a
time. Being dark, they can't cross the bridge without a torch, of
which they only have one. So each pair can only walk at the speed of
the slower person. They need to get all of them across to the other
side as quickly as possible. A is the slowest and takes 10 minutes to
cross; B takes 5 minutes; C takes 2 minutes; and D takes 1 minute.
After trying different combinations of paths, the paths that seems to give the smallest time seem to be: CD -> C -> AB -> D -> CD or CD -> D -> AB -> C -> CD
which both give 17 minutes. All other combinations give times that are higher than 17 minutes.
However, is there a systematic way (more rigorous) way to tackle this problem?
river-crossing
New contributor
$endgroup$
I encountered this classic brain teaser:
Four people, A, B, C and D need to get across a river. The only way to
cross the river is by an old bridge, which holds at most 2 people at a
time. Being dark, they can't cross the bridge without a torch, of
which they only have one. So each pair can only walk at the speed of
the slower person. They need to get all of them across to the other
side as quickly as possible. A is the slowest and takes 10 minutes to
cross; B takes 5 minutes; C takes 2 minutes; and D takes 1 minute.
After trying different combinations of paths, the paths that seems to give the smallest time seem to be: CD -> C -> AB -> D -> CD or CD -> D -> AB -> C -> CD
which both give 17 minutes. All other combinations give times that are higher than 17 minutes.
However, is there a systematic way (more rigorous) way to tackle this problem?
river-crossing
river-crossing
New contributor
New contributor
New contributor
asked 6 mins ago
VictorVictor
1
1
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
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
});
}
});
Victor is a new contributor. Be nice, and check out our Code of Conduct.
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%2f81913%2frigorous-way-to-solve-the-river-crossing-problem%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Victor is a new contributor. Be nice, and check out our Code of Conduct.
Victor is a new contributor. Be nice, and check out our Code of Conduct.
Victor is a new contributor. Be nice, and check out our Code of Conduct.
Victor is a new contributor. Be nice, and check out our Code of Conduct.
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%2f81913%2frigorous-way-to-solve-the-river-crossing-problem%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