3 puan yazan GN⁺ 2024-05-06 | 1 yorum | WhatsApp'ta paylaş

Basitliğin avantajlarına rağmen, ne yazık ki karmaşıklık daha iyi satılıyor (2022)

Neden karmaşıklık daha iyi satılıyor?

  • Karmaşıklık, çabayı temsil eder
    • Zor fikirler ve teknik ayrıntılar içeren bir makale ter ve gözyaşı çağrıştırır
    • Daha fazla bileşen ve işlevden oluşan bir sistem, daha azından daha fazla çaba gerektiriyormuş gibi görünür
    • Karmaşık bir sonuç, daha fazla çaba gerektirdiği düşünüldüğü için yapılması daha zor ve bu nedenle daha değerli kabul edilir
    • Karmaşıklıkla birlikte gelen çaba nedeniyle çoğunlukla daha yüksek kaliteyle eşdeğer görülür
  • Karmaşıklık, uzmanlığı temsil eder
    • Birçok hareketli parçaya sahip karmaşık bir sistem, tasarımcının her parçaya hâkim olduğunu ve onları bir araya getirebildiğini ima eder
    • Uzman terimler ve kanıtlarla dolu, anlaması zor bir makale o konudaki uzmanlığı gösterir
    • Bir kişinin karmaşık bir fikir veya sistemi anlamakta zorlanması, yaratıcısının uzman biri olduğu düşüncesini doğurur
  • Karmaşıklık, inovasyonu temsil eder
    • Tamamen yeni bir model mimarisi icat eden bir makale, mevcut bir ağı uygulayan bir makaleden daha yenilikçi kabul edilir
    • Baştan yapılan bileşenlere sahip bir sistem, mevcut bileşenleri yeniden kullanan bir sistemden daha yaratıcı görülür
    • Mevcut çalışmayı temel alan veya yeniden kullanan çalışmalar genelde yenilikçi kabul edilmez
  • Karmaşıklık, daha fazla işlevi temsil eder
    • Bileşenleri karıştırıp eşleştirebilen bir sistem, tüm dayanağı karşılayabilecek esneklik sağlar
    • Karmaşık sistemler basit bir sisteme göre daha fazla bloğa sahip olduğundan, daha adapte olabilir ve değişime daha iyi karşılık verebileceği düşünülür

Neden sadelik avantajlı?

  • Basit fikirler ve işlevler anlaşılması ve kullanılması kolaydır
    • Bu, benimsenebilirliği artırır ve etki yaratır
    • İletişim kurmak ve geri bildirim almak da kolaylaşır
    • Buna karşılık, karmaşık sistemler açıklanması ve yönetilmesi zor olduğundan kullanıcıların ne yapacaklarını ve nasıl yapacaklarını anlaması zorlaşır
  • Basit bir sistemi kurmak ve büyütmek daha kolaydır
    • Bileşen sayısı azaldıkça kurmak daha kolay olur
    • Standart hazır teknolojiler kullanıldığında, sistemi kurup bakımını yapabilecek nitelikte kişileri bulmak daha kolay hale gelir
    • Basit sistemlerde karmaşıklık, kod ve sistem içi etkileşim az olduğu için anlamak ve test etmek daha basittir
    • Buna karşılık gereksiz yere karmaşık sistemler daha çok zaman ve kaynak gerektirir, verimliliği düşürüp israfa yol açar
  • Basit sistemlerin işletim maliyeti düşüktür
    • Sistem dağıtımı bir son değil bir başlangıçtır
    • Emeklerin çoğu sistem üretim ortamındayken harcanır; sistemi sade tutmak bakım maliyetini düşürüp ömrünü uzatır
  • Makine öğreniminde, basit teknikler çoğunlukla daha sofistike tekniklerden daha kötü performans göstermez
    • Ağaç tabanlı modeller, orta ölçekli tablo verisinde derin sinir ağlarından üstündür
    • Açgözlü algoritmalar, kombinasyonel grafik sorunlarında grafik sinir ağlarından üstündür
    • Basit ortalama, çoklu görev öğrenme probleminde karmaşık optimize edicilere eşit veya daha iyi performans verir
    • 32 makalede, tahmin doğruluğunda basit yöntemler, karmaşık yöntemlerden üstündür
    • Tavsiye ve aramada iç çarpım, neural collaborative filtering'den daha iyi performans gösterir

