Repeating random choice
$begingroup$
Let's say I have 10 shirts (A to J) and I'd like to randomly wear a different one each day.
So, the one I wore yesterday (let's say shirt J) has 0% chance of being chosen today; The one I wore the day before (shirt I) has a little chance of being chosen today; ... the one I wore the farthest away in time has the greatest chance of being chosen today.
Also let's say that for the last 10 days I used all 10 different shirts in alphabetical order, so my choices, ordered from most desired to least desired are "A-B-C-D-E-F-G-H-I-J".
So, what is the best distribution of probabilities for each shirt?
Using an idea I had with the golden ratio (fibonacci numbers), I came up with this (that hopefully scales well for larger number of items)
id f s/f
A 34 39% (34/88)
B 21 24% (24/88)
C 13 15%
D 8 9%
E 5 6%
F 3 3%
G 2 2%
H 1 1%
I 1 1% ( 1/88)
J 0 0%
-----------
sum 88 100%
Assuming I selected shirt B today, tomorrow's order would be "A-C-D-E-F-G-H-I-J-B"
My crazy old method involved repeated interval shuffles from least desired to most desired group:
- Shuffle last 4: ABCDEF(ghij) let's say shuffling didn't reorder
- Shuffle next 4: ABCDE(fghi)J
- Shuffle next 4: ABCD(efgh)IJ
- Shuffle next 4: ABC(defg)HIJ
- Shuffle next 4: AB(cdef)GHIJ
- Shuffle next 4: A(bcde)FGHIJ
- Shuffle next 4: (abcd)EFGHIJ
The next day, make the shirt I used today the last one.
but I feel it's not adequate enough.
probability algorithms random
$endgroup$
add a comment |
$begingroup$
Let's say I have 10 shirts (A to J) and I'd like to randomly wear a different one each day.
So, the one I wore yesterday (let's say shirt J) has 0% chance of being chosen today; The one I wore the day before (shirt I) has a little chance of being chosen today; ... the one I wore the farthest away in time has the greatest chance of being chosen today.
Also let's say that for the last 10 days I used all 10 different shirts in alphabetical order, so my choices, ordered from most desired to least desired are "A-B-C-D-E-F-G-H-I-J".
So, what is the best distribution of probabilities for each shirt?
Using an idea I had with the golden ratio (fibonacci numbers), I came up with this (that hopefully scales well for larger number of items)
id f s/f
A 34 39% (34/88)
B 21 24% (24/88)
C 13 15%
D 8 9%
E 5 6%
F 3 3%
G 2 2%
H 1 1%
I 1 1% ( 1/88)
J 0 0%
-----------
sum 88 100%
Assuming I selected shirt B today, tomorrow's order would be "A-C-D-E-F-G-H-I-J-B"
My crazy old method involved repeated interval shuffles from least desired to most desired group:
- Shuffle last 4: ABCDEF(ghij) let's say shuffling didn't reorder
- Shuffle next 4: ABCDE(fghi)J
- Shuffle next 4: ABCD(efgh)IJ
- Shuffle next 4: ABC(defg)HIJ
- Shuffle next 4: AB(cdef)GHIJ
- Shuffle next 4: A(bcde)FGHIJ
- Shuffle next 4: (abcd)EFGHIJ
The next day, make the shirt I used today the last one.
but I feel it's not adequate enough.
probability algorithms random
$endgroup$
$begingroup$
For $k=1,ldots, N$, pick the shirt of "age" $k$ with porbability $k/H_N$, where $H_N=sum_{k=1}^Nfrac 1k$ is the $N$the harmonic number. Note that this (i.e., the demand for the probability being inversely proportional to the age) makes it more likely to repeat yesterday's shirt
$endgroup$
– Hagen von Eitzen
Dec 5 '18 at 20:52
add a comment |
$begingroup$
Let's say I have 10 shirts (A to J) and I'd like to randomly wear a different one each day.
So, the one I wore yesterday (let's say shirt J) has 0% chance of being chosen today; The one I wore the day before (shirt I) has a little chance of being chosen today; ... the one I wore the farthest away in time has the greatest chance of being chosen today.
Also let's say that for the last 10 days I used all 10 different shirts in alphabetical order, so my choices, ordered from most desired to least desired are "A-B-C-D-E-F-G-H-I-J".
So, what is the best distribution of probabilities for each shirt?
Using an idea I had with the golden ratio (fibonacci numbers), I came up with this (that hopefully scales well for larger number of items)
id f s/f
A 34 39% (34/88)
B 21 24% (24/88)
C 13 15%
D 8 9%
E 5 6%
F 3 3%
G 2 2%
H 1 1%
I 1 1% ( 1/88)
J 0 0%
-----------
sum 88 100%
Assuming I selected shirt B today, tomorrow's order would be "A-C-D-E-F-G-H-I-J-B"
My crazy old method involved repeated interval shuffles from least desired to most desired group:
- Shuffle last 4: ABCDEF(ghij) let's say shuffling didn't reorder
- Shuffle next 4: ABCDE(fghi)J
- Shuffle next 4: ABCD(efgh)IJ
- Shuffle next 4: ABC(defg)HIJ
- Shuffle next 4: AB(cdef)GHIJ
- Shuffle next 4: A(bcde)FGHIJ
- Shuffle next 4: (abcd)EFGHIJ
The next day, make the shirt I used today the last one.
but I feel it's not adequate enough.
probability algorithms random
$endgroup$
Let's say I have 10 shirts (A to J) and I'd like to randomly wear a different one each day.
So, the one I wore yesterday (let's say shirt J) has 0% chance of being chosen today; The one I wore the day before (shirt I) has a little chance of being chosen today; ... the one I wore the farthest away in time has the greatest chance of being chosen today.
Also let's say that for the last 10 days I used all 10 different shirts in alphabetical order, so my choices, ordered from most desired to least desired are "A-B-C-D-E-F-G-H-I-J".
So, what is the best distribution of probabilities for each shirt?
Using an idea I had with the golden ratio (fibonacci numbers), I came up with this (that hopefully scales well for larger number of items)
id f s/f
A 34 39% (34/88)
B 21 24% (24/88)
C 13 15%
D 8 9%
E 5 6%
F 3 3%
G 2 2%
H 1 1%
I 1 1% ( 1/88)
J 0 0%
-----------
sum 88 100%
Assuming I selected shirt B today, tomorrow's order would be "A-C-D-E-F-G-H-I-J-B"
My crazy old method involved repeated interval shuffles from least desired to most desired group:
- Shuffle last 4: ABCDEF(ghij) let's say shuffling didn't reorder
- Shuffle next 4: ABCDE(fghi)J
- Shuffle next 4: ABCD(efgh)IJ
- Shuffle next 4: ABC(defg)HIJ
- Shuffle next 4: AB(cdef)GHIJ
- Shuffle next 4: A(bcde)FGHIJ
- Shuffle next 4: (abcd)EFGHIJ
The next day, make the shirt I used today the last one.
but I feel it's not adequate enough.
probability algorithms random
probability algorithms random
edited Dec 6 '18 at 10:51
pmg
asked Dec 5 '18 at 20:23
pmgpmg
1235
1235
$begingroup$
For $k=1,ldots, N$, pick the shirt of "age" $k$ with porbability $k/H_N$, where $H_N=sum_{k=1}^Nfrac 1k$ is the $N$the harmonic number. Note that this (i.e., the demand for the probability being inversely proportional to the age) makes it more likely to repeat yesterday's shirt
$endgroup$
– Hagen von Eitzen
Dec 5 '18 at 20:52
add a comment |
$begingroup$
For $k=1,ldots, N$, pick the shirt of "age" $k$ with porbability $k/H_N$, where $H_N=sum_{k=1}^Nfrac 1k$ is the $N$the harmonic number. Note that this (i.e., the demand for the probability being inversely proportional to the age) makes it more likely to repeat yesterday's shirt
$endgroup$
– Hagen von Eitzen
Dec 5 '18 at 20:52
$begingroup$
For $k=1,ldots, N$, pick the shirt of "age" $k$ with porbability $k/H_N$, where $H_N=sum_{k=1}^Nfrac 1k$ is the $N$the harmonic number. Note that this (i.e., the demand for the probability being inversely proportional to the age) makes it more likely to repeat yesterday's shirt
$endgroup$
– Hagen von Eitzen
Dec 5 '18 at 20:52
$begingroup$
For $k=1,ldots, N$, pick the shirt of "age" $k$ with porbability $k/H_N$, where $H_N=sum_{k=1}^Nfrac 1k$ is the $N$the harmonic number. Note that this (i.e., the demand for the probability being inversely proportional to the age) makes it more likely to repeat yesterday's shirt
$endgroup$
– Hagen von Eitzen
Dec 5 '18 at 20:52
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fmath.stackexchange.com%2fquestions%2f3027595%2frepeating-random-choice%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
Thanks for contributing an answer to Mathematics 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%2fmath.stackexchange.com%2fquestions%2f3027595%2frepeating-random-choice%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$
For $k=1,ldots, N$, pick the shirt of "age" $k$ with porbability $k/H_N$, where $H_N=sum_{k=1}^Nfrac 1k$ is the $N$the harmonic number. Note that this (i.e., the demand for the probability being inversely proportional to the age) makes it more likely to repeat yesterday's shirt
$endgroup$
– Hagen von Eitzen
Dec 5 '18 at 20:52