82 puan yazan GN⁺ 2025-12-02 | 4 yorum | WhatsApp'ta paylaş
  • Matematiksel optimizasyonun ilkelerini ve algoritmalarını genel hatlarıyla sistematik biçimde ele alan, hem sürekli hem ayrık problemleri kapsayan bir ders kitabı
  • Türev tabanlı tekniklerden olasılıksal ve evrimsel yöntemlere kadar çeşitli yaklaşımları aşamalı olarak açıklar
  • Kısıtlar, düalite, doğrusal ve karesel programlama gibi gerçek uygulamalar için gerekli matematiksel yapıları içerir
  • Her bölümde özet ve alıştırmalar sunarak öğrenme ile pratiğin birlikte ilerlemesini sağlar
  • MIT Press'in açık lisansı (CC BY-NC-ND) ile dağıtılıyor

Önsöz ve genel bakış

  • Bu kitap, optimizasyon problemlerini çözmeye yönelik algoritmaların teori ve uygulamasını ele alan, 2. baskı olarak yayımlanmış bir ders kitabıdır
    • Yazarları Mykel J. Kochenderfer ve Tim A. Wheeler
    • MIT Press tarafından yayımlanmış, Creative Commons ticari olmayan-değişiklik yapılamaz lisansı ile açık olarak sunulmuştur
  • Önsöz ve teşekkürlerin ardından 13 bölümden oluşur
  • Her bölüm temel kavramlar, özet ve alıştırmalar ile öğrenme odaklı bir yapıyı korur

1. Bölüm: Giriş

  • Optimizasyonun tarihini, sürecini, matematiksel formülasyonunu ve uygulama alanlarını tanıtır
  • Ekstremumlar (minima) ve optimalite koşulları (optimality conditions) açıklanır
  • Kitabın genel özeti ve alıştırmaları da yer alır

2. Bölüm: Türevler ve gradyanlar

  • Tek değişkenli ve çok değişkenli türevlerin tanımı ve hesaplanma yöntemleri açıklanır
  • Sayısal türevleme (numerical differentiation) ve otomatik türevleme (automatic differentiation) teknikleri yer alır
  • Regresyon gradyanı ve olasılıksal yaklaşım teknikleri (SPSA) ele alınır

3. Bölüm: Aralık içine alma (Bracketing)

  • Tek modluluk (unimodality) kavramı ve başlangıç aralığı bulma prosedürü açıklanır
  • Fibonacci araması, altın oran araması, karesel yaklaşım araması gibi aralık tabanlı algoritmalar yer alır
  • Shubert-Piyavskii ve ikiye bölme (bisection) yöntemleri de dahildir

4. Bölüm: Yerel iniş (Local Descent)

  • İniş yönü yinelemesi (descent direction iteration) ve adım büyüklüğü (step factor) kavramları açıklanır
  • Doğru araması (line search) ve yaklaşık doğru araması teknikleri yer alır
  • Güven bölgesi (trust region) yaklaşımı ve sonlandırma koşulları ele alınır

5. Bölüm: Birinci dereceden yöntemler (First-Order Methods)

  • Gradyan inişi, eşlenik gradyan, momentum, Nesterov momentum gibi temel teknikleri içerir
  • AdaGrad, RMSProp, Adadelta, Adam, Hypergradient Descent gibi modern optimizasyon algoritmalarına yer verir
  • Her yöntemin özellikleri ve karşılaştırmalı özeti sunulur

6. Bölüm: İkinci dereceden yöntemler (Second-Order Methods)

  • Newton yöntemi (Newton’s Method) ve sekant yöntemi (Secant Method) açıklanır
  • Levenberg-Marquardt algoritması ve yarı-Newton (Quasi-Newton) yöntemleri içerir
  • Özet ve alıştırmalarla tamamlanır

7. Bölüm: Doğrudan yöntemler (Direct Methods)

  • Koordinat araması, Powell, Hooke-Jeeves, örüntü araması, Nelder-Mead simpleks yöntemi gibi yaklaşımlar tanıtılır
  • Bölünmüş Dikdörtgenler (Divided Rectangles) tekniği de yer alır
  • Ağırlıkla türev gerektirmeyen optimizasyon yaklaşımlarına odaklanır

