Python'da Fibonacci Dizisini Uygulamak

Yayınlanan: 2023-02-23

Python, Yapay Sinir Ağlarının uygulanmasını kolaylaştıran ve Doğal Dil İşleme, Derin Öğrenme, Yüz Tanıma, Genetik Algoritmalar ve benzeri birçok son teknoloji yapay zeka tabanlı görevi destekleyen güçlü ve çok yönlü çok amaçlı bir programlama dilidir.

Bu makale, Python'un Fibonacci dizisini doğru bir şekilde oluşturmak için kullanılabileceği başlıca yollardan bazılarını araştırıyor - yalnızca kendi içlerinde yararlı olmakla kalmayan, aynı zamanda genellikle gelişmiş programların oluşturulması için temel oluşturan nispeten basit algoritmaların harika bir örneği. bilişsel işlevler.

İçindekiler

Fibonacci Dizisi nedir?

Fibonacci Dizisi belki de insanlığın bildiği en basit, bilinen en eski ve en ünlü matematiksel diziler arasındadır.

Fibonacci Serisi 0 ve 1 ile başlar ve şu şekilde ilerler: 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 vb.

Başlangıç ​​noktası sıfır olan Fibonacci Dizisi, aşağıdaki gibi iki yönlü bir şekilde süresiz olarak uzanır:
…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… Sıfırın solundaki dizi “negafibonacci” dizisi olarak bilinir.

Rekabette avantaj elde etmek için ücretsiz teknoloji kurslarımıza göz atın.

Fibonacci dizisi matematiksel olarak şu şekilde temsil edilebilir:

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

Burada n, terim numarası ve x n , terim değeridir. x n terim değerini hesaplama formülü şöyledir:
x n = x n-1 + x n-2

Örneğin, 8 numaralı terimin değeri:

x 8 = x 7 + x 6

8 = 13 + 8

x 8 = 21

İşte Fibonacci Dizisi ile ilgili küçük bir bilgi: Fibonacci Günü, tarih 1, 1, 2 ve 3 rakamlarıyla temsil edilebileceği için 23 Kasım'da kutlanır - bunlar Fibonacci Sayı Dizisinin doğru sıralanmış bir bölümünü temsil eder.

Popüler Yazılım Mühendisliği Kurslarımızı keşfedin

LJMU & IIITB'den Bilgisayar Bilimlerinde Bilim Ustası Caltech CTME Siber Güvenlik Sertifika Programı
Tam Yığın Geliştirme Eğitim Kampı Blockchain'de PG Programı
Tam Yığın Geliştirmede Yönetici PG Programı
Aşağıda Tüm Kurslarımızı Görüntüleyin
Yazılım Mühendisliği Kursları

Fibonacci Dizisinin Tarihçesi ve Kökenleri

Halk arasında Fibonacci olarak bilinen Leonardo Pisano Bogollo, İtalyanca konuşma dilinde kabaca 'Bonacci'nin oğlu' anlamına gelir.

Fibonacci, - sonuç olarak - onun adını taşıyan bu özel sayı dizisinin formülasyonu ile itibar kazandı. MS 13. yüzyılın başında dönüm noktası niteliğindeki kitabıLiber Abaciaracılığıyla onu Batı Avrupa'nın büyük bir bölümüne tanıttı .

Zamanının en yetenekli matematikçileri arasında yaygın olarak kabul edilen Fibonacci, tesadüfen, o zamana kadar çok daha hantal Roma rakamlarını kullanan Hindu-Arap rakamlarının tüm Avrupa'da yaygın olarak benimsenmesiyle de itibar kazandı.

Bununla birlikte, bugün Fibonacci Dizisi olarak adlandırılan şeyin, eski Hindistan'da MÖ 3. yüzyılda olduğu gibi kullanıldığı artık biliniyor.

Sanskritçe aruzla ilgili eski bir inceleme olan Pingala-sutralarda ve sırasıyla eski Hindistan'ın saygıdeğer bilgeleri Acharya Pingala ve Bharata Muni'ye atfedilen eski Hint gösteri sanatları üzerine bir inceleme olan Natya Shastra'da ifadesini buldu.

Sekansla ilgili en kesin yorum, MS 8. yüzyılın başında Virahanka'nın çalışmasında görülür. Bu metnin kendisinin izini sürülmemiş olsa da, MS 1135'te Gopala'nın çalışmasında atıfta bulunulmuş ve kapsamlı bir şekilde alıntılanmıştır. Tesadüfen, o yılın rakamları ardışık bir Fibonacci sayıları dizisini temsil ediyor.

