Liczby Fibbonaciego 
a paradoksy geometryczne
(projekt zaliczeniowy z kursu Mathematica I: kurs wstępny)
Mathematica 6.0

Natalia Parzyk
Inżynieria materiałowa, rok IV
Wydział Fizyki, Astronomii i Informatyki Stosowanej UJ
Kraków 2010

Spis treści

Liczby Fibbonaciego

Żaba skacząca po kamieniach ...

Twierdzenie Cassiniego

Puzzle Lewisa Carrolla

Paradoks Curry'ego

Paradoks Hopper'a

Wkład Eduardo Lucasa

Literatura

Liczby Fibonaciego

Leonardo Fibonacci (właściwie Leonardo z Pizy) – (urodzony ok. 1175 r., zmarł w 1250 r.) – włoski matematyk [1].

Definicja ciąg Fibbonacciego

ClearAll["Global`*"]

ff[0]:=0
ff[1]:= 1
ff[n_]:=ff[n]=ff[n-1]+ff[n-2]

Table[ff[i],{i,0,Input["Podaj liczbę n"]}]

Żaba skacząca po kamieniach...

Fibonacci opracował ciąg, znany potem pod jego imieniem, rozważając problem rozmnażania królików. Inną formą pokazania tejże rekurencji jest przykład żaby skaczącej przez rzekę. Problem przedstawia się następująco: zakładając, że żaba może wykonywać tylko dwa rodzaje skoków: przeskok o 1 kamień lub o 2 kamienie, na ile sposobów żaba może przejść rzekę, mając do dyspozycji n kamieni? (Źródło: [5] Patrz: Literatura).

ClearAll["Global`*"]

(*żaba*)

glowa=RegionPlot[ (((x-5))^2)+(((y-5))^2)< 1,{x,-1,7.5},{y,-1,7.5},ColorFunction->ColorData["AvocadoColors"]];

tlow=RegionPlot[ (x-3)^2+(y-3)^2<4,{x,-1,7.5},{y,-1,7.5},ColorFunction->ColorData["AvocadoColors"]];

(*fragmenty nogi*)

(*nogal*)

nn1=ContourPlot[y==4x-1, {x,-1,7.5},{y,3,6},ColorFunction->ColorData["AvocadoColors"]];

nn2=ContourPlot[y==-2x+5, {x,-1,7.5},{y,3,6},ColorFunction->ColorData["AvocadoColors"]];

nn3=ContourPlot[y==0*x+6,{x,-0.5,1.75},{y,-1,7.5},ColorFunction->ColorData["AvocadoColors"]];

nogal=Show[nn1,nn2,nn3];

(*nogap*)

nn4=ContourPlot[y==-1/12x+11/8,{x,3.5,7.5},{y,-1,7.5},ColorFunction->ColorData["AvocadoColors"]];

nn5=ContourPlot[ y==-1.5x+12,{x,6.51,7.5},{y,-1,7.5},ColorFunction->ColorData["AvocadoColors"]];

nn6=ContourPlot[y==0.4x-0.4,{x,3.5,6.53},{y,1.1,7.5},ColorFunction->ColorData["AvocadoColors"]];

nogap=Show[nn4,nn5,nn6];

Show[glowa,tlow,nogal,nogap]

Twierdzenie Cassiniego

ClearAll["Global`*"]

TWIERDZENIE CASSINIEGO

F[n – 1] F[n + 1] – F[n]^2 = (–1)^n,
gdzie n ⩾ 1 a F[n] zdefiniowane jest jako F[n] = F[n-1]+F[n-2]

Patrz: pozycja [3] , [9] w Literaturze.

Pierwsza liczba w wyniku odnosi się do Lewej Strony tożsamości, druga liczba do Prawej Strony (n ∈ [4,100])

Manipulate[{Fibonacci[n-1]*Fibonacci[n+1]-(Fibonacci[n])^2,(-1)^n},{n,4,100,1}]

DOWÓD INDUKCYJNY TOŻSAMOŚCI CASSINIEGO

Dowody oparto na [3] ,[9] – patrz Literatura

ClearAll["Global`*"]

Dla   n = 1  zachodzi:

P=Fibonacci[n-1]*Fibonacci[n+1]-(Fibonacci[n])^2;

Table[P,{n,1}]

L=(-1)^n

Table[P,{n,1}]

Pokazano, że tożsamość jest spełniona dla n = 1.

Założono, że dla dowolnej liczby  d,  większej od zera tożsamość także jest spełniona, czyli prawdą jest 
 F[d - 1]*F[d + 1] - (F[d])^2 = (-1)^d

