Zor bir denklem sistemini sayısal olarak çözme


10

Ben sayısal olarak çözmek istiyorum doğrusal olmayan denklemler bir sistem var :n

f(x)=a
f=(f1,,fn)x=(x1,,xn)

Bu sistem, ele alınmasını özellikle zorlaştıran bir takım özelliklere sahiptir. Sistemle daha etkin bir şekilde nasıl başa çıkılacağı konusunda fikirler arıyorum.

Sistem neden zor?

  • Fonksiyonlar buna benzer (ancak elbette birden fazla boyutta):

    Mathematica grafikleri

    Düzgün bir değişim bölgesi ile ayrılmış düz yaylalara sahiptirler. 2D'de, bir için böyle bir şey hayal edebilirsiniz :fi

    Mathematica grafikleri

    Genel olarak, her boyutlu bir hiper düzlem etrafında yumuşak bir değişiklikle ayrılmış iki plato bulunur .fin1

    Bunun gibi işlevlerin Newton benzeri yöntemlerle işlenmesi zordur, çünkü türev platolarda etkili bir şekilde sıfırdır. Birden fazla boyutta hiçbirininfi bir platosu olmadığı bir bölgeyi kolayca bulamıyorum - eğer yapabilseydim bu sorunu . İkiye bölme yöntemi için iyi çalışır , fakat çoklu boyutlara iyi genelleme yapmaz.n=1

  • Fonksiyonları hesaplamak çok yavaştır. Mümkün olduğunca az yineleme ile kök makul bir yaklaşım elde edebilecek bir yöntem arıyorum.

  • Fonksiyonlar Monte Carlo yöntemi ile hesaplanır. Bu, her hesaplandıklarında, biraz farklı bir rastgele değer elde ettiğim anlamına gelir. Türevleri tahmin etmek zordur. Köke yeterince yaklaştığımızda, gürültü hakim olmaya başlayacaktır ve hassasiyeti arttırmak için ortalama kullanmak gerekir. İdeal olarak, yöntemi eşdeğer bir stokastik yaklaşım versiyonuna (örneğin, Newton → Robbins-Monro) genellemek mümkün olmalıdır .

  • Sistem yüksek boyutludur. 10-20 kadar büyük olabilir. Ne zaman ile tanımlanan hatlarını takip etmeye: etkili bir yöntem muhtemelen şu olacaktır ve ve kesiştiği yerde onlar bkz. Bunun yüksek boyutlara nasıl genelleştirileceği açık değildir.nn=2f1(x1,x2)=0f2(x1,x2)=0

Sistem hakkında başka ne biliyorum?

  • Kesinlikle bir kök vardır (teorik sonuçlardan).

  • Yaylalardaki değerini biliyorum (diyelim ki herhangi bir için 0 ve 1 ).fii

  • fi özel için bir ilişkisi vardır :  olarak 1'den 0'a monoton olarak değiştirir gider için . Bu, diğer in sabit değerleri için geçerlidir .xifi(,xi,)xixji


Çözümün yatması gereken tüm değişkenlerin alt ve üst sınırlarını biliyor musunuz? Bu sınırlar ne kadar sıkı olursa o kadar iyidir. Platolarınızı ve zorluklarınızı gösteren ancak Monte Carlo simülasyonu gerektirmeyen ve işlevlerde rastgele hatalar içermeyen (türevler hesaplanabiliyorsa bonus puanlar) istediğiniz kadar yüksek bir boyutta belirleyici bir örnek verebilir misiniz? Böyle belirleyici bir örneğin amacı, Monte Carlo değerlendirmesinin gerçek probleminizin nihai çözümünde kullanılmayacağını söylememek değil, sorunun zorluklarını anlamaktır.
Mark L. Stone

@ MarkL.Stone Sınırları: Onları tanımıyorum. Ama tahmin edebiliyorum. Tahminlerin doğru olduklarından emin olmak için oldukça geniş olması gerekir. Örnek: Bir örnek bulacağım ve yarın soruyu düzenleyeceğim. Ben gerçek formu hakkında çok daha net bir resim yok benim ilk örneği gerçek problemin gerçek temsilcisi olmayabilir bu yüzden, burada açıklanan olandan. Ama Fermi işlevlerinden (sigmoidler) yapılmış bir şey bir araya getireceğim ve gerçek sorunun mümkün olduğunca çok zorluğuna sahip olmasını sağlamaya çalışacağım. f
Szabolcs

Bunu görmek için sabırsızlanıyorum,
Mark L. Stone

Yanıtlar:


1

Tek bir kök olduğundan ve herhangi bir kısıtlama olmadığından, bunu bir optimizasyon sorunu olarak gösterme şansınız olabilir: orijinal işlevinizin karelerinin toplamını (her boyut boyunca) en aza indirin.

Klasik Optimizasyon yöntemleri muhtemelen başarısız olacaktır, ancak genetik algoritmalar veya CME-ES (kovaryant vb matris adaptasyonu - evrimsel strateji) gibi sezgisel yöntemler işe yarayabilir.


Gerçekten de bu yaklaşım. Özellikle sizin amacınız için geliştirilmiş ve oldukça sağlam olan SPSA algoritmasına bakacağım.
Wolfgang Bangerth

2
OP, işlevin değerlendirilmesinin çok pahalı olduğunu belirtmektedir (bir işlev değerlendirmesi için Monte Carlo simülasyonunu uygulamak). Bu genetik algoritmalar ve diğer evrimsel algoritmalar için çok büyük bir sorun oluşturmuyor mu? Bunlar "önemsiz derecede paraleldir" (ve MC de genellikle), bu yüzden büyük paralel hesaplama mümkün olabilir, ancak buraya gitmenin en iyi yolu var mı?
GertVdE

@WolfgangBangerth Doğru çözüm gibi geldiğini söylediğiniz için teşekkür ederiz. SPSA'ya bakacağım.
Szabolcs

1
Pahalı fonksiyon değerlendirmeleri ile ilgili olarak: Genetik algoritmaların ve ilgili sezgisel yöntemlerin geleneksel yöntemlerden daha fazla sayıda fonksiyon değerlendirmesi gerektirdiği doğrudur. Faydası, sezgisel yöntemlerin genellikle 1) aksi takdirde probleme özgü bir yöntem gerektireceği veya 2) sayısal problemlerden dolayı başarısız olacağı problemleri çözebilmesidir. Bu örnek için, nesnel işlevin stokastik doğası ve bazı boyutlardaki küçük degradeler nedeniyle geleneksel yöntemlerin sorun yaşayacağı muhtemeldir. SPSA bu sorun için harika bir aday yöntem gibi görünüyor.
MattKelly
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.