Bir başka Hintli metrik ritim Bilgini Acharya Hemachandra'nın MS 1150'de ayrıntılı olarak tanımladığı dizi hakkında derin bir bilgiye sahip olduğu söylenir. Bu, Fibonacci'nin çalışmasından 50 yıl öncesine tarihlenir.

upGrad'ın Yazılım Geliştirme Kurslarına Göz Atın

Binet'in Formülü

Sabit katsayılı tüm sabit-yinelemeli diziler gibi, Fibonacci sayıları da Binet formülü olarak bilinen kapalı biçimli bir ifade olarak gösterilebilir. Adını 19. yüzyılın başlarında yaşamış ünlü bir Fransız matematikçi olan Jacques Philippe Marie Binet'den alan Binet'in Formülü şu şekilde gösterilebilir:

F n'nin n'inci Fibonacci sayısı olduğu göz önüne alındığında :

Yukarıdaki formülden çıkarılabilecek şey, ilk birkaç sayı dışında, Fibonacci serisindeki her bir ardışık sayı çifti arasındaki oranın, 21. sayı ile gösterilen Altın Oran - 1:1.618'e kademeli olarak yaklaştığı gerçeğidir. Yunan alfabesinin harfi – Φ (phi).

Bu, serideki her sayının kendisini takip eden Fibonacci sayısının 0,6180339887'si olduğu VEYA Fibonacci dizisinde ardışık her sayının kendisinden önce gelen sayının 1,6180339887 katı olduğu anlamına gelir.

İsteğe Bağlı Yazılım Geliştirme Becerileri

JavaScript Kursları Temel Java Kursları Veri Yapıları Kursları
Node.js Kursları SQL Kursları Tam yığın geliştirme Kursları
NFT Kursları DevOps Kursları Büyük Veri Kursları
React.js Kursları Siber Güvenlik Kursları Bulut Bilişim Kursları
Veritabanı Tasarım Kursları Python Kursları Kripto Para Kursları

Fibonacci Dizisi ve Altın Oran

Fibonacci Dizisinin ve onun türevi olan Altın oranın önemi, doğada esrarengiz bir şekilde sık tekrar etmesi nedeniyle önemli ölçüde artmıştır. Bunun en yaygın örneklerinden bazıları şunlardır:

  • İster 3 yapraklı Zambak, ister 5 yapraklı Buttercup, 21 yapraklı Hindiba çiçeği veya 34 yapraklı Papatya olsun, bir çiçeğin taçyapraklarının sayısı neredeyse her zaman bir Fibonacci sayısıdır.
    Şaşırtıcı bir şekilde, Fibonacci sayılarına olan bu sadık uygunluk, Darwinci tasarımın bir ürünü gibi görünüyor, çünkü bilim adamları bu özel petal düzenlemelerinin, bu çiçeklerin her birinin güneş ışığına, neme ve kuşlar ve böcekler gibi tozlaşma maddelerine en uygun şekilde maruz kalmasını sağladığını keşfettiler. .
  • Altın oran veya Φ, bir Ayçiçeğinin tohum başlarından tüm galaksilere, bir çam kozalağı üzerindeki çıkıntılardan kasırgalara, bir Ananasın dikenlerinden bir keçinin boynuzlarının eğriliğine ve çiçeklerden oluşan neredeyse tüm doğal sarmal modellerde görülür. insan parmak izi üzerindeki ağırşaklara bir Karnabahar görüntüsü.
    Bir nautilus kabuğunun sarmal deseni, "Fibonacci Spirali" olarak adlandırılan şeyin özellikle ikonik bir temsili olarak kabul edilir.
  • Ağaçların dallanması ve kök sistemleri, bir kovandaki erkek ve dişi arıların oranı, mikroplardan salyangozlara, kaplumbağalardan balinalara kadar hayvanların çeşitli vücut kısımları Altın Oran'a uygundur.
  • İnsan fizyolojisinin yönleri - örneğin, toplam vücut uzunluğumuz ile başımızdan parmak uçlarımıza olan mesafe arasındaki oran veya ön kollarımızın uzunluğu ile ellerimiz arasındaki oran, hepsi Φ'ye göre tasarlanmıştır.
    İnsan kulağındaki Salyangoz, göbek kordonu gibi bir Fibonacci Spiraldir. Hatta bilinçaltımızda, yükseklik ve genişlik oranları Altın Oran'a yaklaşan yüzlere çekildiğimize inanılıyor.