8. Bölüm: Olasılıksal yöntemler (Stochastic Methods)

  • Gürültülü iniş, ağ uyarlamalı arama, türevsiz optimizasyon gibi olasılıksal yaklaşımları ele alır
  • Simulated annealing, çapraz entropi, doğal evrim stratejileri, kovaryans matrisi uyarlaması (CMA) içerir
  • Olasılık tabanlı aramanın verimliliğini vurgular

9. Bölüm: Popülasyon tabanlı yöntemler (Population Methods)

  • Genetik algoritmalar, diferansiyel evrim, parçacık sürüsü optimizasyonu (PSO) gibi toplu arama tekniklerini açıklar
  • Firefly, Cuckoo Search, hibrit yöntemler de yer alır
  • Problemleri popülasyon yinelemesi (population iteration) yapısıyla çözer

10. Bölüm: Kısıtlar (Constraints)

  • Kısıtlı optimizasyonun (constrained optimization) temel kavramlarını ve kısıt türlerini açıklar
  • Lagrange çarpanları, gevşek değişkenler, ceza ve iç nokta (interior point) yöntemleri yer alır
  • Kısıt kaldırma dönüşümleri (transformations) ve çarpanlar yöntemi (method of multipliers) ele alınır

11. Bölüm: Düalite (Duality)

  • Dual problem ve asal-dual (primal-dual) yöntemler açıklanır
  • Dual ascent ve ADMM (Alternating Direction Method of Multipliers) içerir
  • Dağıtık optimizasyon (distributed methods) uygulamaları ele alınır

12. Bölüm: Doğrusal programlama (Linear Programming)

  • Problem formülasyonu, Simplex algoritması (Simplex Algorithm) ve dual sertifikalar (dual certificates) açıklanır
  • Doğrusal kısıtlar altında optimizasyonun yapısını sistematik biçimde sunar

13. Bölüm: Karesel programlama (Quadratic Programming)

  • Karesel amaç fonksiyonu ve doğrusal kısıtları içeren problem formülasyonu
  • En küçük kareler (least squares) problemleri ve doğrusal eşitsizlik kısıtları ele alınır
  • En kısa mesafe programlama (least distance programming) içerir

Ekler ve diğer bilgiler

  • Her bölümün sonunda özet ve alıştırmalar bulunur
  • MIT Press tarafından 2025 baskısı olarak yayımlanmış, ticari olmayan paylaşıma izin veren (CC BY-NC-ND) lisansla sunulmuştur
  • LaTeX tabanlı dizgi kullanılmıştır; iletişim için bugs@algorithmsbook.com adresi verilmiştir

4 yorum

 
plorrr 2025-12-02