Stąd dla d +1 jest :

F[d]*F[d + 2] - (F[d + 1])^2 =

Wracając do dowodu tożsamości Cassiniego

F[d]*F[d+2]-(F[d+1])^2= ...

podstawiono F[d]=F[d+1]-F[d-1], bo F[d+1]=F[d]+F[d-1]   i   F[d+2]= F[d+1]+F[d]

... = (F[d + 1] - F[d - 1])*(F[d + 1] + F[d]) - (F[d + 1])^2 =

= (F[d + 1])^2 + F[d + 1]*F[d] - F[d - 1]*F[d + 1] - F[d - 1]*F[d] - (F[d + 1])^2 =

Skorzystano z założenia prawdziwości twierdzenia Cassiniego dla dowolnego d  i podstawiono F[d-1]*F[d+1]=(F[d])^2 +(-1)^d

= F[d + 1]*F[d] - F[d - 1]*F[d] - (F[d])^2 - (-1)^d =

= F[d + 1]*F[d] - F[d]*(F[d - 1] + F[d]) + (-1)^(d + 1) =

Podstawiono (F[d-1]+F[d])=F[d+1]

= F[d + 1]*F[d] - F[d]*F[d + 1] + (-1)^(d + 1) = (-1)^ (d + 1)

QED

Źródło: [3], [9], patrz Literatura

"WYZNACZNIKOWY" DOWÓD TOŻSAMOŚCI CASSINIEGO

F[n - 1]*F[n + 1] - (F[n])^2 =Det[(({{F[n+1], F[n]}, {F[n], F[n-1]}}))]

Dowód pomocniczy:

[Det[(({{1, 1}, {1, 0}}))]]^n=(-1)^n

Dla n = 1

[Det[(({{1, 1}, {1, 0}}))]]^1=(-1)^1

Pokazano, że tożsamość jest spełniona dla n = 1
Założono prawdziwość dla n.
    Dla n + 1:

[Det[(({{1, 1}, {1, 0}}))]]^(n+1)=[Det[(({{1, 1}, {1, 0}}))]]^n  *[Det[(({{1, 1}, {1, 0}}))]] = (-1)^n * (-1)=(-1)^(n+1 )

QED

Twierdzenie Cassiniego

Dla n = 1

Det[(({{F[1+1], F[1]}, {F[1], F[1-1]}}))]=[Det[(({{1, 1}, {1, 0}}))]]^1

Pokazano, że tożsamość jest spełniona dla n = 1
Założono prawdziwość dla n.
Dla n + 1 :

Det[(({{F[n+2], F[n+1]}, {F[n+1], F[n]}}))]=Det[(({{F[n+1], F[n]}, {F[n], F[n-1]}}))] * [Det[(({{1, 1}, {1, 0}}))]]=(-1)^n * (-1) = (-1)^(n + 1 )

QED

Źródło: [8], [9], patrz Literatura

Puzzle Lewisa Carrolla

ClearAll["Global`*"]

" PUZZLE LEWISA CAROLLA "

Źródło: [4], patrz Literatura

Szachownica została pocięta na kawałki, jak na Rysunku 1. Utworzone cztery kawałki ułożono następnie w prostokąt jak na Rysunku 2.

RYSUNEK 1

(szachownicapodzial)

(boki)

gorny=ContourPlot[y==0*x+8,{x,0,8},{y,-1,9},ColorFunction->ColorData["AvocadoColors"], GridLines->{{1,2,3,4,5,6,7},{1,2,3,4,5,6,7}},GridLinesStyle->Directive[LightGray,Thin]];

dolny=ContourPlot[y==0*x+0,{x,0,8},{y,-1,9},ColorFunction->ColorData["AvocadoColors"]];

prawy=ContourPlot[0==x+0,{x,-1,9},{y,0,8},ColorFunction->ColorData["AvocadoColors"]];

lewy=ContourPlot[8==x+0,{x,-1,9},{y,0,8},ColorFunction->ColorData["AvocadoColors"]];

boki=Show[gorny,dolny, prawy, lewy ];

(kreski)

dluga=ContourPlot[5==x+0,{x,-1,9},{y,0,8},ColorFunction->ColorData["AvocadoColors"]];

kprawa=ContourPlot[y==-(2/5)x+5,{x,0,5},{y,3,5},ColorFunction->ColorData["AvocadoColors"]];

klewa=ContourPlot[y==(8/3)x-(40/3),{x,5,8},{y,0,8},ColorFunction->ColorData["AvocadoColors"]];

