Genetik algoritma ve olası uygulaması - sayfa 3

 
Igor Makanu :

uygun, "Maksimum özel kritere" göre genetik optimizasyon modunda GA test cihazı double OnTester()'dan elde edilen sonucu en üst düzeye çıkaracaktır - her şeyin çalıştığını kontrol etti, ANCAK otomasyonda bir sorun var "GA'yı neşelendirin" başladığında bulunan yerel maksimum etrafında birleşir ve geri kalanının giriş parametreleri için seçenekler arasında sıralanmasını istemez, genel olarak, ince ayarda, OnTester'a () koşullar ekleyerek veya optimizasyon parametrelerini bölerek GA'ya ellerinizle yardım etmeniz gerekir. birkaç aralığa

Bu arada nasıl uygulanır? Ben de aynısını yapmayı düşünmeye başladım.

Peter Konow'un fotoğrafı.
Bir anlamda, "akıllı" - optimize edilmiş ve belirli bir ortama uyarlanmış mı?

Evet, seçim her zaman bir kritere göre yapılır. Bu arada, gerekirse kriterin kendisi nesiller boyunca değişebilir.

 
Реter Konow :
Bir anlamda, "akıllı" - optimize edilmiş ve belirli bir ortama uyarlanmış mı?

TAMAM. Etkileşimli bir sistem kompleksinden kapalı bir ortam yaratıyoruz. Örneğin: üç genli bireyler, onlardan "kaçamazlarsa" (diyelim ki X ve Y genleri düzlemdeki koordinatlardır) iki genli bireyleri "yuturur" (kendilerine bağlanır ve büyürler). Üç genli bir bireyde, Z geni eklenir - üçüncü boyut. Onun bir avantajı var. İki genin görevi hayatta kalmak ve yakalanmamaktır ve üç genin görevi iki geni mümkün olduğunca çabuk yakalamak ve zamandan ve kaynaktan tasarruf etmektir.

Hedef: Genetik olarak zayıf bir birey, hayatta kalabilmek için genetik olarak daha güçlü olanı hesaplamalıdır.
Bir kuşun tarlada fareyi görmesi gibi, üç genli bir bireyin iki genli olanı uçakta "gördüğünü", iki genli bireyin ise her şeyi iki boyutlu olarak algıladığını ve dolayısıyla yaklaşımı bilmediğini biliyoruz. düşmanın son ana kadar Bununla birlikte, büyük bir grupta, birçok iki genli birey vardır ve her biri, kabile arkadaşlarını yutma olaylarını - nerede ve ne zaman yakalandıklarını - kaydeder. Bu şekilde, büyük bilim adamları genelleştirilmiş "fikirler" oluşturabilirler - tüm nesillerden düşmanlarının üç boyutlu uzayda hangi doğal engellere sahip oldukları ve hayatta kalmak için en iyi nasıl adapte olacakları hakkında edindikleri deneyim ve bilgi.
 
Aleksey Mavrin :

Bu arada nasıl uygulanır? Ben de aynısını yapmayı düşünmeye başladım.