Özünde, Matematik her şeydeki kalıpları ortaya çıkarma arayışıdır. Bu kalıpları aramak için tabiat ananın kucağından daha iyi veya daha yaygın bir alan yoktur.

Mikroorganizmalardan galaksilere kadar, Fibonacci Dizisi, mikroskobik ölçekten kozmik ölçeğe kadar - ve iyi bir sebeple - ezici bir doğal fizyoloji ve fenomenler dizisinde yansıma bulur.

Altın Oran veya Φ ifadesini bulduğu her şeye ergonomik bir estetik ve işlevsel uyum dengesi verir. Bu nedenle Altın Oran aynı zamanda İlahi Oran olarak anılır.

Ancak Fibonacci Dizisinin önemi, doğal dünyanın çok ötesine uzanır ve matematik, bilimler ve sanatlar arasında çok çeşitli insan çabalarında ifade bulur.

Yazılım Geliştirme ile ilgili Popüler Makalelerimizi okuyun

Java'da Veri Soyutlama Nasıl Uygulanır? Java'da İç Sınıf nedir? Java Tanımlayıcıları: Tanım, Sözdizimi ve Örnekler
OOPS'de Kapsüllemeyi Örneklerle Anlamak C'deki Komut Satırı Argümanları Açıklandı 2022'de Bulut Bilişimin En İyi 10 Özelliği ve Özelliği
Java'da Polimorfizm: Kavramlar, Türler, Özellikler ve Örnekler Java'da Paketler ve Nasıl Kullanılır? Yeni Başlayanlar İçin Git Eğitimi: Git'i Sıfırdan Öğrenin

Python kullanarak Fibonacci Dizisini Oluşturma

Fibonacci Dizisi ve Altın Oran, aşağıdakilerin çeşitli yönlerinin ayrılmaz bir parçasıdır:

  • Cebir, geometri, istatistik ve trigonometri - çeşitli ekonomik uygulamalara ve borsa analizlerine uygulanabilir.
  • Biyoloji, fizik ve bilgisayar bilimi - sentetik biyoloji ve genetik, inşaat ve makine mühendisliği, mimarlık, iç tasarım ve tabii ki bilgisayar programcılığında uygulama buluyor.
  • Sanat ve grafik tasarımın yanı sıra şiir, müzik ve dans

Genellikle, yukarıdaki konularla ve daha fazlasıyla bağlantılı çok çeşitli yararlı uygulamaların oluşturulmasında temel bir adımdır.

Fibonacci Dizisi, çok çeşitli programlama dilleri kullanılarak üretilebilir. Daha önce belirtildiği gibi Python, bunların en güçlü ve çok yönlü olanlarından biridir - en ileri teknoloji çözümlerinden bazılarını geliştirmek için Fibonacci Sayılarını ve Fibonacci Dizisini çeşitli şekillerde kullanma ve manipüle etme yeteneğine sahiptir.

IIIT Bangalore'dan upGrad'ın Blockchain'deki Gelişmiş Sertifika Programlayıcısına Bakın

Fibonacci Dizisini oluşturmak için Python'un kullanılabileceği yöntemlerden bazıları şunlardır:

Iteratif yaklaşım

Bu yöntemde algoritma :

  • Dizideki ilk iki ardışık terimi temsil etmek için herhangi iki değişkeni atar. Burada 0, dizinin ilk terimini, 1 ise ikinci terimi temsil eder.
  • Sırada ve 0'dan yukarıya doğru döngüde hesaplanacak istenen terim aralığını ayarlar.
  • Her yinelemede, algoritma:
    • İki değişkeni ekler.
    • Daha sonra ikinci değişkenin değerini birinci değişkene atar.
      ve önceki iki değişkenin toplamı ikinci değişkene.
    • Ve benzeri…

Karşılık gelen kod aşağıdaki gibi yazılacaktır :

def fibo (sayı):

bir = 0

b = 1

xrange(0, 20) içindeki i için:

yazdır

bir, b = b, bir + b

Karşılık gelen çıktı, Fibonacci Dizisinin ilk yirmi sayısı olacaktır :

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

Yinelemeli Yaklaşım

Bu yöntemde, algoritma türetilir :

Önceki iki terimin değerini toplayarak birbirini izleyen her terimin değeri. Bu, terim n = terim n-1 + terim n-2 olarak temsil edilebilir.

