DEV Community is a community of 602,908 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Discussion on: Fibonacci Goals

Replies for: Fibonacci and Hegel?! Now that's a power couple. Good on you. If Fibonacci proves too fast (or too slow), there are many other Fibonacci-like seq...

swyx

oh wow, nice, i have never really read further into alternative sequences. this is a nice list! i think i picked Fibonacci because it has high familiarity to others while still having a constant ratio. any others that fit that bar?

Kyle MacLean Smith • Edited

Thanks!

Yeah, Fibonacci is likely the only sequence of this type with high familiarity.

Part of the issue is the metallic constant ratios, other than Gold, aren't familiar either: en.wikipedia.org/wiki/Metallic_mean

Silver is likely the second most familiar. It's used in a lot of Japanese architecture, for instance. However, I don't think the sequence for Silver is familiar, just the ratio. Plus, Silver can be seen as Geometric via a metallic conveyor.

That said, I hope an algebraic perspective on Fibonacci becomes highly familiar, sooner than later. It's very useful, especially exploring recursion and exponentiation. I personally believe it's a great heuristic for automation literacy education.

Some detail:

1. To keep convergent (within the field of view), translate growth as decay via 1/growth, e.g. 1/1.618... = 0.618....
2. Pick a preferred decay, e.g. 5/6 decay (6/5 growth).
3. Find its associated {a, b, c} right triangle, e.g. the {60, 11, 61} triple associates with 5/6 decay.
4. Plug the variables/options into the Fibonacci-like "recursive dialectic" formula; on WolframAlpha it's RecurrenceTable[{ f[ n ] == ( 2b/a ) * f[ n - 1 ] + f[ n - 2 ], f[ 0 ] == x, f[ 1 ] == y }, f, { n, 0, 60 }].

f(0) and f(1) can be any value. E.g. 0.618... decay associates with the { 2, 1, 5^(1/2) } right triangle:

• 2b/a = 2*1/2 = 1.
• { f(0) = 0, f(1) = 1 } or { f(0) = 1, f(1) = 1 } make the Fibonacci numbers.
• { f(0) = 2, f(1) = 1 } makes the Lucas numbers.
• { f(0) = 97, f(1) = 7 } makes nameless Fibonacci-like numbers including f(59)/f(60) = 64051866980550/103638097817417 ~ 0.618....

Say you're making more progress than you expected and decide to pivot from Gold to Silver, from 0.618.... to 0.414.... If you did this after f(15), then the pivot would start at { 2b/a = 2*2/2 = 2, f(0) = 610, f(1) = 987 }. This pivot, a part of your personal journey, would have a nameless fibonacci-like f(14)/f(15) of 100143044/241766695 ~ 0.414....

When a != 1 the sequence has a denominator, which might not work for you. Starting at f(0) and f(1) with values that are multiples of powers of the 2b/a denominator will delay when the denominator shows up in the f(n) sequence.

E.g. for { 2b/a = 2*11/60 = 22/60 = 11/30, f(0) = 1*30^30, f(1) = 1*30^30 }, f(30)/f(31) = 44066516280464542497279255915263071939861665630/52879646064209853316025665905867547137160170631 ~ 0.833... ~ (5/6).

More than enough detail for your use case! I hope you found this of general interest. It helped me think through some stuff so thank you.

Here are visualizations of different decay rates, remembering that 1/5 decay is also x5 growth, 5/6 decay is also x6/5 growth (but within the field of view): instagram.com/p/CDhzeMGDE71/