Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Hash, koloni içindeki kopyaları aramak için uygulanabilir ve bir hash bulma işlevi basit ve hızlı hale getirilebilir, çünkü 1-2 kopya bile hava yapmaz ve sonucu bozmaz.
GA algoritmasının yürütme süresi FF yürütmesine kıyasla ölçülemeyecek kadar küçüktür. Bu nedenle, algoritmayı daha da hızlandırmaya çalışmanın bir anlamı yoktur, tıpkı GA'yı örneğin bir dll'ye taşımanın bir anlamı olmadığı gibi.
Sonucun gerekli doğruluğu ile FF çalıştırma sayısını azaltmaya çalışmalıyız. Algoritma bu amaç için esnek ayarlara sahiptir. Ayrıca, genel olarak GA'ların ve özel olarak operatörlerin arama nitelikleri geliştirilerek arama süresi daha da azaltılabilir. Araştırma potansiyelinin bu yönlere yönlendirilmesini tavsiye ederim.
GA algoritmasının yürütme süresi FF yürütmesine kıyasla ölçülemeyecek kadar küçüktür. Bu nedenle, algoritmayı daha da hızlandırmaya çalışmanın bir anlamı yoktur, tıpkı GA'yı örneğin bir dll'ye taşımanın bir anlamı olmadığı gibi.
Sonucun gerekli doğruluğu ile FF çalıştırma sayısını azaltmaya çalışmalıyız. Algoritma bu amaç için esnek ayarlara sahiptir. Ayrıca, genel olarak GA'ların ve özel olarak operatörlerin arama nitelikleri geliştirilerek arama süresi daha da azaltılabilir. Araştırma potansiyelinin bu yönlere yönlendirilmesini tavsiye ediyorum.
Görünen o ki dll artık mql 5'ten hızlı olmayacak.
Tamam, bir kütüphane yazar yazmaz test edeceğim, sonra ne çıktığını yazarım))).
Makale için önemli not.
Algoritma parametrelerini kullanmayın
FFNormaliseDigits ve GeneNormaliseDigits
Uygunluk fonksiyonu değerini ve genleri normalleştirmenize gerek yoktur. Normalleştirme, algoritmanın aranabilirliğinin azalmasına ve FF çalıştırma sayısının artmasına neden olur. Ayrıca, ne kadar çok ondalık basamak atılırsa, algoritma üzerindeki olumsuz etki o kadar büyük olur.
Başka bir deyişle, normalleştirme işleminin algoritmaya dahil edilmesi bir hataydı.
Hassasiyet parametresi tarafından kontrol edilen örnekleme işlemi ile karıştırılmamalıdır!
Algoritma parametrelerini kullanmayın
FFNormalizeDigits ve GeneNormalizeDigits
Uygunluk fonksiyonu ve genlerin değerini normalleştirmek gerekli değildir. Normalleştirme, algoritmanın arama yeteneğinin azalmasına ve FF başlangıçlarının miktarının artmasına neden olur. Ve virgülden sonra ne kadar çok işaret reddedilirse, algoritma üzerindeki olumsuz etki daha güçlü bir şekilde gösterilir.
Başka bir deyişle, algoritmada normalleştirme işleminin başlatılması bir hataydı.
Hassasiyet parametresinde çalıştırılan sayısallaştırma işlemiyle karıştırılmamalıdır!
Makale için önemli not.
Algoritma parametrelerini kullanmayın
FFNormaliseDigits ve GeneNormaliseDigits
Uygunluk fonksiyonu değerini ve genleri normalleştirmenize gerek yoktur. Normalleştirme, algoritmanın aranabilirliğinin azalmasına ve FF çalıştırma sayısının artmasına neden olur. Ayrıca, ne kadar çok ondalık basamak atılırsa, algoritma üzerindeki olumsuz etki o kadar büyük olur.
Başka bir deyişle, normalleştirme işleminin algoritmaya dahil edilmesi bir hataydı.
Hassasiyet parametresi tarafından kontrol edilen örnekleme işlemi ile karıştırılmamalıdır!
Normalleştirmeyi UGAlib kütüphanesinin kendisinde mi yoksa yalnızca FF'de mi kaldırmak daha iyidir?
FFNormalizeDigits , FF'de uygunluk değerini normalleştirmek için kullanılır ve GeneNormalizeDigits, algoritmanın kendisinde genleri normalleştirmek için kullanılır. Her ikisini de normalleştirmeye gerek yoktur .
Anlıyorum. Elbette, kendim düzelteceğim, ancak zor değilse, lütfen UGAlib'in düzeltilmiş sürümünü gönderin.
Hata yapacağımdan korkuyorum.
Kütüphane için yazara çok teşekkürler!
Üst arama fonksiyonunun döngüsüne "cnt++;" satırını ekleyin, aksi takdirde sonsuz bir döngüye girebilir!
//Отбор двух родителей.
void SelectTwoParents
(
int &address_mama,
int &address_papa
)
{
//-----------------------Переменные-------------------------------------
int cnt=1;
address_mama=0;//адрес материнской особи в популяции
address_papa=0;//адрес отцовской особи в популяции
//----------------------------------------------------------------------
//----------------------------Отбор родителей--------------------------
//Десять попыток выбрать разных родителей.
while (cnt<=10)
{
//Для материнской особи
address_mama=NaturalSelection();
//Для отцовской особи
address_papa=NaturalSelection();
if (address_mama!=address_papa)
break;
cnt++;
}
//---------------------------------------------------------------------
}