eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingLiczby Fibonacciego rzędu NRe: Liczby Fibonacciego rzędu N
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming,pl.sci.matematyka
    Subject: Re: Liczby Fibonacciego rzędu N
    Date: Sat, 14 May 2016 16:51:38 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 109
    Message-ID: <nh7e1r$ina$1@node1.news.atman.pl>
    References: <nh4std$qlq$1@node2.news.atman.pl> <nh4t8e$qve$1@node2.news.atman.pl>
    <a...@n...plus.net>
    NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node1.news.atman.pl 1463237499 19178 89.73.81.145 (14 May 2016 14:51:39 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sat, 14 May 2016 14:51:39 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
    Thunderbird/38.6.0
    In-Reply-To: <a...@n...plus.net>
    Xref: news-archive.icm.edu.pl pl.comp.programming:209389 pl.sci.matematyka:153375
    [ ukryj nagłówki ]

    On 14.05.2016 11:10, Roman W wrote:
    > On Fri, 13 May 2016 17:52:46 +0200, Borneq <b...@a...hidden.pl>
    > wrote:
    >> W dniu 13.05.2016 o 17:46, Borneq pisze:
    >> > Co to są liczby Fibonacciego - wiadomo, ale co to są liczby
    > Fibonacciego
    >> > któregoś rzędu?
    >> Już wiem, normalne inicjowane są dwiema jedynkami , inne większą
    >> liczbą

    Pomijasz najistotniejsze. Element ciągu jest sumą nie dwóch,
    ale k poprzednich elementów.
    Niby oczywiste, ale można przeoczyć.

    >> jedynek, i tak dla trzech:
    >> 1+1+1=3 1+1+3=5 1+3+5=9
    >> co nam daje 1 1 1 3 5 9 17 31 57
    >
    > Czy istnieje rozwiązanie analityczne dla rzędu N > 4?

    Rozwiązanie liniowej rekurencji sprowadza się do znalezienia
    pierwiastków wielomianu. To dla n>4 bywa upierdliwe;-)


    Wiemy, że rozwiązaniami podstawowymi są ciagi geometryczne.
    q^k

    (rozwiążaniem jest kombinacja liniowa takich rozwiązań podstawowych
    spałniająca warunki początkowe)

    które spełniają rekurencję:

    a[n]+a[n+1]+..a[k-1] = a[k]

    czyli
    1 + q + q^2.. + q^(k-1) = q^k

    q^k - q^(k-1) - q^2 - q - 1 = 0 (1)


    (q^k-1)/(q-1) = q^k

    q^k -1 = q^(k+1) - q^k

    0 = q^(k+1) - 2 q^k + 1

    Dla k=2

    (q^2-q-1)

    pierwiastkami są fi i bar{fi}

    Zgadza się.


    Do rzeczy... wielomian (1) wygląda ładnie, ale
    pierwiasków oczywistych nie widać. Mathematica ich też nie widzi
    dla k>4:(

    Do ataku nemerycznego można użyć równoważnego

    -(q^k-1)/(q-1) + q^k

    lub ładniejszego ale z dodatkowym sztucznym pierwiastkiem równym 1

    q^(k+1) - 2 q^k + 1

    Patrząc na te wykresy widać, że pierwiastki są
    jeden w okolicy liczby 2
    k-1 w okolicach (zespolonych) pierwiastków z jedynki (z pominięciem
    samej jedynki).



    To daje nam jakościowe oszacowanie, jak szybko ten ciąg rośnie,
    ale pewnie chceilibyśmy go policzyć.
    Dokładnie policzyć element nr 3535436743678357 ;-) Modulo
    10^18 niech dla ulatwienia bedzie.
    Jechanie rekurencją odpada, a wspołczynniki wzoru 'analitycznego'
    znamy być możę nie dostatecznie dokładnie, aby wyzanczyć liczbę
    jednosci.

    Tu przydatna jest pewna sztuczka, używana już przy Fibonaccim.

    Weźmy macierz
    A =
    [1 1 1 1 1 1 1 1]
    [0 1 0 0 0 0 0 0]
    [0 0 1 0 0 0 0 0]
    [0 0 0 1 0 0 0 0]
    [0 0 0 0 1 0 0 0]
    [0 0 0 0 0 1 0 0]
    [0 0 0 0 0 0 1 0]

    Opisuje ona iterację stanu z naszego ciągu. Jeśli wsadzimy w nią wektor
    an, an-1... dostaniemy wektor an+1,an...

    Jeśli zaczniemy od wektora jednostkowego v=[1;1;1;1;1;1;1]

    Pierwszym elementem wektora (A^n)v
    będzie n+k ty element ciągu Fib.

    A^n obliczami potęgowaniem binarnym, log(n) mnożęj, każde
    po k^3 dzialań, łączny koszt O(log(n) k^3)


    pzdr
    bartekltg

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: