Implementierung der Fibonacci-Folge in Python

Veröffentlicht: 2023-02-23

Python ist eine leistungsstarke und vielseitige Mehrzweck-Programmiersprache, die die Implementierung künstlicher neuronaler Netze erleichtert und die Verarbeitung natürlicher Sprache, Deep Learning, Gesichtserkennung, genetische Algorithmen und viele weitere solcher hochmodernen KI-basierten Aufgaben unterstützt.

In diesem Artikel werden einige der wichtigsten Möglichkeiten untersucht, wie Python verwendet werden kann, um die Fibonacci-Folge genau zu generieren – ein großartiges Beispiel für relativ einfache Algorithmen, die nicht nur an und für sich nützlich sind, sondern oft die Grundlage für die Erstellung fortgeschrittener Programme bilden, die komplex sind kognitive Funktionalitäten.

Inhaltsverzeichnis

Was ist die Fibonacci-Folge?

Die Fibonacci-Folge gehört vielleicht zu den einfachsten, frühesten bekannten und berühmtesten mathematischen Folgen, die der Menschheit bekannt sind.

Es ist eine fortlaufende Reihe von ganzen Zahlen, wobei jede aufeinanderfolgende Zahl gleich der Summe der beiden vorhergehenden Zahlen ist. Die Fibonacci-Reihe beginnt mit 0 und 1 und geht wie folgt weiter: 0, 1, 1, 2, 3, 5, 8, 13 , 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368 und so weiter.

Mit Null als Ausgangspunkt verlängert sich die Fibonacci-Folge endlos in zwei Richtungen wie folgt:
…610, -377, 233, -144, 89, -55, 34, -21, 13, -8, 5, -3, 2, -1, 1, 0 , 1, 1, 2, 3, 5 , 8, 13, 21, 34, 55, 89, 144, 233, 377, 610 … Die Folge links von der Null ist als „Negafibonacci“-Folge bekannt.

Schauen Sie sich unsere kostenlosen Technologiekurse an, um sich einen Wettbewerbsvorteil zu verschaffen.

Die Fibonacci-Folge kann mathematisch wie folgt dargestellt werden:

N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
x n 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

Wobei n die Termnummer und x n der Termwert ist. Die Formel zur Berechnung des Termwerts x n lautet:
xn = xn -1 + xn -2

Der Wert von Term Nummer 8 ist also zum Beispiel:

x 8 = x 7 + x 6

x 8 = 13 + 8

x 8 = 21

Hier ist ein bisschen Trivia im Zusammenhang mit der Fibonacci-Folge: Der Fibonacci-Tag wird am 23. November begangen, da das Datum durch die Ziffern 1, 1, 2 und 3 dargestellt werden kann – die ein korrekt sequenziertes Segment der Fibonacci-Zahlenreihe darstellen.

Erkunden Sie unsere beliebten Softwareentwicklungskurse

Master of Science in Informatik von LJMU & IIITB Caltech CTME Cybersecurity-Zertifikatsprogramm
Full-Stack-Entwicklungs-Bootcamp PG-Programm in Blockchain
Executive PG-Programm in der Full-Stack-Entwicklung
Sehen Sie sich unten alle unsere Kurse an
Software-Engineering-Kurse

Geschichte und Ursprünge der Fibonacci-Folge

Leonardo Pisano Bogollo, im Volksmund bekannt als Fibonacci, was im umgangssprachlichen italienischen Sprachgebrauch grob mit „Sohn von Bonacci“ übersetzt wird.

Fibonacci wurde die Formulierung dieser speziellen Zahlenfolge zugeschrieben, die – konsequenterweise – nach ihm benannt wurde. Er führte sie zu Beginn des 13. Jahrhunderts n. Chr. mit seinem wegweisenden Buch –Liber Abaci –in einen großen Teil Westeuropas ein .

Fibonacci, der weithin als einer der talentiertesten Mathematiker seiner Zeit gilt, wurde übrigens auch die weit verbreitete Übernahme der hindu-arabischen Ziffern in ganz Europa zugeschrieben, das bis dahin die weitaus umständlicheren römischen Ziffern verwendete.

Es ist jedoch bekannt, dass das, was heute als Fibonacci-Folge bezeichnet wird, bereits im 3. Jahrhundert v. Chr. Im alten Indien verwendet wurde.

Es fand seinen Ausdruck in den Pingala-Sutras, einer alten Abhandlung der Sanskrit-Prosodie, sowie in der Natya Shastra, einer Abhandlung über die alten indischen darstellenden Künste, die den verehrten Weisen des alten Indien, Acharya Pingala bzw. Bharata Muni, zugeschrieben wird.

Der definitivste Kommentar zur Sequenz erscheint in der Arbeit von Virahanka zu Beginn des 8. Jahrhunderts n. Chr. Obwohl dieser Text selbst nicht zurückverfolgt wurde, wurde er 1135 n. Chr. In der Arbeit von Gopala erwähnt und ausführlich zitiert. Zufälligerweise stellen die Ziffern dieses Jahres eine fortlaufende Folge von Fibonacci-Zahlen dar.

Ein anderer indischer Gelehrter des metrischen Rhythmus, Acharya Hemachandra, soll eine genaue Kenntnis der Sequenz gehabt haben, die er 1150 n. Chr. Sehr detailliert beschrieb. Dies ist über 50 Jahre älter als Fibonaccis Arbeit.

Sehen Sie sich die Softwareentwicklungskurse von upGrad an

Binets Formel

Wie alle konstant-rekursiven Folgen mit konstanten Koeffizienten können Fibonacci-Zahlen als geschlossener Ausdruck dargestellt werden, der als Binet-Formel bekannt geworden ist. Benannt nach Jacques Philippe Marie Binet, einem prominenten französischen Mathematiker aus dem frühen 19. Jahrhundert, kann Binets Formel wie folgt dargestellt werden:

Da F n die n-te Fibonacci-Zahl ist:

Was sich aus der obigen Formel ableiten lässt, ist die Tatsache, dass mit Ausnahme der ersten paar Zahlen das Verhältnis zwischen jedem aufeinanderfolgenden Zahlenpaar in der Fibonacci-Reihe fortschreitend zum sogenannten Goldenen Schnitt konvergiert – 1:1,618, bezeichnet durch den 21 Buchstabe des griechischen Alphabets – Φ (phi).

Das bedeutet, dass jede Zahl in der Reihe 0,6180339887 der darauf folgenden Fibonacci-Zahl ist ODER dass jede nachfolgende Zahl das 1,6180339887-fache der Zahl ist, die ihr in der Fibonacci-Folge vorausgeht.

Gefragte Fähigkeiten in der Softwareentwicklung

JavaScript-Kurse Core-Java-Kurse Kurse zu Datenstrukturen
Node.js-Kurse SQL-Kurse Full-Stack-Entwicklungskurse
NFT-Kurse DevOps-Kurse Big-Data-Kurse
React.js-Kurse Cyber-Sicherheitskurse Cloud-Computing-Kurse
Datenbankdesign-Kurse Python-Kurse Kryptowährungskurse

Die Fibonacci-Folge und der Goldene Schnitt

Die Bedeutung der Fibonacci-Folge und ihres Derivats, des Goldenen Schnitts, wird durch ihre unheimlich häufige Wiederholung in der Natur erheblich gesteigert. Einige der häufigsten Beispiele dafür sind:

  • Die Anzahl der Blütenblätter einer Blume ist fast immer eine Fibonacci-Zahl, egal ob es sich um die 3-blättrige Lilie, die 5-blättrige Butterblume, die 21-blättrige Wegwarte oder das 34-blättrige Gänseblümchen handelt.
    Faszinierenderweise scheint diese unerschütterliche Übereinstimmung mit den Fibonacci-Zahlen ein Produkt des darwinistischen Designs zu sein, denn Wissenschaftler haben herausgefunden, dass diese besondere Anordnung der Blütenblätter dafür sorgt, dass jede dieser Blumen optimal Sonnenlicht, Feuchtigkeit und Bestäubungsmitteln wie Vögeln und Insekten ausgesetzt wird .
  • Der Goldene Schnitt oder Φ ist in fast allen natürlich vorkommenden Spiralmustern zu sehen – von Samenköpfen einer Sonnenblume bis zu ganzen Galaxien, von Ausstülpungen auf einem Tannenzapfen bis zu Wirbelstürmen, von Stacheln auf einer Ananas bis zur Krümmung von Ziegenhörnern und von Blüten eines Blumenkohls bis zu den Wirteln eines menschlichen Fingerabdrucks.
    Das spiralförmige Muster einer Nautilus-Muschel gilt als besonders ikonische Darstellung der sogenannten „Fibonacci-Spirale“.
  • Die Verzweigung von Bäumen und Wurzelsystemen, das Verhältnis zwischen männlichen und weiblichen Bienen in einem Bienenstock, verschiedene Körperteile von Tieren – von Mikroben bis zu Schnecken, von Schildkröten bis zu Walen – alle entsprechen dem Goldenen Schnitt.
  • Aspekte der menschlichen Physiologie – etwa das Verhältnis unserer Gesamtkörperlänge zum Abstand unseres Kopfes zu unseren Fingerspitzen oder das Verhältnis zwischen der Länge unserer Unterarme und unserer Hände – sind alle nach Φ gestaltet.
    Die Cochlea im menschlichen Ohr ist eine Fibonacci-Spirale, ebenso wie die Nabelschnur. Es wird sogar angenommen, dass wir unbewusst von Gesichtern angezogen werden, deren Proportionen von Höhe zu Breite dem Goldenen Schnitt nahe kommen.