bu test cihazı ile ortak bir çalışmadır - önce optimizasyon için tüm parametreleri ayarladık, test cihazının her geçişte yatay çizgiler çizmeye başladığı ana kadar test ettik - bu, GA'nın bir yerel maksimum etrafında birleştiğinin bir işaretidir, ardından GA'nın parametreleri değiştirmeyi durdurduğu optimizasyon sekmesi ve ardından bu parametreleri (GA'nın değiştirmediği) diğer aralıklarla bölerek sonraki optimizasyon çalıştırmalarını gerçekleştirin, ancak genellikle optimizasyon önbelleklerini silerek (kaydederek) test cihazını yeniden başlatmak yeterlidir - GA rastgele değerlerle başlatılır

 
Igor Makanu :

bu test cihazı ile ortak bir çalışmadır - önce optimizasyon için tüm parametreleri ayarladık, test cihazının her geçişte yatay çizgiler çizmeye başladığı ana kadar test ettik - bu, GA'nın bir yerel maksimum etrafında birleştiğinin bir işaretidir, ardından GA'nın parametreleri değiştirmeyi durdurduğu optimizasyon sekmesi ve ardından bu parametreleri (GA'nın değiştirmediği) diğer aralıklarla bölerek sonraki optimizasyon çalıştırmalarını gerçekleştirin, ancak genellikle optimizasyon önbelleklerini silerek (kaydederek) test cihazını yeniden başlatmak yeterlidir - GA rastgele değerlerle başlatılır

Bana öyle geliyor ki, parametreleri değiştirme adımı yeterince düşükse, GA genel bir maksimuma (yerel olana değil) yakınsamalıdır. Adım çok yüksekse, aralığın değiştirilmesi yardımcı olmaz, çünkü maksimum değer bitişik değerler arasında kayabilir.

Ardından, en düşük adımla tam bir arama yapmak ve ardından en kötü aralıkları filtreleyerek GA yapmak daha kolaydır.

 
Aleksey Mavrin :

Ardından, en düşük adımla tam bir arama yapmak ve ardından en kötü aralıkları filtreleyerek GA yapmak daha kolaydır.

daha kolay değil, işte EA'm optimize ediliyor:


1.5 yıl boyunca bu EA'nın tek bir testi 1.5-2 saniye sürer, optimize edicide yaklaşık olarak aynı hızlar vardır, tam bir aramanın ne kadar süreceğini tahmin edebilirsiniz ve 20-50 dakika içinde GA zaten sonuçları bulur memnun et beni

 
Igor Makanu :

daha kolay değil, işte EA'm optimize ediliyor:


1.5 yıl boyunca bu EA'nın tek bir testi 1.5-2 saniye sürer, optimize edicide yaklaşık olarak aynı hızlar vardır, tam bir aramanın ne kadar süreceğini tahmin edebilirsiniz ve 20-50 dakika içinde GA zaten sonuçları bulur memnun et beni

Geçiş sayısı bilimsel olarak gösterildiğinde, genetiğin bu bit derinliği taşar ve hiç çalışmaz (eğer varsa). Yapmak zorundaydım:

1. Adım sayısını azaltın. Adımın pürüzlü olmaması ve istenen aralığı kapsaması için adımı doğrusal olmayan yaptım. 0.001-0.099, 0.01-0.99, 0.1-9.9, ... yani parametreyi değiştiriyorum. yaklaşık %1 doğrulukla adım atın.

2. Optimize edilmiş değişkenlerin sayısını azaltın ve asıl mesele bu.

2a. Değişkenleri (gruplar) neredeyse bağımsız olan ve ayrı ayrı optimize eden gruplara ayırın.

2b. Birbirine bağımlı değişkenleri bulun ve bunları birbirine bağlayın. Çok uzun bir yaygaradan sonra bunun gibi birkaç değişkeni kaldırdım.

2c. Kârlılıkta küçük bir düşüş pahasına sabit hale getirilebilecek değişkenleri bulun. Ayrıca bulundu.

3. Pek çok değerlendirmeden sonra, değişkenler aralığı da istenene kadar daraltılmalıdır.

Bu tür fedakarlıklar yapana kadar optimizasyonum etkili değildi. Her şey çok fazla değişkenle optimizasyonla ilgili. Bu başlı başına yanlıştır, ancak bazı uzmanlar karmaşıklığa değil, basitleştirmeye evrilir.

 
Igor Makanu :

daha kolay değil, işte EA'm optimize ediliyor:


1.5 yıl boyunca bu EA'nın tek bir testi 1.5-2 saniye sürer, optimize edicide yaklaşık olarak aynı hızlar vardır, tam bir aramanın ne kadar süreceğini tahmin edebilirsiniz ve 20-50 dakika içinde GA zaten sonuçları bulur memnun et beni

Bu bir sistem karmaşıklığı meselesidir. Bunu bence GU ile ilgili konuda tartıştım. Tam bir numaralandırma için 3-5 adımlarını atıyorum. Ekranda 18 parametreniz var, (3-5) ^ 18 \u003d 400M'den 3,8 trilyona kadar, zaten Tanrı tarafından, biraz fazla olsa da, asıl mesele, çok fazla par- hendek, all için tam bir numaralandırma yapmıyorum ve daha sonra GU'yu tanımlayarak-daraltarak GA'da zaten birlikte olan bazı ve grupları düzeltmiyorum.

ve daha ayrıntılı sunuma tamamen katılıyorum

Edgar Akhmadeev :

Geçiş sayısı bilimsel olarak gösterildiğinde, genetiğin bu bit derinliği taşar ve hiç çalışmaz (eğer varsa). Yapmak zorundaydım:

1. Adım sayısını azaltın. Adımın pürüzlü olmaması ve istenen aralığı kapsaması için adımı doğrusal olmayan yaptım. 0.001-0.099, 0.01-0.99, 0.1-9.9, ... yani parametreyi değiştiriyorum. yaklaşık %1 doğrulukla adım atın.

2. Optimize edilmiş değişkenlerin sayısını azaltın ve asıl mesele bu.

2a. Değişkenleri neredeyse bağımsız (gruplar) gruplara ayırın ve ayrı ayrı optimize edin.

2b. Birbirine bağımlı değişkenleri bulun ve bunları birbirine bağlayın. Çok uzun bir yaygaradan sonra bunun gibi birkaç değişkeni kaldırdım.

2c. Kârlılıkta küçük bir düşüş pahasına sabit hale getirilebilecek değişkenleri bulun. Ayrıca bulundu.

3. Pek çok değerlendirmeden sonra, değişkenler aralığı da istenene kadar daraltılmalıdır.

Bu tür fedakarlıklar yapana kadar optimizasyonum etkili değildi. Her şey çok fazla değişkenle optimizasyonla ilgili. Bu başlı başına yanlıştır, ancak bazı uzmanlar karmaşıklığa değil, basitleştirmeye doğru evrilir.

Herkesin kendi yöntemleri vardır, aslında muhtemelen herkes anlar.
 
Edgar Akhmadeev :

Geçiş sayısı bilimsel olarak gösterildiğinde, genetiğin bu bit derinliği taşar ve hiç çalışmaz (eğer varsa).


"Hiç çalışmıyor" ne anlama geliyor?

Hatayı nasıl yeniden oluşturabilirsiniz?

 
Edgar Akhmadeev :

Geçiş sayısı bilimsel olarak gösterildiğinde, genetiğin bu bit derinliği taşar ve hiç çalışmaz (eğer varsa).

GA kesinlikle benim için çalışıyor, EA ayarları dosyasına başarılı geçişler yazıyorum, dosya adını optimizasyon giriş parametrelerinin kendilerinin MD5 karmasından oluşturuyorum, yani. optimize ederken, Ortak klasörde dosyaların göründüğünü görüyorum

sadece bir problem varken - bir süre sonra GA küçük bir optimizasyon parametresi grubu etrafında birleşmeye başlayabilir - bence bu normaldir, tüm GA'lar bu şekilde çalışır ve bu onların kullanım problemidir

ancak GA kesinlikle çalışıyor ve takılmıyor - Eklenen dosyalardan ve benzersiz adlardan görüyorum

 
Slava :

"Hiç çalışmıyor" ne anlama geliyor?

Hatayı nasıl yeniden oluşturabilirsiniz?

Bunu uzun zaman önce bir Expert Advisor'da çerçeveler kullandığımda yazmıştım. Özü tam olarak hatırlamıyorum, görünüşe göre tüm kareler bana gelmeye başlamadı (ve en iyi sonuçlar). Eski gönderileri arayacağım ve netleştirmeye çalışacağım.

Ama tam olarak hatırlıyorum, Uzman Danışmanımda açıkça tekrarlanabilirdi - arama sayısı belirli bir sayıyı aştığında ve bilimsel bir şekilde görüntülendiğinde genetiğim bozuldu. Değişkenin yalnızca çok sayıda adıma sahip olması değil, aynı zamanda değişken sayısının da büyük olması önemlidir.