Swarm Intelligence
Sürü zekâsı, birçok basit ajanın yerel kuralları izlemesiyle ortaya çıkan kolektif problem çözme becerisidir; karınca kolonileri, PSO ve robot sürüleri buna örnektir.
Sürü zekâsı (SI), her biri yerel kuralları izleyen ve lideri olmayan çok sayıda basit ajanın, tek başlarına çözemeyecekleri problemleri birlikte çözdüğü merkezi olmayan, kendi kendini örgütleyen sistemlerin kolektif davranışıdır. Karıncalar yiyeceğe giden kısa yolları bulur, kuş sürüleri hep birlikte yön değiştirir ve termitler havalandırmalı tümsekler inşa eder; bunların hiçbirinde tek bir birey planı elinde tutmaz. Gerardo Beni ve Jing Wang, hücresel robotik sistemleri tanımlamak için bu terimi 1989'da ortaya attı. Yapay zekâ (AI) alanında sürü zekâsının iki ana dalı vardır: bu kolektifleri yazılımda taklit eden optimizasyon algoritmaları ve çok sayıda fiziksel robotu aynı şekilde koordine eden sürü robotikleri.
Temel İlkeler#
Sürü sistemlerinin bazı ortak özellikleri vardır:
- Yerel etkileşim: Her ajan yalnızca komşularını ve hemen çevresini algılar ve bunlara tepki verir.
- Kendiliğinden örgütlenme: Bir sürünün şekli veya bir koloninin iz ağı gibi genel örüntüler, merkezi bir plan yerine tekrarlanan yerel etkileşimlerden ortaya çıkar.
- Dayanıklılık: Hiçbir ajan vazgeçilmez olmadığından, bireyler başarısız olduğunda da sürü çalışmayı sürdürür.
- Ölçeklenebilirlik: Ajan eklemek, kontrol mantığını yeniden tasarlamadan kapasiteyi artırır.
Koordinasyon doğrudan veya dolaylı olabilir. Craig Reynolds'un 1986 tarihli boids modeli, üç doğrudan kuralla gerçekçi sürü davranışı üretir: ayrışma (komşularla aşırı yakınlaşmaktan kaçınma), hizalanma (ortalama yönlerine doğru yönelme) ve bütünleşme (ortalama konumlarına doğru yönelme). Karıncalar, stigmerji yoluyla dolaylı biçimde koordine olur: Her karınca feromon bırakarak çevreyi değiştirir ve diğerleri de bu değişmiş çevreye tepki verir.
Sürü Optimizasyonu Algoritmaları#
Sürüden esinlenen optimizasyon algoritmaları, bilgiyi paylaşan aday çözümlerden oluşan bir popülasyonla geniş çözüm uzaylarını arar. Bir adayı puanlamanın bir yoluna ihtiyaç duyar, gradyanına değil; bu nedenle gürültülü, türevlenemeyen veya kombinatoryal problemlere uygundur.
Marco Dorigo'nun 1992 tarihli doktora tezinde tanıtılan karınca kolonisi optimizasyonu (ACO), gezgin satıcı problemi gibi yönlendirme ve çizelgeleme sorunlarını çözer. Yapay karıncalar yolları kenar kenar oluşturur ve daha fazla feromon içeren kenarları tercih eder; kısa yollara daha fazla feromon bırakılır. Feromonların buharlaşması, güçlendirilmeyen izleri zamanla siler ve koloninin başlangıçta orta karar bir yola saplanmasını önler:
James Kennedy ve Russell Eberhart'ın 1995'te tanıttığı parçacık sürüsü optimizasyonu (PSO), sürekli uzaylarda çalışır. Her parçacığın bir konumu ve hızı vardır; parçacık bulduğu en iyi konumu hatırlar ve sürünün bulduğu en iyi konumu bilir. Her adımda hızı, mevcut momentumu ile bu iki en iyi konuma doğru rastgele çekimin birleşimidir. Bu NumPy örneği, yerel minimumlardan oluşan ızgarasıyla yalın yerel aramayı tuzağa düşüren Rastrigin fonksiyonunu en aza indirmek için 30 parçacık kullanır:
import numpy as np
rng = np.random.default_rng(0)
def rastrigin(x):
"""Bumpy test function with many local minima and a global minimum of 0 at the origin."""
return 10 * x.shape[-1] + (x**2 - 10 * np.cos(2 * np.pi * x)).sum(axis=-1)
pos = rng.uniform(-5, 5, (30, 2)) # 30 particles in a 2-D search space
vel = np.zeros_like(pos)
best_pos, best_val = pos.copy(), rastrigin(pos) # each particle's personal best
start = best_val.min()
for _ in range(100):
swarm_best = best_pos[best_val.argmin()] # best position any particle has found
r1, r2 = rng.random((2, 30, 1))
# Inertia + pull toward the particle's own best + pull toward the swarm's best
vel = 0.7 * vel + 1.5 * r1 * (best_pos - pos) + 1.5 * r2 * (swarm_best - pos)
pos = pos + vel
val = rastrigin(pos)
improved = val < best_val
best_pos[improved], best_val[improved] = pos[improved], val[improved]
print(f"Best value: {start:.3f} at the start, {best_val.min():.6f} after 100 iterations")Sürünün en iyi değeri, rastgele başlangıç konumlarındaki 9,633'ten başlangıç noktasındaki küresel minimum olan 0,000000'a düşer. Başka rastgele tohumlarla sürü bazen komşu yerel minimum olan 0,995'te kalır; PSO varyantları, daha büyük sürüler, yeniden başlatmalar veya küresel en iyi değerin yayılmasını yavaşlatan komşuluk topolojileriyle bu erken yakınsamayı önlemeye çalışır. Makine öğrenmesinde PSO, gradyanların bulunmadığı durumlarda hiperparametre ayarı, özellik seçimi ve sinir ağı mimarisi araması için kullanılır.
Sürü Zekâsı ve İlgili Kavramlar#
- Evrimsel algoritmalar: Her nesilde bireyleri değiştirerek seçilim, çaprazlama ve mutasyon yoluyla bir popülasyonu geliştirir. PSO parçacıkları kalıcıdır ve iyi konumlarla ilgili bilgileri paylaşarak gelişir.
- Topluluk öğrenmesi: Tahmin sırasında eğitilmiş birkaç modelin tahminlerini tek bir çıktıda birleştirir. Sürü ajanları arama boyunca bilgi alışverişinde bulunur ve buna tepki olarak davranışlarını değiştirir.
- Çok ajanlı sistemler: Etkileşim hâlindeki ajanları inceleyen daha geniş alan; bu ajanlar karmaşık, merkezi olarak koordine edilen veya rekabetçi olabilir. Sürü zekâsı, yalnızca yerel bilgiye sahip çok sayıda basit ve işbirlikçi ajanın bulunduğu özel durumdur.
Sürü Robotikleri ve Görüntü#
Sürü robotikleri, aynı ilkeleri her biri basit ve ucuz olan fiziksel makinelere uygular. Arama, haritalama ve tarım amaçlı drone sürüleri, dronlardan biri arızalandığında veya bağlantısını kaybettiğinde grubun çalışmayı sürdürmesi için merkezi olmayan koordinasyondan yararlanır. Her ajan, Ultralytics YOLO26 gibi kompakt bir algılayıcıyı yerleşik olarak çalıştırabilir ve videoyu bir baz istasyonuna aktarmak yerine nesnenin sınıfı ve konumu gibi kısa algılama iletilerini komşularıyla paylaşabilir. Drone ışık gösterileri sürüleri andırsa da merkezi bir planlayıcının önceden hesapladığı yörüngelerde uçar; hiçbir drone komşularına tepki vermez. Kendiliğinden örgütlenme büyük ölçekte çalışır: Harvard araştırmacıları 2014'te, titreşen bacakları üzerinde sürünerek ilerleyen küçük robotlar olan 1.024 Kilobot'u yalnızca komşular arasında paylaşılan kızılötesi iletileri kullanarak yıldız, İngiliz anahtarı ve K harfi gibi şekiller oluşturacak biçimde programladı.