Im Kern ist Mathematik eine Suche nach Mustern in allen Dingen. Es gibt keinen besseren oder allgegenwärtigeren Bereich, um diese Muster zu finden, als im Schoß von Mutter Natur.

Von Mikroorganismen bis hin zu Galaxien, die Fibonacci-Folge findet sich in einer überwältigenden Vielfalt natürlicher Physiologien und Phänomene wieder, von mikroskopischer bis kosmischer Größenordnung – und das aus gutem Grund.

Der Goldene Schnitt oder Φ verleiht allem, worin er Ausdruck findet, ein ergonomisches Gleichgewicht aus ästhetischer und funktionaler Harmonie. Aus diesem Grund wird der Goldene Schnitt auch als göttliche Proportion bezeichnet.

Aber die Bedeutung der Fibonacci-Folge geht weit über die natürliche Welt hinaus und findet ihren Ausdruck in einem breiten Spektrum menschlicher Bemühungen – in der Mathematik, den Wissenschaften und den Künsten.

Lesen Sie unsere beliebten Artikel zur Softwareentwicklung

Wie implementiert man Datenabstraktion in Java? Was ist die innere Klasse in Java? Java-Identifikatoren: Definition, Syntax und Beispiele
Verstehen der Kapselung in OOPS mit Beispielen Befehlszeilenargumente in C erklärt Top 10 Merkmale und Merkmale von Cloud Computing im Jahr 2022
Polymorphismus in Java: Konzepte, Typen, Eigenschaften und Beispiele Pakete in Java und wie man sie verwendet? Git-Tutorial für Anfänger: Lernen Sie Git von Grund auf neu

Generieren der Fibonacci-Folge mit Python

Die Fibonacci-Folge und der Goldene Schnitt sind integraler Bestandteil verschiedener Aspekte von:

  • Algebra, Geometrie, Statistik und Trigonometrie – das kann auf verschiedene Wirtschaftspraktiken und Börsenanalysen angewendet werden.
  • Biologie, Physik und Informatik – das findet Anwendung in synthetischer Biologie und Genetik, Bau- und Maschinenbau, Architektur, Innenarchitektur und natürlich Computerprogrammierung.
  • Kunst und Grafikdesign sowie Poesie, Musik und Tanz

Dies ist oft ein grundlegender Schritt bei der Erstellung einer Vielzahl nützlicher Anwendungen, die mit den oben genannten Themen und darüber hinaus verbunden sind.

Die Fibonacci-Folge kann mit einer Vielzahl von Programmiersprachen generiert werden. Wie bereits erwähnt, ist Python eines der mächtigsten und vielseitigsten davon – in der Lage, Fibonacci-Zahlen und die Fibonacci-Folge auf verschiedene Weise zu verwenden und zu manipulieren, um einige der modernsten Technologielösungen zu entwickeln.

Sehen Sie sich den Advanced Certificate Programmer von upGrad in Blockchain von IIIT Bangalore an

Hier sind einige der Methoden, mit denen Python verwendet werden kann, um die Fibonacci-Folge zu generieren:

Iterativer Ansatz

Bei dieser Methode lautet der Algorithmus :

  • Weist zwei beliebige Variablen zu, um die ersten beiden aufeinanderfolgenden Terme innerhalb der Sequenz darzustellen. Dabei steht 0 für den ersten Term der Sequenz und 1 für den zweiten.
  • Legt den gewünschten Bereich von Termen fest, die in der Sequenz und Schleife von 0 aufwärts berechnet werden sollen.
  • Bei jeder Iteration gilt für den Algorithmus:
    • Addiert die beiden Variablen.
    • Weist dann der ersten Variablen den Wert der zweiten Variablen zu
      und die Summe der vorherigen zwei Variablen zur zweiten Variablen.
    • Usw…

Der entsprechende Code würde wie folgt geschrieben :

def fibo (num) :

a = 0

b = 1

für i in xrange(0, 20):

drucke a

a, b = b, a + b

Die entsprechende Ausgabe wären die ersten zwanzig Zahlen der Fibonacci-Folge :

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,
144, 233, 377, 610, 987, 1597, 2584, 4181

Rekursiver Ansatz

Bei dieser Methode leitet der Algorithmus ab :

Der Wert jedes aufeinanderfolgenden Begriffs durch Addition der Werte der beiden vorangegangenen Begriffe. Dies kann als Term n = Term n-1 + Term n-2 dargestellt werden.

