Eski çağlarda algoritmalar
Algoritmaları düşündüğünüzde, muhtemelen Wall Street süper bilgisayarlarının saniyenin çok küçük bir bölümünde binlerce hesaplama ve işlem yaptığını veya sosyal medya şirketlerinin her tıklamanızı ve yorumunuzu izlediğini, sizi reklamlarla hedeflediğini ve kutuplaştırıcı içerik.
Bununla birlikte, algoritma kavramı insanlar tarafından binlerce yıldır görevlerin yerine getirilmesi, sorunların çözülmesi ve kararların alınması için talimatlar gibi çeşitli şekillerde kullanılmaktadır. Yunanlılar ve Babilliler gibi eski uygarlıklar matematik ve inşaat uygulamalarında algoritmaları kullanmışlardır. Yunanlı bir matematikçi olan Öklid Öklid algoritması MÖ 300'de iki sayının en büyük ortak bölenini bulmak için. Eski Mısırlılar ve Yunanlılar "Cetvel ve Pergel" inşa algoritmasını kullanmışlardır. Babilliler 60 tabanını kullanarak çarpma ve bölme işlemlerini gerçekleştirmek için bir algoritma kullanmışlardır.
Algoritmaları kendi çıkarları için kullanan sadece insanlar değil, doğanın kendisi de ekosistemleri düzenlemek ve ayarlamak için algoritmalar kullanıyor.
Doğadaki algoritma örnekleri
Doğanın kendisi de büyük ölçüde algoritmalar aracılığıyla düzenlenmiştir. Bu yazıda size doğadaki algoritmalara sekiz örnek göstereceğiz:
- Yiyecek bulmak ve toplamak için basit bir kural tabanlı algoritma kullanan karıncaların yiyecek arama davranışı
- Kuşların bir arada kalmak ve çarpışmalardan kaçınmak için merkezi olmayan bir algoritma kullandıkları sürü davranışı
- Arıların yiyecek aramak ve çiçeklerin konumu hakkında bilgi paylaşmak için basit bir iletişim protokolü kullandıkları sürü zekası
- Avantajlı özelliklere sahip organizmaların hayatta kalma ve üreme olasılığının daha yüksek olduğu ve bu özellikleri yavrularına aktardığı evrimin genetik algoritması.
- Deniz kaplumbağaları yönlerini bulmak ve yuvalama kumsallarına dönmek için dünyanın manyetik alanını kullanırlar.
- Evlerinin yolunu bulmak için görsel işaretler, güneşin konumu ve dünyanın manyetik alanının bir kombinasyonunu kullanan posta güvercinlerinin ev arama davranışı.
- Bitkilerin büyüme şekilleri, örneğin Fibonacci dizisi yaprak ve dalların düzeninde bulunur.
- Termitlerin yuvalarını inşa etmek ve korumak için merkezi olmayan bir algoritma kullandıkları koloni davranışı.
Karıncaların yiyecek arama davranışları
Karıncalar, yiyecek arama ve toplama süreci olan verimli yiyecek arama davranışlarıyla bilinirler. Yiyecek bulmak ve toplamak için iki ana ilkeye dayanan basit bir kural tabanlı algoritma kullanırlar: pozitif geri bildirim ve stigmerji.
Pozitif geri besleme, karıncaların bir besin kaynağına gidip gelirken arkalarında feromon izi adı verilen kimyasal bir iz bıraktıkları süreci ifade eder. Diğer karıncalar bu izi takip ederek besin kaynağına ulaşabilir. Daha fazla karınca izi takip ettikçe, feromon konsantrasyonu artar ve izi diğer karıncalar için daha çekici hale getirir. Bu da olumlu bir geri besleme döngüsü yaratır; izi takip eden karınca sayısı arttıkça iz daha güçlü hale gelir.
Stigmerji, karıncaların yiyeceklerin yeri hakkında bilgi iletmek için çevreyi kullandıkları süreci ifade eder. Örneğin, bir karınca bir besin kaynağı bulduğunda, diğer karıncaların takip edebileceği bir feromon izi bırakacaktır. Daha fazla karınca izi takip ettikçe, onlar da feromon bırakarak izi daha güçlü ve diğer karıncalar için daha çekici hale getirecektir. Bu, karıncaların birbirleriyle doğrudan iletişim kurmadan yiyeceğin yeri hakkında bilgi iletmelerini sağlar.
Bu iki ilkenin birleşimi, karıncaların merkezi olmayan bir şekilde verimli bir şekilde yiyecek bulmalarını ve toplamalarını sağlar. Merkezi bir komuta veya lider olmadan, karınca kolonisi çevredeki değişikliklere uyum sağlayabilir ve yiyecek kaynaklarını hızlı ve verimli bir şekilde bulabilir.
Kuşların sürü davranışları
Kuşların sürü davranışı, kuşların sürü olarak da bilinen koordineli gruplar halinde hareket ettiği, iyi çalışılmış bir olgudur. Bu davranışı kontrol eden algoritma, sürüdeki bireysel kuşların hareketini yöneten bir dizi basit kurala dayanmaktadır. Bu kurallar merkezi değildir, yani kuşlar arasındaki yerel etkileşimlere dayanır ve merkezi bir kontrol veya lider gerektirmez.
Sürü davranışını yönetmek için kullanılan üç ana kural şunlardır:
- Ayrılma: Her kuş, çarpışmaları önlemek için en yakın komşularından belirli bir mesafeyi korumaya çalışır.
- Hizalama: Her kuş seyahat yönünü en yakın komşularınınkiyle aynı hizaya getirir.
- Uyum: Her kuş en yakın komşularının ortalama konumuna doğru hareket ederek uyumlu bir grup oluşturur.
Kuşlar bu basit kuralları takip ederek koordineli gruplar halinde hareket edebilir, istikrarlı bir düzeni koruyabilir ve çarpışmalardan kaçınabilir. Ayrıca bu kurallar, sürülerin potansiyel bir avcı veya yeni bir besin kaynağı gibi ortamdaki değişikliklere hızlı bir şekilde yanıt vermesini sağlar.
Arıların sürü zekası
Arılar, verimli bir şekilde yiyecek aramak ve çiçeklerin konumu hakkında bilgi paylaşmak için bir tür kolektif davranış olan sürü zekasını kullanır. Bunu başarmak için "sallanma dansı" adı verilen basit bir iletişim protokolü kullanırlar. Bir arı yeni bir besin kaynağı keşfettiğinde, sekiz şekilli bir dans gerçekleştirir. Bu dansın açısı ve süresi, besin kaynağının yönü ve uzaklığı hakkında bilgi kodlar. Kovandaki diğer arılar daha sonra dansı gözlemleyebilir, kodlanmış bilgiyi kullanabilir ve besin kaynağına uçabilir. Ayrıca, arılar gıdanın yeri hakkında bilgi paylaşmak için feromonlar, titreşimler ve dokunsal iletişim gibi diğer iletişim biçimlerini de kullanırlar. Bu merkezi olmayan yaklaşım, koloninin çevredeki değişikliklere hızla uyum sağlamasına ve gıda kaynaklarını verimli bir şekilde bulmasına olanak tanır.
Evrimin genetik algoritması
Evrim sürecinde, avantajlı özelliklere sahip organizmaların hayatta kalma ve üreme olasılığı daha yüksektir. Bu özelliklerin ebeveynden yavruya aktarılması genetik algoritma olarak bilinir. Doğal seçilim, bir popülasyonun genetik yapısını zaman içinde değiştirerek yeni türlerin ortaya çıkmasına neden olur. Bu algoritma, hayatta kalmaya ve üremeye yardımcı olan özelliklerin aktarılmasını ve daha az elverişli olanların daha az olası aktarılmasını tercih eder. Bu süreç, bir popülasyonun genetik yapısını zaman içinde kademeli olarak değiştirerek yeni türlerin gelişmesine yol açar.
Bir organizmanın DNA'sındaki rastgele değişiklikler olan mutasyonlar da bir popülasyona yeni genetik varyasyonlar getirerek evrimin genetik algoritmasında rol oynar. Bu mutasyonlar, hayatta kalma ve üreme için faydalı olabilecek yeni özelliklerin gelişmesine yol açabilir.
Evrimin genetik algoritması, yeryüzündeki yaşam formlarının çeşitliliğini ve adaptasyonunu yönlendiren aktif bir süreçtir. Bu, milyarlarca yıl boyunca milyonlarca türün gelişmesine yol açan ve gezegenimizdeki yaşam çeşitliliğini şekillendiren güçlü bir algoritmadır.
Deniz kaplumbağalarının navigasyonu
Deniz kaplumbağaları yönlerini bulmak ve yuvalama kumsallarına dönmek için karmaşık bir navigasyon algoritması kullanır. Bu algoritma, deniz kaplumbağalarının beyinlerindeki özelleşmiş hücreleri kullanarak algılayabildikleri Dünya'nın manyetik alanına dayanmaktadır.
Deniz kaplumbağaları yumurtalarından çıktıklarında, denize doğru yönlerini bulmak için bu manyetik duyuyu kullanırlar. Yüzerken, dünyanın manyetik alanını not alırlar ve bunu yönlerini bulmak için bir referans olarak kullanırlar. Bu sayede yüzerken yönlerini sabit tutabilir ve sonunda doğdukları yuvalama kumsalına geri dönebilirler.
Bilim insanları, deniz kaplumbağalarının beyinlerinde dünyanın manyetik alanının bir temsilini oluşturmalarını sağlayan "manyetik harita" adı verilen bir süreç kullandıklarına inanıyor. Bu harita, farklı konumlardaki manyetik alanın yoğunluğuna ve yönüne dayanıyor ve deniz kaplumbağalarının dünyanın manyetik alanını yönlerini bulmak için bir referans olarak kullanmalarını sağlıyor.
Ayrıca yönlerini bulmak için güneşin konumu, dalga yönü ve koku gibi diğer ipuçlarını da kullanırlar.
Posta güvercinlerinin hedef arama davranışı
Posta güvercinleri yönlerini bulmak ve evlerine dönmek için bir dizi algoritma kullanır. Bu algoritmalar görsel işaretleri, güneşin konumunu ve dünyanın manyetik alanını içerir.
Posta güvercinleri ana kümeslerine dönmek üzere eğitildiklerinde, yollar, binalar ve diğer ayırt edici özellikler gibi görsel işaretleri not alarak aktif bir şekilde çevrenin zihinsel bir haritasını oluştururlar. Kendilerini yönlendirmek ve seyahat yönlerini belirlemek için güneşin konumunu da kullanırlar.
Görsel ipuçlarına ek olarak, posta güvercinleri de deniz kaplumbağaları gibi dünyanın manyetik alanını algılama yeteneğine sahiptir. Bu yeteneği, manyetik alandaki değişiklikleri tespit ederek ve bunu tutarlı bir yönü korumak için referans olarak kullanarak yönlerini bulmak için kullanırlar.
Bu algoritmaların birleşimi, posta güvercinlerinin bilmedikleri yerlere bırakıldıklarında bile yönlerini bulmalarını ve evlerine geri dönmelerini sağlar.
Bitkilerin büyüme şekilleri
Bitkilerin büyüme modelleri, hücre bölünmesini ve farklılaşmasını kontrol eden algoritmalar tarafından belirlenir. Bu algoritmalar, bitkinin DNA'sında depolanan genetik bilgiye ve bitkinin aldığı çevresel ipuçlarına dayanır.
Bitkilerdeki büyüme modeli algoritmasının bir örneği, yaprakların ve dalların düzenlenmesinde bulunan Fibonacci dizisidir. Fibonacci dizisi, 0 ve 1'den başlayarak her sayının kendinden önceki iki sayının toplamı olduğu bir sayı dizisidir. Bu dizi, her seviyedeki dal sayısının önceki iki seviyedeki dal sayısının toplamı olduğu bir gövde üzerindeki yaprak ve dalların düzenlenmesinde gözlemlenebilir.
Bitkilerdeki büyüme modeli algoritmasının bir başka örneği de yaprakların bir gövde üzerindeki dizilimi olan filotaksidir. Yaprak primordialarının, yapraklara dönüşen öncü hücrelerin sayısı ve aralarındaki açı bu düzeni belirler. Genler, yaprak primordialarının oluşumunu ve olgun yapraklara farklılaşma zamanlamasını düzenleyerek bu algoritmayı kontrol eder.
Bitkiler ayrıca büyümelerini kontrol etmek için ışığın yönünü algıladıkları ve ona doğru büyüdükleri fototropizm ve yerçekiminin yönünü algıladıkları ve ona doğru büyüdükleri jeotropizm gibi başka algoritmalar da kullanırlar.
Termitlerin koloni davranışları
Termitlerin koloni davranışı, yuvalarını inşa etmelerini ve sürdürmelerini sağlayan merkezi olmayan bir algoritmaya dayanır. Bu algoritma, bireysel termitlerin davranışlarını ve çevreyle etkileşimlerini yöneten basit kurallara dayanır.
Termitlerin koloni davranışını yöneten ana kurallardan biri iş bölümüdür. Kolonideki her termitin yiyecek arama, yavrulara bakma veya yuva inşa etme ve sürdürme gibi belirli bir rolü vardır. Bu iş bölümü, koloninin verimli ve etkili bir şekilde çalışmasını sağlar.
Termitlerin koloni davranışını yöneten bir diğer önemli kural da karıncalar gibi feromon kullanımıdır. Termitler birbirleriyle iletişim kurmak ve faaliyetlerini koordine etmek için feromon kullanırlar. Örneğin, bir termit bir besin kaynağı bulduğunda, diğer termitlerin takip edebileceği bir feromon izi bırakır. Bu, koloninin verimli bir şekilde yiyecek aramasına ve kaynakların yeri hakkında bilgi paylaşmasına olanak tanır.
Ayrıca termitler, faaliyetlerini koordine etmek için titreşimler, dokunma sinyalleri ve kimyasal ipuçları gibi diğer iletişim biçimlerini de kullanırlar.
Doğadaki algoritmaların özetlenmesi
Farklı organizmalar çevrelerine uyum sağlamak ve hayatta kalmalarını optimize etmek için çeşitli algoritmalar kullanır. Karıncalar pozitif geri bildirim ve stigmerji, kuşlar ayrılma, hizalanma ve uyum kurallarını, arılar "sallanma dansı" ve diğer iletişim biçimlerini, evrimin genetik algoritması yaşam formlarının çeşitliliğini ve adaptasyonunu, deniz kaplumbağaları navigasyon için Dünya'nın manyetik alanını, posta güvercinleri görsel işaretleri, güneşin konumunu ve Dünya'nın manyetik alanını, bitkiler büyüme modellerini kontrol etmek için genetik bilgi ve çevresel ipuçlarının bir kombinasyonunu ve termitler yuvalarını inşa etmek ve sürdürmek için basit kurallara dayalı merkezi olmayan bir algoritma kullanır. Tüm bu örnekler, organizmaların uyum sağlamak ve hayatta kalmak için algoritmaları nasıl kullandığını göstermektedir.