Şu anda erişilemiyor gibi görünüyor :(

 
slimeyslime 2025-12-03

https://algorithmsbook.com/optimization/#download
Görünüşe göre bağlantı biraz değişmiş; PDF’yi burada görüntüleyebilir veya indirebilirsiniz.

 
plorrr 2025-12-03

Teşekkürler!!

 
GN⁺ 2025-12-02
Hacker News görüşü
  • HN ana sayfasında optimizasyon (optimization) konusunu görmek sevindirici
    Benim yaptığım LP görselleştirme sitesini paylaşmak isterim. Doğrusal programlama (Linear Programming) algoritmalarının kısıtlar veya amaç fonksiyonu değiştiğinde nasıl tepki verdiğini görsel olarak gösteriyor
    Demo sayfasına girince çokgen otomatik çiziliyor; köşeleri veya kısıt doğrularını sürükleyerek algoritmanın iterasyonlarını gözlemleyebiliyorsunuz
    Henüz çok olgun değil ama görsel öğrenmeyi sevenler için keyifli olabilir. Geri bildirimlere açığım

    • Gerçekten harika bir proje olduğunu düşünüyorum
  • Metaheuristics (metaheuristics) ile ilgili bazı kaynaklar paylaşmak isterim

  • 521 sayfalık, CC lisanslı bir optimizasyon ders kitabı ve gerçekten çok iyi görünüyor
    İlk kısımlarda otomatik türevleme tabanlı modern gradient-based algoritmaları (ör. Adam) ele alıyor, sonlarda ise (12. bölüm) doğrusal optimizasyona (simplex vb.) geçiyor
    Bolca alıştırma da var; uzun zamandır beklediğim tam da böyle bir kitaptı
    Bence optimizasyon algoritmaları sadece problem çözme aracı değil, aynı zamanda bir “genel problem çözücü”ye yaklaşma denemesi. Programın cevabı doğrudan bulması yerine, ‘cevabın hangi biçimde olması gerektiğini’ tanımlayıp bunun üzerine optimizasyon uyguluyorsunuz
    Günümüz yapay zekası da bu yaklaşım üzerine kurulu

    • Bu bana tam anlamıyla genel bir problem çözücünün imkânsızlığını söyleyen no free lunch teoremini hatırlatıyor
  • Kochenderfer'in bu kitabı ve önceki eseri Decision Making Under Uncertainty (PDF) en sevdiğim teknik kitaplar arasında
    Açıklamalar net, görselleştirmeler çok iyi ve gradient descent dışındaki farklı optimizasyon düşünme biçimlerini de kapsıyor
    Kod Julia ile yazılmış ama başka dillere taşımak zor değil. Dile takılmayıp kavramlara odaklanmak gerek
    Optimizasyon sadece bir teknik değil, zor problemleri çözme biçiminin kendisi

    • Pratik problem çözmede hazır solver'lardan yararlanmak da iyi olur. Örneğin problemi MILP veya SMT olarak yeniden formüle ederek hızlıca bir referans performans elde edebilirsiniz. Bu, spesifikasyon ile hesaplamayı ayıran bir düşünme tarzı kazandırır
    • Optimizasyon öğrenmek için başka öneriler var mı merak ediyorum. Ben işimde sık sık multi-armed bandit kullanıyorum ama başka algoritmaları da keşfetmek isterim
    • Kochenderfer'in diğer ders kitaplarının listesi resmi sitesinde görülebilir
    • Julia örnek kodları LLM ile otomatik dönüştürülebilir
  • Bu kitap CMA-ES, surrogate model, Gaussian process gibi konuları tek ciltte ele alan nadir kaynaklardan biri
    Lisans araştırma dönemimde böyle bir kitap olsaydı gerçekten çok yardımcı olurdu. Eskiden bu konular çeşitli makale ve kitaplara dağılmış durumdaydı

  • Doktora sırasında bu kitabı birkaç kez baştan sona okudum. Sinir ağları ve sayısal analiz çalışıyordum; derinlik ve kapsam dengesi çok iyi
    Hâlâ sık sık başvuru kaynağı olarak kullanıyorum

  • Kitapta Firefly, Cuckoo Search gibi metaheuristics yöntemlerinin yer almasına şaşırdım
    Bu algoritmalar akademide pek güven görmüyor ve ITOR makalesinde de eleştiriliyor
    Yalnızca bu tür yöntemleri çalışan küçük bir topluluk birbirini alıntılayarak bir balon oluşturuyor. Konferanslarda da zaman zaman tartışma çıkıyor

  • Çok amaçlı optimizasyon (multiobjective optimization) bölümü harikaydı
    Bu konuya odaklanan başka kitaplar veya kaynaklar var mı merak ediyorum

  • Bu kitabı Nocedal & Wright'ın Numerical Optimization kitabıyla karşılaştırabilecek biri var mı

    • Bu kitap birçok yöntemi ansiklopedik biçimde geniş bir yelpazede ele alıyor ama pratik kullanım tarafına derinlemesine girmiyor. Buna karşılık Nocedal & Wright lisansüstü düzeyde bir ders kitabı ve az sayıdaki temel algoritmayı derinlemesine açıklıyor. Örneğin Interior Point Method bu kitapta 2-3 sayfalık bir özetken, Nocedal & Wright'ta bir tam bölüm (yaklaşık 25 sayfa) ayrılmış
    • Bir dahaki sefere kitap adını (Numerical Optimization, Jorge Nocedal & Stephen J. Wright) en başta belirtirsen iyi olur