Formula(s) for sharing multiple golden geese
Please have mercy on a simple, non-math person like me. I'm trying to find a formula (or even be told it's impossible) for a unique and difficult compound interest scenario pertaining to the Golden Goose. At least it's unique and difficult to me.
Setup: Suppose I have a "Golden Goose" which is actually just a regular goose except it lays a solid gold egg every day. Also if I wait and accumulate 100 golden eggs, I can exchange them for another goose.
Scenario: So I've got a golden goose and I've got a friend, Jimmy, that also has a golden goose! We agree to pool our eggs so we can collectively buy more geese more quickly.
- So instead of each of each us waiting 100 days to get another goose, we combine our eggs and reach 100 eggs in 50 days. Jimmy then buys a goose bringing us to 3 geese total. We wait 34 more days, combine our 100 eggs again and then I get a goose.
- So at the end of this 84 day egg-pooling-cycle we each finish with 1 more goose than we started with. We each got a 2nd goose 16 days earlier than if we waited on our own!
Now let's try it again adding a 3rd friend with more geese than either of us.
- We have another friend, Sally, with 4 golden geese. So I have 2, Jimmy has 2, and Sally has 4, which brings us to 8 total. We decide to pool our eggs again to double our geese.
- Since Sally has double the geese we each do and is therefore contributing double the eggs, it's only fair that she gets double the geese during this next egg pooling cycle.
- So in 13 days (we're rounding up from 12.xxx days) we accumulate 100 eggs and Sally gets a goose, bring the new total to 9 geese.
- In 12 more days, I get a goose. New total = 10 geese
- In 10 more days, Sally gets a goose. New total = 11 geese
- In 10 more days, Jimmy gets a goose. New total = 12 geese
- In 9 more days, Sally gets a goose. New total = 13 geese
- In 8 more days, I gets a goose. New total = 14 geese
- In 8 more days, Sally gets a goose. New total = 15 geese
- In 7 more days, Jimmy gets a goose. Final total = 16 geese
- So at the end of this cycle, which lasted a total of about 77 days, Sally finishes with 8 geese, I have 4, and Jimmy has 4.
- Since Sally has double the geese we each do and is therefore contributing double the eggs, it's only fair that she gets double the geese during this next egg pooling cycle.
So we all figure, wow! This is great! The more people with geese we pool together the more everyone gets geese more quickly. Right?
Right?
WRONG!!
If Jimmy and I would have simply pooled our 4 geese without Sally (or if Sally would have accumulated on her own without us), we/she would have reached 8 total geese in 77 days still. We didn't save any time by adding Sally.
So now we're left asking ourselves
- Was our math right and fair? Did everyone get the number of geese they were supposed to?
- Is there a scenario where pooling eggs is inefficient for some or all participants?
- What if it was 10 people each with 1 goose?
- 20 people each with 1 goose?
- 3 people each with 1 goose and 2 people with 4 geese?
- Is there a ratio for pooling eggs that is MOST efficient?
And now the real question:
- What is a formula to find the best ratio and/or length of time for pooling eggs and gaining geese based on the number of participants AND the number of geese each participant begins with?
Note: Assume the geese all lay one egg at the same time, in unison, in the morning. So if you acquired 100 geese in the morning after they had already laid their eggs for their previous owner, you would have to wait 1 full day for them to lay again next morning.
I was surprised to know that there was already a question about the Golden Goose, but it's not super related.
Suppose that at the end of day $n$ (after all egg-laying and all possible exchanging for that day) we have $g_n$ geese and $e_n$ eggs, for $n\in\{0,1,2,...\}$. Then the evolution of $\{(g_n,e_n)\}_{n\in\mathbb{N}}$ is given by the following recursion: $$\begin{cases} g_{n+1}=g_n+\left\lfloor{e_n+g_n\over 100}\right\rfloor\\[2ex] e_{n+1}=(e_n+g_n)\bmod 100,\end{cases}\tag{1}$$ where $\lfloor\cdot\rfloor$ and $\bmod$ are the floor function and modulo operator, respectively. The number of days required to obtain $g'$ geese starting with just $g_0$ geese (and no eggs), can then be expressed as follows: $$N(g_0,g')=\text{ least }n:\ g_n\ge g',\ e_0=0.\tag{2}$$
NB: Because $g_{n+1}$ depends on both $g_n$ and $e_n$, it seems unlikely that $N(g_0,g')$ could be computed without involving them both -- which it seems is what you've been trying to do.
Here's a plot of "doubling-times", i.e. $N(g_0,2g_0)$ for $1\le g_0\le 100,$ computed using (1) & (2) (it's not monotonic, but is quite close to the hyperbola $g_0\mapsto {30\over g_0} + 70$ shown by the dotted line):
Interestingly, the "doubling-time" is apparently the same ($70$ days) for any starting number of geese greater than $81$ (I checked it out to many thousands).
I don't know how to prove the following claims, though some might be trivial; but all of these are consistent with many thousands of various numerically computed cases using (1) & (2):
Claims: Suppose $g_0=\sum_{i=1}^kg^i_0$, where the $g^i_0$ are positive integers, and that the $k+1$ sequences $(g_n),(g^1_n),...,(g^k_n)$ are all defined by recursions of form identical to (1) with respective initial values $(\text{geese, eggs})=(g_0,0), (g^1_0,0), ..., (g^k_0,0).$ Further, define the pooling advantage as $A_n(g^1_0,...,g^k_0):=g_n-\sum_{i=1}^kg^i_n,$ i.e. the amount by which, on day $n$, the number of geese by pooling the eggs of all the groups exceeds the number of geese without pooling them. Then:
- For all $n\ge 1,$ we have $A_n(g^1_0,...,g^k_0)\ge 0.$ (I.e., as others have mentioned, pooling is never a disadvantage and is often an advantage. It's always an advantage when collecting eggs over sufficiently many days, according to (3) below.)
- $A_{n+1}-A_n\in\{0,\pm 1,\pm 2,\ldots,\pm k\}.$ (I.e., on successive days, the pooling advantage changes by at most $k$ geese.)
- For any desired pooling advantage $a$, there exists a number of days $n_a$ such that $n\gt n_a\implies A_n>a.$ (I.e., for any number of any-sized groups of geese, the pooling advantage eventually exceeds and remains larger than any desired number $a$.
These points are illustrated in the following plot showing the pooling advantage $A_n$, over the time period $1\le n\le 200,$ for the three grouping combinations you mentioned. Here $a*[A]+b*[B]$ denotes $a$ groups of size $A$ pooled with $b$ groups of size $B$:
To help with verification, here are a few traces of the evolution of $(n, g_n, e_n)$, starting with $(0,g_0,0)$ in each case and stopping when the number of geese has at least doubled:
(0, 4, 0) (0, 8, 0) (0, 20, 0) (0, 61, 0) (0, 81, 0)
(1, 4, 4) (1, 8, 8) (1, 20, 20) (1, 61, 61) (1, 81, 81)
(2, 4, 8) (2, 8, 16) (2, 20, 40) (2, 62, 22) (2, 82, 62)
(3, 4, 12) (3, 8, 24) (3, 20, 60) (3, 62, 84) (3, 83, 44)
(4, 4, 16) (4, 8, 32) (4, 20, 80) (4, 63, 46) (4, 84, 27)
(5, 4, 20) (5, 8, 40) (5, 21, 0) (5, 64, 9) (5, 85, 11)
(6, 4, 24) (6, 8, 48) (6, 21, 21) (6, 64, 73) (6, 85, 96)
(7, 4, 28) (7, 8, 56) (7, 21, 42) (7, 65, 37) (7, 86, 81)
(8, 4, 32) (8, 8, 64) (8, 21, 63) (8, 66, 2) (8, 87, 67)
(9, 4, 36) (9, 8, 72) (9, 21, 84) (9, 66, 68) (9, 88, 54)
(10, 4, 40) (10, 8, 80) (10, 22, 5) (10, 67, 34) (10, 89, 42)
(11, 4, 44) (11, 8, 88) (11, 22, 27) (11, 68, 1) (11, 90, 31)
(12, 4, 48) (12, 8, 96) (12, 22, 49) (12, 68, 69) (12, 91, 21)
(13, 4, 52) (13, 9, 4) (13, 22, 71) (13, 69, 37) (13, 92, 12)
(14, 4, 56) (14, 9, 13) (14, 22, 93) (14, 70, 6) (14, 93, 4)
(15, 4, 60) (15, 9, 22) (15, 23, 15) (15, 70, 76) (15, 93, 97)
(16, 4, 64) (16, 9, 31) (16, 23, 38) (16, 71, 46) (16, 94, 90)
(17, 4, 68) (17, 9, 40) (17, 23, 61) (17, 72, 17) (17, 95, 84)
(18, 4, 72) (18, 9, 49) (18, 23, 84) (18, 72, 89) (18, 96, 79)
(19, 4, 76) (19, 9, 58) (19, 24, 7) (19, 73, 61) (19, 97, 75)
(20, 4, 80) (20, 9, 67) (20, 24, 31) (20, 74, 34) (20, 98, 72)
(21, 4, 84) (21, 9, 76) (21, 24, 55) (21, 75, 8) (21, 99, 70)
(22, 4, 88) (22, 9, 85) (22, 24, 79) (22, 75, 83) (22, 100, 69)
(23, 4, 92) (23, 9, 94) (23, 25, 3) (23, 76, 58) (23, 101, 69)
(24, 4, 96) (24, 10, 3) (24, 25, 28) (24, 77, 34) (24, 102, 70)
(25, 5, 0) (25, 10, 13) (25, 25, 53) (25, 78, 11) (25, 103, 72)
(26, 5, 5) (26, 10, 23) (26, 25, 78) (26, 78, 89) (26, 104, 75)
(27, 5, 10) (27, 10, 33) (27, 26, 3) (27, 79, 67) (27, 105, 79)
(28, 5, 15) (28, 10, 43) (28, 26, 29) (28, 80, 46) (28, 106, 84)
(29, 5, 20) (29, 10, 53) (29, 26, 55) (29, 81, 26) (29, 107, 90)
(30, 5, 25) (30, 10, 63) (30, 26, 81) (30, 82, 7) (30, 108, 97)
(31, 5, 30) (31, 10, 73) (31, 27, 7) (31, 82, 89) (31, 110, 5)
(32, 5, 35) (32, 10, 83) (32, 27, 34) (32, 83, 71) (32, 111, 15)
(33, 5, 40) (33, 10, 93) (33, 27, 61) (33, 84, 54) (33, 112, 26)
(34, 5, 45) (34, 11, 3) (34, 27, 88) (34, 85, 38) (34, 113, 38)
(35, 5, 50) (35, 11, 14) (35, 28, 15) (35, 86, 23) (35, 114, 51)
(36, 5, 55) (36, 11, 25) (36, 28, 43) (36, 87, 9) (36, 115, 65)
(37, 5, 60) (37, 11, 36) (37, 28, 71) (37, 87, 96) (37, 116, 80)
(38, 5, 65) (38, 11, 47) (38, 28, 99) (38, 88, 83) (38, 117, 96)
(39, 5, 70) (39, 11, 58) (39, 29, 27) (39, 89, 71) (39, 119, 13)
(40, 5, 75) (40, 11, 69) (40, 29, 56) (40, 90, 60) (40, 120, 32)
(41, 5, 80) (41, 11, 80) (41, 29, 85) (41, 91, 50) (41, 121, 52)
(42, 5, 85) (42, 11, 91) (42, 30, 14) (42, 92, 41) (42, 122, 73)
(43, 5, 90) (43, 12, 2) (43, 30, 44) (43, 93, 33) (43, 123, 95)
(44, 5, 95) (44, 12, 14) (44, 30, 74) (44, 94, 26) (44, 125, 18)
(45, 6, 0) (45, 12, 26) (45, 31, 4) (45, 95, 20) (45, 126, 43)
(46, 6, 6) (46, 12, 38) (46, 31, 35) (46, 96, 15) (46, 127, 69)
(47, 6, 12) (47, 12, 50) (47, 31, 66) (47, 97, 11) (47, 128, 96)
(48, 6, 18) (48, 12, 62) (48, 31, 97) (48, 98, 8) (48, 130, 24)
(49, 6, 24) (49, 12, 74) (49, 32, 28) (49, 99, 6) (49, 131, 54)
(50, 6, 30) (50, 12, 86) (50, 32, 60) (50, 100, 5) (50, 132, 85)
(51, 6, 36) (51, 12, 98) (51, 32, 92) (51, 101, 5) (51, 134, 17)
(52, 6, 42) (52, 13, 10) (52, 33, 24) (52, 102, 6) (52, 135, 51)
(53, 6, 48) (53, 13, 23) (53, 33, 57) (53, 103, 8) (53, 136, 86)
(54, 6, 54) (54, 13, 36) (54, 33, 90) (54, 104, 11) (54, 138, 22)
(55, 6, 60) (55, 13, 49) (55, 34, 23) (55, 105, 15) (55, 139, 60)
(56, 6, 66) (56, 13, 62) (56, 34, 57) (56, 106, 20) (56, 140, 99)
(57, 6, 72) (57, 13, 75) (57, 34, 91) (57, 107, 26) (57, 142, 39)
(58, 6, 78) (58, 13, 88) (58, 35, 25) (58, 108, 33) (58, 143, 81)
(59, 6, 84) (59, 14, 1) (59, 35, 60) (59, 109, 41) (59, 145, 24)
(60, 6, 90) (60, 14, 15) (60, 35, 95) (60, 110, 50) (60, 146, 69)
(61, 6, 96) (61, 14, 29) (61, 36, 30) (61, 111, 60) (61, 148, 15)
(62, 7, 2) (62, 14, 43) (62, 36, 66) (62, 112, 71) (62, 149, 63)
(63, 7, 9) (63, 14, 57) (63, 37, 2) (63, 113, 83) (63, 151, 12)
(64, 7, 16) (64, 14, 71) (64, 37, 39) (64, 114, 96) (64, 152, 63)
(65, 7, 23) (65, 14, 85) (65, 37, 76) (65, 116, 10) (65, 154, 15)
(66, 7, 30) (66, 14, 99) (66, 38, 13) (66, 117, 26) (66, 155, 69)
(67, 7, 37) (67, 15, 13) (67, 38, 51) (67, 118, 43) (67, 157, 24)
(68, 7, 44) (68, 15, 28) (68, 38, 89) (68, 119, 61) (68, 158, 81)
(69, 7, 51) (69, 15, 43) (69, 39, 27) (69, 120, 80) (69, 160, 39)
(70, 7, 58) (70, 15, 58) (70, 39, 66) (70, 122, 0) (70, 161, 99)
(71, 7, 65) (71, 15, 73) (71, 40, 5) (71, 163, 60)
(72, 7, 72) (72, 15, 88)
(73, 7, 79) (73, 16, 3)
(74, 7, 86)
(75, 7, 93)
(76, 8, 0)