Karmaşıklığı ödüllendirmedeki sorun

  • Gereksiz karmaşıklığı teşvik eder
    • Basit bir yöntemi kullanmak veya basit bir sistem kurmak daha kolay görünür, bu yüzden daha az değerli kabul edilir
    • Sonuçta insanlar daha fazla kazanç elde etmek için sistemi manipüle eder ve en basit çözüm artık en açık çözüm olmaktan çıkar
  • "Not Invented Here" zihniyetini teşvik ederek, zaman ve emeği tasarruf etme imkânı varken bile mevcut bileşenleri yeniden kullanmaktan kaçınıp sıfırdan kurmayı tercih eder
    • Bu, zaman ve kaynağın boşa harcanmasına ve çoğu zaman daha kötü sonuçlara neden olur

Karmaşıklık hakkında nasıl düşünmeli?

  • Hedef, karmaşık bir sorunu olabildiğince basit bir çözümle çözmektir
    • Çözümün karmaşıklığına odaklanmak yerine sorunun karmaşıklığına odaklanmalıyız
    • Basit çözüm, soruna dair derin içgörü ve daha karmaşık, maliyetli çözümlerden kaçınabilme yeteneği gösterir
  • Her şeyi çözen bir karmaşık çözüm yerine, odaklanmış birden fazla çözümü düşünmek gerekir
    • Her duruma uyan tek bir çözüm genellikle beklenen kadar esnek ve yeniden kullanılabilir değildir
    • Birçok kullanım örneği ve paydaş için var olmalarından dolayı "sıkı bağlı" olma eğilimindedirler ve planlama ve geçişte daha fazla ayar gerektirirler
    • Buna karşılık tek amaçlı bir sistemi işletmek ve kapatmak daha kolaydır

GN⁺'in Görüşü

  • Bu yazı, karmaşıklığın neden tercih edildiğini ve sadeliğin avantajlarını güçlü şekilde açıklıyor. Karmaşıklığın uzmanlık, yenilikçilik ve işlev gibi unsurları ima ettiği için tercih edilmesi dikkat çekiciydi.
  • Bununla birlikte, her durumda en basit çözümün daha iyi olduğunu söylemek zor. Sorunun niteliğine göre belli bir düzeyde karmaşıklık gerekebilir. Sadelik ve karmaşıklık arasında denge kurmak önemli görünüyor.
  • Makine öğreniminde basit modellerin daha iyi performans gösterdiği örnekler dikkat çekiciydi. Yeni bir model geliştirirken mevcut basit yöntemlerle karşılaştırmak iyi olurdu.
  • Kuruluşta performans değerlendirmesi yapılırken karmaşıklığın aşırı vurgulanmasına dikkat etmeliyiz. Bunun yerine sorunun zorluğuna ve çözümün etkinliğine odaklanmak daha doğru olur.
  • Mimari tasarımda tek bir karmaşık, her şeyi çözen sistem yerine, tek amaçlı birkaç basit sistemi düşünmek de iyi bir seçenek olabilir.

1 yorum

 
GN⁺ 2024-05-06
Hacker News Yorumları

Özet:

  • MVP (minimum uygulanabilir ürün) yaklaşımını tekrar tekrar üst üste inşa etmek bazen karmaşıklığın kaynağı olabiliyor
  • Karmaşık bir sorunu ne kadar iyi ödüllendirirseniz, sistem bu durumdaki ödülü gereksiz karmaşıklık üretmeye de yol açabiliyor
  • İleri düzey tüketiciler ile hayal kuran/özlemli tüketiciler arasındaki istek farkı nedeniyle, şirketler çoğu zaman arzulanan tüketicinin taleplerini karşılamayı rasyonel bir seçenek olarak görüyor
  • Karmaşık ve hatalarla dolu yazılımın tercih edilmesinin nedeni, insanların arkasına saklanabilmesi olabilir
  • Çocukluktan beri 'daha fazla olan daha iyidir' düşüncesine gömülmüşüz
  • Mühendis olarak basit çözümlerden çok zorlayıcı olanlara çekilme eğilimi gösteririz
  • Basite yönelirken, basit göründüğünden kaçınma gibi bir çelişki de içinde barındırırız
  • Sonradan karmaşık çözümleri eleştirmek kolaydır; fakat o zamanki kısıtlar ve gereksinimler bilinmeden yapılan eleştiriler çoğu zaman boştur
  • 'Olabildiğince basit, ama ne pahasına da olsa basit değil' ilkesi her zaman doğrudur, ancak uygulaması kolay değildir
  • Proje başlangıcında basit olan bir şey, gereksinimler arttıkça çoğu zaman kaçınılmaz şekilde karmaşıklaşabilir