Bu kuralın yalnızca iki istisnası, terimlerin değerinin 0 ve 1 olması ve her ikisinin de değişmeyen değerler döndürmesidir. Bu istisnalar terim n = terim n olarak gösterilebilir.

Karşılık gelen kod aşağıdaki gibi yazılacaktır :

def recur_fodo (n):

n < = 1 ise:

dönüş n

başka:

dönüş (recur_fibo (n-1) + recur_fibo (n-2) )

Nterms = 20

# terim sayısının geçerli olup olmadığını kontrol edin

nermler <= 0 ise:

print (“Lütfen pozitif bir tamsayı giriniz”)

başka:

print (“Fibonacci dizisi”)

Aralıktaki i için (nterms):

Yazdır (recur_fibo i))

Karşılık gelen çıktı, Fibonacci Dizisinin ilk yirmi sayısı olacaktır :

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

Fibonacci Dizisinin bazı bağımsız uygulamaları

Fibonacci Sayıları, çeşitli karmaşık modellerin ve uygulamaların geliştirilmesinde temel bir adım olmasının yanı sıra, kendi başlarına, onları belirli görevlerin yerine getirilmesinde paha biçilmez kılan bazı benzersiz özelliklere sahiptir:

  • Fibonacci sayıları, rastgele bir tamsayı çiftinin en büyük ortak bölenini belirlemek için Öklid algoritmasının hesaplama çalışma zamanını analiz etmek için kullanılabilir, çünkü bir çift ardışık Fibonacci sayısının tipik olarak bu algoritma için en ciddi zorluğu teşkil ettiği gerçeği göz önünde bulundurulur.
  • Fibonacci sayıları benzersiz bir şekilde tam bir diziyi temsil eder, öyle ki dizideki her pozitif tam sayı, herhangi biri yalnızca bir kez kullanılabilen iki Fibonacci sayısının toplamıdır.
  • Fibonacci Sayılarına dayalı algoritmalar, Fibonacci arama tekniğinin, Fibonacci yığın veri yapısının ve paralel ve dağıtık sistemleri birbirine bağlamak için kullanılan Fibonacci Küp Grafiklerinin geliştirilmesine yardımcı oldu.
  • Fibonacci sayıları, yazılım geliştirmede geliştirme hedeflerini tahmin etmek için fikir birliğine dayalı ve oyunlaştırılmış bir teknik olan scrum pokerde kullanılır.
  • Fibonacci seviyelerinin geri çekilmesi, borsa ticareti için teknik analizde yaygın olarak kullanılır.

Sonuç olarak

Bu makale boyunca, Fibonacci Dizisi veya Altın Oran'a - onun temel özelliklerine ve hem canlı hem de cansız doğal dünyada şaşırtıcı derecede sık yinelenmesine - ilginizi çekmeye çalıştık.

Sanat ve bilim, mühendislik ve teknoloji, anatomi ve genetik, ekonomi ve finans... ve çok daha fazlası gibi çok çeşitli ve çok boyutlu insan arayışları yelpazesinde bu matematiksel fenomenin yarattığı etkiyi yakalamaya ve harikayı yeniden yaratmaya çalıştık. .

Python adlı son derece çok yönlü bir programlama dilinin, bu matematiksel kavramları beklenmedik şekilde çeşitli şekillerde - hem doğrudan hem de dolaylı olarak - insanlığa fayda sağlamak için manipüle etmenize nasıl yardımcı olabileceğini hayata geçirmeye çalıştık.

Python ve Fibonacci Dizisinin bu güçlü kombinasyonunun hayal gücünüzü yakalamaya, zihinlerinizi ateşlemeye, özlemlerinizi beslemeye ve başarının en yüksek seviyelerine çıkmanıza ilham vermeye devam edeceğini ve etmeye devam edeceğini umuyoruz. Mutlu kodlama! Mutlu rüyalar!

upGrad'da, özellikle yazılım geliştirme söz konusu olduğunda, pratik ve uygulamalı öğrenmenin önemini anlıyoruz. Sonuç olarak, kurslarımız ve eğitim girişimlerimiz özünde pratikliğe sahiptir. Böyle bir girişim, tam yığın geliştirmede başarılı olmak için gereken tüm ilgili becerileri geliştirmenize yardımcı olacak Tam Yığın Geliştirme Eğitim Kampı'dır .

Bu makaleyi paylaşmak istermisiniz?

Yazılım Geliştirme Kariyerinizi Hemen Planlayın!

Bilgisayar Bilimlerinde Bilim Ustası İçin Başvurun