kreski=Show[dluga,kprawa, klewa];

szachownicapodzial=Show[boki,kreski]

RYSUNEK 2

(prostokatpodzial)

(boki)

gorny2=ContourPlot[y==0*x+5,{x,0,13},{y,-1,6},ColorFunction->ColorData["AvocadoColors"], GridLines->{{1,2,3,4,5,6,7,8,9,10,11,12},{1,2,3,4,5}},GridLinesStyle->Directive[LightGray,Thin]];

dolny2=ContourPlot[y==0*x+0,{x,0,13},{y,-1,6},ColorFunction->ColorData["AvocadoColors"]];

prawy2=ContourPlot[0==x+0,{x,-1,14},{y,0,5},ColorFunction->ColorData["AvocadoColors"]];

lewy2=ContourPlot[13==x+0,{x,-1,14},{y,0,5},ColorFunction->ColorData["AvocadoColors"]];

boki2=Show[gorny2,dolny2, prawy2, lewy2 ];

(kreski)

dluga2=ContourPlot[y== -(5/13)x+5,{x,0,13},{y,-1,6},ColorFunction->ColorData["AvocadoColors"]];

kprawa2=ContourPlot[5==x+0,{x,-1,14},{y,0,3},ColorFunction->ColorData["AvocadoColors"]];

klewa2=ContourPlot[8==x+0,{x,-1,14},{y,2,5},ColorFunction->ColorData["AvocadoColors"]];

kreski2=Show[dluga2,kprawa2, klewa2];

prostokatpodzial=Show[boki2,kreski2]

PARADOKS

Szachownica składa się z 64 pól (8*8), natomiast otrzymany z jej kawałków prostokąt ma 65 kratek (5*13).

WYJAŚNIENIE

"The paradox is expleined because well, magic tricks aren't supposed to be expleined." [4]

Podstawą tego paradoksu geometrycznego jest tożsamość Cassiniego.

Należy zauważyć, że długość boków szachownicy to liczby Fibonaciego (F[n] = 8). 
   Wielkości wykorzystane do podziału również są kolejnymi liczbami Fibonaciego (F[n + 2], F[n + 1], F[n], F[n - 1])

W wyniku podziału i ponownego złożenia uzyskuje się prostokąt o bokach 5 i 13 czy liczbie F[n - 1] oraz F[n + 1].  
Tożsamość Cassiniego 
F[n - 1]*F[n + 1] - (F[n])^2 = (-1)^n

wskazuje na fakt, że w zależności od  n w figurze będzie jedno pole więcej (n – parzyste) lub jedno pole mniej (n – nieparzyste).

Źródło: [4], patrz Literatura

Paradoks Curry'ego

"Paradoks" zaobserwowany w 1953 roku przez amerykańskiego magika – amatora Paula Curry'ego.

Trójkąt prostokątny o bokach 13 i 5. Podzielono na mniejsze trókąty jak na rysunku 1.  Następnie złożono z nich prostokąt, na dwa różne sposoby:
I sposób – rysunek 2a, II sposób – rysunek 2b.

RYSUNEK 1
 << Źródło rysunku

RYSUNEK 2a
<< Źródło rysunku

RYSUNEK 2b
 << Źródło rysunku

PARADOKS

W wyniku złożenia I sposobem otrzymano prostokąt o bokach 5 i 3 czyli polu 15. Natomiast z II sposobu uzyskano prostokąt o bokach 8 i 2, co daje pole 16.

WYJAŚNIENIE

Wyjściowy trójkąt prostokątny ma boki o długościach będących liczbami Fibbonaciego (F[n + 1] i F[n - 1]). Natomiast prostokąt I (Rysunek 2a) ma wymiary jak F[n -1] i F[n - 2], a prostokąt II (Rysunek 2b) jak F[n] i F[n - 3]). Co powoduje, że ich pola (także w przypadku ogólnym) różnią się o 1.

F[n] * F[n - 3] - F[n - 1] * F[n - 2] = (-1)^n ,
powyższa równość jest tożsamością Cassiniego (czyli wyjaśnienie tego paradoksu jest podobne do przytoczonego już wyjaśnienia Puzzli Carrola).

(Źródło: [6], patrz Literatura)

Paradoks Hooper'a

PARADOKS HOOPER'A ("geometric money")
William Hooper (XVIII w.) 
"Paradoks" przypisywany Hooper'owi wcześniej opisał Francuz Edme Gilles Guyot. Hooper prawdopodobnie wzorował się na jego pracy, przedstawiając swoje rozwazania za orginalne [7] .

