8
$\begingroup$

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.

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.

$\endgroup$
8
  • $\begingroup$ @LC111 I like this problem. I would like to suggest the following rule clarification (to avoid decimalized days, and to allow for carryover of eggs): At the end of each day you have one chance to trade in eggs for geese. So for instance if you started with 3 geese, after 33 days you would have 3 geese and 99 eggs; and after 34 (total) days you would have 4 geese and 2 eggs. Does this fairly describe the process? $\endgroup$
    – paw88789
    Nov 18, 2021 at 20:40
  • 1
    $\begingroup$ @paw88789 Correct! Thanks for pointing that out. $\endgroup$
    – LCIII
    Nov 18, 2021 at 20:43
  • $\begingroup$ @LCIII The consequence of your previous comment is that your arithmetic was wrong -- the "about 73 days" to get 16 geese from 8 geese is the result of not rounding as required. If each of your fractional days is rounded up to the nearest integer, the correct total is not "about 73", but rather 77. This is the exact same number of days to get 8 geese from 4 geese (again rounding up as required). $\endgroup$
    – r.e.s.
    Nov 18, 2021 at 21:33
  • $\begingroup$ @r.e.s. Yes, thanks for pointing that out. I've updated the question. $\endgroup$
    – LCIII
    Nov 19, 2021 at 4:22
  • 1
    $\begingroup$ I think the doubling time for four geese is 76 days, and for 8 geese is 73 days (not 77 for either as in the question). Hopefully I kept track of the eggs correctly. Generally, there will be an advantage to egg pooling if, at the end of any day, the combined total of eggs is greater than $100$ (or a multiple of $100$), and the individual egg stores are less than that number. For a fixed number of total starting geese, egg pooling can be no worse (and frequently much better) than not pooling. $\endgroup$
    – Sal
    Nov 24, 2021 at 3:22

1 Answer 1

3
$\begingroup$

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):

enter image description here

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:

  1. 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.)
  2. $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.)
  3. 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$:

enter image description here


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)                         
$\endgroup$
5
  • $\begingroup$ It would not be a disadvantage to pool the $61$ and $20$ geese, as it still takes the full 71 days before the $61,20$ has doubled to $122,40$ $\endgroup$
    – Sal
    Nov 24, 2021 at 3:20
  • $\begingroup$ @Sal It is disadvantageous to pool in this case: If they're pooled, it takes 71 days for the 61+20 geese to double. If they are not pooled, the 61 geese double in only 70 days, so it is disadvantageous for the person with the 61 geese to pool them with the other 20 geese. The person with the 20 geese doubles them in 71 days whether pooled or not pooled. $\endgroup$
    – r.e.s.
    Nov 24, 2021 at 5:04
  • $\begingroup$ We're using a different definition of 'disadvantage' here. However, even using your definition, it is no disadvantage. There are at all times at least as many geese in the 'pooled scenario' compared to not pooling. These geese may be divided among the investors such that each has no fewer geese than they would have without pooling. In the example above, by day 70, the 61 goose investor should have been given 61 geese, and it is the 20 goose investor waiting the extra day $\endgroup$
    – Sal
    Nov 24, 2021 at 14:14
  • $\begingroup$ This is amazing $\endgroup$
    – LCIII
    Nov 24, 2021 at 15:10
  • 1
    $\begingroup$ @Sal Thanks for your persistence! Hopefully, my equations and computations are correct, but I mistakenly (for no good reason) interpreted "pooling" to mean that not only the eggs but also the geese were pooled together; e.g., that if we pooled 61 geese with 20 others, we couldn't consider the 61 to have doubled until the whole pool of 81 geese had doubled. Sorry for the confusion -- I'll edit my answer. $\endgroup$
    – r.e.s.
    Nov 24, 2021 at 16:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.