Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

The New Coffee Room

  1. TNCR
  2. General Discussion
  3. Puzzle time - the Fibonacci numbers

Puzzle time - the Fibonacci numbers

Scheduled Pinned Locked Moved General Discussion
31 Posts 4 Posters 310 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jon-nycJ Online
    jon-nycJ Online
    jon-nyc
    wrote on last edited by jon-nyc
    #9

    You’re on track, and one small insight from a solution.

    Only non-witches get due process.

    • Cotton Mather, Salem Massachusetts, 1692
    1 Reply Last reply
    • KlausK Offline
      KlausK Offline
      Klaus
      wrote on last edited by
      #10

      I think the proof of looping can be seen from the congruence property of modular arithmetic. In particular, "modulo" is a congruence with respect to Fibonacci numbers:

      Fib(n) mod m = (Fib(n-1) mod m) + (Fib(n-2) mod m) (for n >= 2)

      Since there are only about m^2 possible pairs of numbers in the "mod n" ring, and Fib(n) mod m only depends on the pair of previous numbers (mod m), it follows that the sequence must necessarily loop.

      1 Reply Last reply
      • jon-nycJ Online
        jon-nycJ Online
        jon-nyc
        wrote on last edited by
        #11

        That’s right. The process is totally reversible so the 0,1,1 must eventually repeat.

        Only non-witches get due process.

        • Cotton Mather, Salem Massachusetts, 1692
        1 Reply Last reply
        • KlausK Offline
          KlausK Offline
          Klaus
          wrote on last edited by Klaus
          #12

          I did a tiny bit of programming, and I think it's a nice programming exercise to come up with an elegant way to compute the cycle length of "Fib mod n" sequences.

          Here's a 4-liner I came up with.

          fibsmod n = map ((`mod` n) . fst) $ iterate (\(a,b) -> (b,a+b)) (0,1)
          pairIndex a b (x:y:ys) m = if (a == x) && (b == y) then m else pairIndex a b (y:ys) (m+1)
          p (x:y:ys) = pairIndex x y ys 2
          take 100 $ map (p . fibsmod) [2..]
          

          It computes the first 100 cycle length:

          [3,8,6,20,24,16,12,24,60,10,24,28,48,40,24,36,24,18,60,16,30,48,24,100,84,72,48,14,120,30,48,40,36,80,24,76,18,56,60,40,48,88,30,120,48,32,24,112,300,72,84,108,72,20,48,72,42,58,120,60,30,48,96,140,120,136,36,48,240,70,24,148,228,200,18,80,168,78,120,216,120,168,48,180,264,56,60,44,120,112,48,120,96,180,48,196,336,120,300,50]
          
          1 Reply Last reply
          • jon-nycJ Online
            jon-nycJ Online
            jon-nyc
            wrote on last edited by
            #13

            What language is that?

            Only non-witches get due process.

            • Cotton Mather, Salem Massachusetts, 1692
            KlausK 1 Reply Last reply
            • HoraceH Offline
              HoraceH Offline
              Horace
              wrote on last edited by
              #14

              It's a computer language. Computer programmers use computer languages to "talk" to computers and tell them what to do!

              Education is extremely important.

              1 Reply Last reply
              • jon-nycJ Online
                jon-nycJ Online
                jon-nyc
                wrote on last edited by
                #15

                Interesting observation:

                Cycle lengths 2^n = 3*2^(n-1) at least within the first 100. Does that continue?

                Only non-witches get due process.

                • Cotton Mather, Salem Massachusetts, 1692
                jon-nycJ 1 Reply Last reply
                • jon-nycJ jon-nyc

                  What language is that?

                  KlausK Offline
                  KlausK Offline
                  Klaus
                  wrote on last edited by Klaus
                  #16

                  @jon-nyc said in Puzzle time - the Fibonacci numbers:

                  What language is that?

                  Haskell.

                  I bet if you do the same thing in your favorite language you need at least twice as much code, and the code will be less extensible. (throws gauntlet)

                  1 Reply Last reply
                  • jon-nycJ Online
                    jon-nycJ Online
                    jon-nyc
                    wrote on last edited by
                    #17

                    I use 8086 assembler for such tasks.

                    Only non-witches get due process.

                    • Cotton Mather, Salem Massachusetts, 1692
                    1 Reply Last reply
                    • Doctor PhibesD Offline
                      Doctor PhibesD Offline
                      Doctor Phibes
                      wrote on last edited by
                      #18

                      Are you two about to have a 'my dick is smaller' contest?

                      I was only joking

                      KlausK 1 Reply Last reply
                      • Doctor PhibesD Doctor Phibes

                        Are you two about to have a 'my dick is smaller' contest?

                        KlausK Offline
                        KlausK Offline
                        Klaus
                        wrote on last edited by
                        #19

                        @Doctor-Phibes Did you know that dick sizes have a Fibonacci distribution? It's a distribution with a very long tail...

                        <insert @George-K rimshot image macro here>

                        1 Reply Last reply
                        • jon-nycJ jon-nyc

                          Interesting observation:

                          Cycle lengths 2^n = 3*2^(n-1) at least within the first 100. Does that continue?

                          jon-nycJ Online
                          jon-nycJ Online
                          jon-nyc
                          wrote on last edited by
                          #20

                          @jon-nyc said in Puzzle time - the Fibonacci numbers:

                          Interesting observation:

                          Cycle lengths 2^n = 3*2^(n-1) at least within the first 100. Does that continue?

                          bump for Klaus and his little 4 line program.

                          Only non-witches get due process.

                          • Cotton Mather, Salem Massachusetts, 1692
                          KlausK 1 Reply Last reply
                          • jon-nycJ jon-nyc

                            @jon-nyc said in Puzzle time - the Fibonacci numbers:

                            Interesting observation:

                            Cycle lengths 2^n = 3*2^(n-1) at least within the first 100. Does that continue?

                            bump for Klaus and his little 4 line program.

                            KlausK Offline
                            KlausK Offline
                            Klaus
                            wrote on last edited by Klaus
                            #21

                            @jon-nyc said in Puzzle time - the Fibonacci numbers:

                            @jon-nyc said in Puzzle time - the Fibonacci numbers:

                            Interesting observation:

                            Cycle lengths 2^n = 3*2^(n-1) at least within the first 100. Does that continue?

                            bump for Klaus and his little 4 line program.

                            Can you explain? You mean that the cycle length of Fib mod (2^n) is the same as Fib mod (3*2^(n-1))? That doesn't seem to be true.

                            I uploaded the first 10,000 cycle lengths here, if you want to check this yourself.
                            https://www.heypasteit.com/clip/0IV18W

                            1 Reply Last reply
                            • jon-nycJ Online
                              jon-nycJ Online
                              jon-nyc
                              wrote on last edited by jon-nyc
                              #22

                              No, the cycle length of Fib mod (2^n) = 3*2^(n-1))

                              Check Fmod2, Fmod4, Fmod8, Fmod16 etc for their cycle lengths. You’ll get 3,6,12,24,48 etc. I’m wondering if it holds. I think it will.

                              Only non-witches get due process.

                              • Cotton Mather, Salem Massachusetts, 1692
                              1 Reply Last reply
                              • KlausK Offline
                                KlausK Offline
                                Klaus
                                wrote on last edited by
                                #23

                                Here's a list of pairs where the first number shows the "n" (but only for powers of 2) and the second one the associated cycle length. Maybe I missunderstood something but your conjecture doesn't seem to hold.

                                [(2,6),(4,24),(8,60),(16,24),(32,36),(64,120),(128,420),(256,264),(512,516),(1024,72),(2048,600),(4096,1368),(8192,720)]
                                
                                1 Reply Last reply
                                • jon-nycJ Online
                                  jon-nycJ Online
                                  jon-nyc
                                  wrote on last edited by jon-nyc
                                  #24

                                  But your original list is this one:

                                  (left side numbering mine, right side list yours)

                                  3e9774ed-e059-4cd4-956f-c8646a08d27b-image.png

                                  Only non-witches get due process.

                                  • Cotton Mather, Salem Massachusetts, 1692
                                  1 Reply Last reply
                                  • KlausK Offline
                                    KlausK Offline
                                    Klaus
                                    wrote on last edited by
                                    #25

                                    Ah, looks like an "off by two" error somewhere. Hmm....

                                    1 Reply Last reply
                                    • KlausK Offline
                                      KlausK Offline
                                      Klaus
                                      wrote on last edited by Klaus
                                      #26

                                      Turned out to be two "off by 1" errors that have to do with indices starting at 0 and not 1.

                                      What about this result?

                                      [(2,3),(4,6),(8,12),(16,24),(32,48),(64,96),(128,192),(256,384),(512,768),(1024,1536),(2048,3072),(4096,6144),(8192,12288)]
                                      
                                      1 Reply Last reply
                                      • KlausK Offline
                                        KlausK Offline
                                        Klaus
                                        wrote on last edited by Klaus
                                        #27

                                        It looks like linear relations between the cycle length happen quite frequently. This is a scatter plot of the cycle lengths I computed above (haven't used R in a while - fun for plotting data!). Observe all the dotted lines. The points you identified are on one of those lines. Also interesting to see a few outliers.

                                        440d6f5b-c0a6-4d2d-b301-7d3d66c1fafd-image.png

                                        I have marked the points you are interested in in red. You see that there are way more points on that line.

                                        1 Reply Last reply
                                        • jon-nycJ Online
                                          jon-nycJ Online
                                          jon-nyc
                                          wrote on last edited by
                                          #28

                                          Interesting.

                                          So it turns out Fibonacci cycle lengths a thing people study. They’re called Pisano numbers and understanding them is really about understanding Pisano numbers for prime powers.

                                          A neat property is that if n and m are coprime then period(mn) is least common multiple of period(n) and period(m).

                                          Only non-witches get due process.

                                          • Cotton Mather, Salem Massachusetts, 1692
                                          1 Reply Last reply
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups