Yaşamı Optimize Etmek
Bir optimizasyon problemi, bir amaç fonksiyonunun en iyi değerinin tüm değişkenlerinin aralığında nerede olduğunu nasıl bulacağınızdır. Hayatın büyük bir kısmı tam da bundan ibarettir - servet, şöhret, başarı, duygusal bağlantı, iç huzur… veya belki de sadece hiçlik.
Amaç fonksiyonunun biçimine bağlı olarak, bir optimizasyon problemi kolay veya zor olabilir. Temelde her faktörü (değişkeni) ve her birine bir miktar ağırlık (katsayı) ekleyerek topladığınız doğrusal bir fonksiyonla, her bir değişkenin yalnızca katsayısından bağımsız olarak sonucu pozitif veya negatif olarak nasıl etkilediğini açıkça görürsünüz. Dolayısıyla, en iyi sonucu elde etmek için bu değişkenlerin nasıl manipüle edileceği az çok açıktır. Ancak doğrusal olmayan bir işlevde, tüm değişkenler çarpma ve üstel sayı gibi her türlü çılgın kombinasyonla birbirine karışır. Sadece denkleme bakarak ne yapacağınızı anlamak imkansızdır. Dağınık.
Hayat çok, çok doğrusal değil. En iyi çözümü hesaplayacak bir formül yok ve yukarıda gördüğünüz güzel kuşbakışı görünümü bile elde edemiyorsunuz. Herkesin kullanmaktan hoşlandığı benzetme, bazıları diğerlerinden daha yüksek olan birçok zirvesi olan bir dağa tırmanmaktır. Tek yapabileceğiniz bir yerden başlamak, elinizin altında bilgi toplamak, küçük bir adım atmak ve yinelemek. Her zaman yukarı doğru bir adım seçerek, zirvelerden birine (yerel bir maksimum) yaklaşacak ve sonunda zirveye ulaşacaksınız, ancak en yüksek olana (genel maksimum) gerekmeyebilir. Daha basit doğrusal olmayan optimizasyon algoritmalarının yaptığı tam olarak budur. Ama sonra küçük zirvede takılıp kalırsın çünkü etrafta daha fazla adım atacak hiçbir yer yoktur. Daha akıllı bir algoritma için, rastgele başka bir yerden tekrar başlayabilir ve umarım bu sefer daha iyi bir maksimuma yinelenebilir. Gerçi bunu gerçek hayatta yapamazsın. Daha yüksek bir zirveyi hedeflemek için, önce halihazırda üzerinde bulunduğunuzdan aşağı inmeniz gerekir.
Problemi daha da karmaşık hale getirmek için, hedef işleviniz (veya birden fazla varsa aralarındaki ağırlık) hayatınız boyunca birkaç kez değişebilir. Siz büyüdükçe işler önemli hale gelir veya önemsiz hale gelir. Ve taşa (kelimenin tam anlamıyla) yerleştirilmiş gerçek dağların aksine, hedef işleviniz değiştikçe manzaranız da tamamen değişir.
Peki bu bize ne anlatıyor?
1. Nereye varacağınız, nereden başladığınıza çok bağlı değildir, büyük ölçüde hedef işlevinizin ne olduğuna bağlıdır.
2. Başkalarının adımlarını körü körüne takip etmeyin çünkü onların sizinkinden farklı amaç işlevleri olabilir. Yani haritada ikiniz de aynı koordinatlardaymışsınız gibi görünse de aslında çok farklı dağlara tırmanıyor olabilirsiniz. Adımlarınızı kendi hedefinize göre ölçün.
3. Her zaman önünüzdeki en iyi adımı seçme konusunda takıntılı olmayın. Sizi en yakın yerel maksimuma daha hızlı götürse de, genel maksimuma ulaşma olasılığınızı artırmaz. Biraz rastgelelik, özellikle erken aşamalarda aslında iyi bir şeydir. Yerel bir maksimuma çok erken takılıp kalmanızı engeller.
4. Yerel bir maksimumdan atlamak ve umarım küresel olana ulaşmak için, kasıtlı olarak "her şeyi biraz sarsarak" rahatsızlık vermelisiniz. Sorun şu ki, yerel bir maksimumun tanımı gereği, hedef fonksiyonunuz siz ondan çıkarken tekrar yukarı çıkabilmeniz için aşağı iniyor. Bu iyi hissettirmiyor. Alışmak.
Ancak yukarıdakilerin hepsini bilsek bile, hiçbir algoritma küresel maksimuma ulaşmayı garanti edemez. Bu yüzden günün sonunda (ya da hayatınızın) başarmayı başardığınız şeyle mutlu olun.
Bütün bunlar biraz fazla mekanik geliyorsa, insan doğası nerede devreye giriyor? Pekala, hangi süslü algoritmayı kullanırsanız kullanın, hedef fonksiyonunuzu sizden başkası tanımlayamaz. Makineler amaçlarını seçemezler. Insanlar yapabilir.