Die einzigen zwei Ausnahmen von dieser Regel sind, wenn der Wert der Terme 0 und 1 ist, die beide unveränderte Werte zurückgeben. Diese Ausnahmen können als Term n = Term n dargestellt werden.

Der entsprechende Code würde wie folgt geschrieben :

def recur_fodo (n):

wenn n < = 1:

Rückkehr n

anders:

Rückgabe (recur_fibo (n-1) + recur_fibo (n-2) )

Nterms = 20

# Prüfen Sie, ob die Anzahl der Begriffe gültig ist

wenn Nerme <= 0:

print („Bitte geben Sie eine positive ganze Zahl ein“)

anders:

drucken („Fibonacci-Folge“)

Für i im Bereich (nterms):

Drucken (recur_fibo i))

Die entsprechende Ausgabe wären die ersten zwanzig Zahlen der Fibonacci-Folge :

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,
144, 233, 377, 610, 987, 1597, 2584, 4181

Einige eigenständige Anwendungen der Fibonacci-Folge

Die Fibonacci-Zahlen sind nicht nur ein grundlegender Schritt in der Entwicklung verschiedener komplexer Modelle und Anwendungen, sondern besitzen auch einige einzigartige Eigenschaften, die sie für die Erfüllung bestimmter Aufgaben von unschätzbarem Wert machen:

  • Fibonacci-Zahlen können verwendet werden, um die Rechenlaufzeit des Euklid-Algorithmus zu analysieren, um den größten gemeinsamen Teiler eines zufälligen Paares von ganzen Zahlen zu identifizieren, da ein Paar aufeinanderfolgender Fibonacci-Zahlen typischerweise die größte Herausforderung für diesen Algorithmus darstellt.
  • Fibonacci-Zahlen stellen eindeutig eine vollständige Folge dar, sodass jede positive ganze Zahl in der Folge die Summe von zwei Fibonacci-Zahlen ist, von denen jede nur einmal verwendet werden kann.
  • Auf Fibonacci-Zahlen basierende Algorithmen halfen bei der Entwicklung der Fibonacci-Suchtechnik, der Fibonacci-Heap-Datenstruktur und der Fibonacci-Würfeldiagramme, die zur Verbindung paralleler und verteilter Systeme verwendet werden.
  • Fibonacci-Zahlen werden beim Scrum-Poker verwendet – einer konsensbasierten und gamifizierten Technik zur Schätzung von Entwicklungszielen in der Softwareentwicklung.
  • Das Retracement von Fibonacci-Niveaus wird häufig in der technischen Analyse für den Börsenhandel verwendet.

Abschließend

Wir haben im Verlauf dieses Artikels versucht, Ihr Interesse an der Fibonacci-Folge oder dem Goldenen Schnitt zu wecken – ihren Hauptmerkmalen und ihrer erstaunlich häufigen Wiederkehr in der natürlichen Welt – sowohl in der belebten als auch in der unbelebten.

Wir haben versucht, die Auswirkungen einzufangen und das Wunder nachzubilden, das dieses mathematische Phänomen in einer sehr unterschiedlichen und multidimensionalen Bandbreite menschlicher Aktivitäten hervorgebracht hat – Kunst und Wissenschaft, Ingenieurwesen und Technologie, Anatomie und Genetik, Wirtschaft und Finanzen … und vieles mehr .

Wir haben versucht, zum Leben zu erwecken, wie eine äußerst vielseitige Programmiersprache namens Python Ihnen helfen kann, diese mathematischen Konzepte zu manipulieren, um der Menschheit auf unerwartet vielfältige Weise zu nutzen – sowohl direkt als auch indirekt.

Wir hoffen inständig, dass diese potente Kombination aus Python und der Fibonacci-Folge Ihre Vorstellungskraft beflügelt, Ihren Verstand entzündet, Ihre Bestrebungen antreibt und Sie zu den größten Erfolgen inspiriert. Viel Spaß beim Codieren! Viel Spaß beim Träumen!

Wir bei upGrad wissen, wie wichtig praktisches Lernen ist – insbesondere in der Softwareentwicklung. Daher sind unsere Kurse und Trainingsinitiativen im Kern praxisorientiert. Eine dieser Initiativen ist das Full-Stack-Entwicklungs-Bootcamp, das Ihnen hilft, alle relevanten Fähigkeiten zu entwickeln, die erforderlich sind, um sich in der Full-Stack-Entwicklung hervorzuheben.

Möchten Sie diesen Artikel teilen?

Planen Sie jetzt Ihre Karriere als Softwareentwickler!

Bewerben Sie sich für den Master of Science in Informatik