Prostokąt o bokach 3 i 10 pocięto na dwa równe trójkąty prostokątne (o bokach 2 i 6), a następnie podzielono je jeszcze, każdy na trapezoid i mniejszy trójkąt prostokątny (Rysunek 1).

Następnie złożono uzyskane kawałki, w sposób jak na Rysunku 2.

RYSUNEK 1		(Źródło rysunku [7])

RYSUNEK 2		 (Źródło rysunku [7])

(Źródło rysunków: [7], patrz Literatura)

WYJAŚNIENIE

Z kawałków powstałych po pocięciu prostokąta o polu 30 otrzymano figurę (Rysunek 2) o polu 32. Okazuje się, że zmieniając proporcje figur oraz kąt nachylenia przekątnej można "stracić" lub "zyskać" 1, 2, 3... pola, i tak do nieskończoności (stąd nazwa nadana przez W. Hoopera - "geometric money").

(Źródło: [7], patrz Literatura)

Wkład Eduardo Lucasa

Liczby Fibbonaciego są powszechnie znane dzięki Eduardo Lucasowi, zawdzięczają mu również swoją nazwę.  Lucas pracował nad nimi i ich własnościami w drugiej połowie XIX wieku [4]. Poniżej kilka twierdzeń pokazujących własności liczb Fibbonaciego wykazane przez Eduardo Lucasa [10].

TWIERDZENIA LUCASA

TWIERDZENIE (1)

(potrzebne, aby udowodnić Twierdzenie(2))

(∑_(i=1)^n)F[i]=F[n+2]-1, dla n ⩾1

Dowód: patrz [10]

Dowód indukcyjny. 
   Sprawdzenie dla n = 1

Clear["Global`*"]

(*L=*) Fibonacci[1]

(*P=*) Fibonacci[1+2]-1

(Można sprawdzić, że L = P, więc Tw. 1 jest spełnione dla n = 1)

Założono prawdziwość twierdzenia dla   n = d, czyli

(∑_(i=1)^d)F[i]=F[d+2]-1

Sprawdzono, czy zachodzi dla  n = d + 1

(∑_(i=1)^(d+1))F[i]=F[d+3]-1  ,bo

(∑_(i=1)^(d+1))F[i]=(∑_(i=1)^d)F[i]+F[d+1]= ...

(podstawiono (∑_(i=1)^d)F[i]=F[d+2]-1)

... = (F[d + 2] - 1) + F[d + 1] = ...

(podstawiono F[d + 2] + F[d + 1] = F[d + 3] )

... = F[d + 3] - 1

QED

TWIERDZENIE (2)

(∑_(j=0)^n)F[i+j]+F[i+1]= F[i+n+2] ,  dla   n ⩾1

Dowód

(∑_(j=0)^n)F[i+j]+F[i+1]=

(przedstawiono (∑_(j=0)^n)F[i+j] jako ((∑_1^(n+i))F[m]-(∑_1^(i-1))F[m]))

=   (∑_1^(n+i))F[m]-(∑_1^(i-1))F[m]+F[i+1]=

(Z Twierdzenia (1) (∑_1^(n+i))F[m]=F[n+i+2]-1 oraz (∑_1^(i-1))F[m]=F[i+1]-1 )

= F[n + i + 2] -1 - F[i + 1] +1 +F[i + 1] = F[i + n + 2]

QED

Źródło: [10] (patrz Literatura)

Literatura

[1] http://pl.wikipedia.org/wiki/Fibonacci

[2] fibnonac.pdf  [w]  http://www.mathelp.neostrada.pl/FIBONAC.pdf

[3] http://planetmath.org/encyclopedia/ProofofCassinisIdentity.html

[4] Graham R.L., Knuth D.E., Patashnik O. Matematyka konkretna PWN, Warszawa 2001

[5] Przykład z wykładu Matematyka dyskretna dr P. Zakrzewski (wykład dla studentów matematyki na Uniwersytecie Warszawskim)

[6] http://www.cut-the-knot.org/Curriculum/Fallacies/CurryParadox.shtml

[7] http://www.cut-the-knot.org/Curriculum/Fallacies/HooperParadox.shtml

[8] http://en.wikipedia.org/wiki/Fibonacci_number# Matrix_form

[9] http://www.proofwiki.org/wiki/Cassini%27 s_Identity

[10] http://www.mathematicsmagazine.com/11-2003/Fibonacci_11_2003.htm

Ostatni dostęp do stron internetowych: 03.03.2010