Genetik Algoritma Ve Optimizasyon
-
1234567B bunu yazdıizzmarit bunu yazdı
Ben de optimizasyon bilmem ama genetik bilirim, orijinal makaleyi ve tam olarak amacini daha acik sekilde anlatir misin?
Mobilim eve geçince makaleyi paylaşacağım. Özetle adamların yaptıgı şey bir redüktör içindeki mil ve dişlililerin boyutlarını minumuma indirgemek. Bunun içinde bir veya birden fazla uygunluk fonksiyonu tanımlıyor. Bir alt ve üst sınır belirliyor.
@mizahi
Hocam amaç makaleyi incelemek oldugu için g.a. ile yapılması gerek bu verdiğim soru sadece basit bir ötnek kendi kendime oluşturduğum maksat bu problem üzerinden algoritmanın nasıl işlediiini anlamak
Donup dolasip ya bana ya boyd a gideceksin gibi bir his var hocam bende. O yuzden cozum yazmadim, cozum yolu yazdim. Neyse bekleyip gorelim
-
izzmarit bunu yazdı1234567B bunu yazdıizzmarit bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdı
Ben de optimizasyon bilmem ama genetik bilirim, orijinal makaleyi ve tam olarak amacini daha acik sekilde anlatir misin?
Senin bahsettiğin genetik ve onun bahsettiği genetik farklı sanki.
--
genetik ve optimizasyon bilmem ama ilk sorunun cevabı 45 derece olmalı :)
Yazdiklari bana populasyon genetigi analizi gibi bir sey olacakmis ama tam olamiyormus gibi hissettirdi. Du bakiim nasil genetik diyormus, bilgisayardayken bakicam makaleye :))
https://www.wikizero.com/tr/Genetik_algoritma
Buradan başlanılabilir.
Bildigin dogal seleksiyon bu?
Zaten inkar etmiyoruz.D
Ne kiziyonuz anlamaya calisiyorum :D okuyayim da oyle yazayim hehe
1234567B'nin verdiği atış örneğinden bir özet geçeyim:
Öyle bir program düşün ki; programa diyorsun ki:
al bu taşı; öyle bir hızla, öyle bir açıyla at ki taşın düştüğü mesafe 100metre olsun. o mesafeyi hesaplama formülü de bu.
Program o taşı V1 hızında atıyor, 10 derece açıda atıyor olmuyor. 20 derece açıda atıyor olmuyor. kendi kendine diyor ki. açıyı arttırınca daha uzağa gidiyor. arttıyor arttırıyor atrıyor 45 derece oluyor maks mesafe gidiyor. 46 yapıyor. lan niye geriledi bu diyor. 50-60-70 derece atıyor. bakıyor uzaklık azaldı. diyorki tmm 45 derece atıcam en uzağa gidecek. ama ulaştığı en uzak mesafe 100 metre değil. hızı arttırsam ne olur diyor. her seferinde biraz daha hızlı atıyor. 100 metre olunca tmm ben optimum hızı ve açıyı buldum diyor.
program bunları yapmayı her seferinde öğrendiği için genetik algoritma diyorlar işte. böyle yazdığın bir algoritmayı saece yer çekimi ivmesini değiştirerk ayda çalıştırabilirsin vs vs.
bunun daha kompleksini mario oynamayı kendine kendine öğrendiğini düşün ve daha büyük ölçekli hayal et. Nereye varıyoruz: Person of interest :)
--
müridin sorduğu optimum gövde büyüklüğü ve torku elde edebileceğim redüktörü yapmayı öğrenen program yaparken ki problemini çözmek :)
yanlışım varsa düzeltin.
-
NoktaliVirgul bunu yazdıizzmarit bunu yazdı1234567B bunu yazdıizzmarit bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdı
https://www.wikizero.com/tr/Genetik_algoritma
Buradan başlanılabilir.
1234567B'nin verdiği atış örneğinden bir özet geçeyim:
Öyle bir program düşün ki; programa diyorsun ki:
al bu taşı; öyle bir hızla, öyle bir açıyla at ki taşın düştüğü mesafe 100metre olsun. o mesafeyi hesaplama formülü de bu.
Program o taşı V1 hızında atıyor, 10 derece açıda atıyor olmuyor. 20 derece açıda atıyor olmuyor. kendi kendine diyor ki. açıyı arttırınca daha uzağa gidiyor. arttıyor arttırıyor atrıyor 45 derece oluyor maks mesafe gidiyor. 46 yapıyor. lan niye geriledi bu diyor. 50-60-70 derece atıyor. bakıyor uzaklık azaldı. diyorki tmm 45 derece atıcam en uzağa gidecek. ama ulaştığı en uzak mesafe 100 metre değil. hızı arttırsam ne olur diyor. her seferinde biraz daha hızlı atıyor. 100 metre olunca tmm ben optimum hızı ve açıyı buldum diyor.
program bunları yapmayı her seferinde öğrendiği için genetik algoritma diyorlar işte. böyle yazdığın bir algoritmayı saece yer çekimi ivmesini değiştirerk ayda çalıştırabilirsin vs vs.
bunun daha kompleksini mario oynamayı kendine kendine öğrendiğini düşün ve daha büyük ölçekli hayal et. Nereye varıyoruz: Person of interest :)
--
müridin sorduğu optimum gövde büyüklüğü ve torku elde edebileceğim redüktörü yapmayı öğrenen program yaparken ki problemini çözmek :)
yanlışım varsa düzeltin.
Anlatımına hayran kaldım
-
KotomineKirei bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdı1234567B bunu yazdıizzmarit bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdıNoktaliVirgul bunu yazdıizzmarit bunu yazdı
https://www.wikizero.com/tr/Genetik_algoritma
Buradan başlanılabilir.
1234567B'nin verdiği atış örneğinden bir özet geçeyim:
Öyle bir program düşün ki; programa diyorsun ki:
al bu taşı; öyle bir hızla, öyle bir açıyla at ki taşın düştüğü mesafe 100metre olsun. o mesafeyi hesaplama formülü de bu.
Program o taşı V1 hızında atıyor, 10 derece açıda atıyor olmuyor. 20 derece açıda atıyor olmuyor. kendi kendine diyor ki. açıyı arttırınca daha uzağa gidiyor. arttıyor arttırıyor atrıyor 45 derece oluyor maks mesafe gidiyor. 46 yapıyor. lan niye geriledi bu diyor. 50-60-70 derece atıyor. bakıyor uzaklık azaldı. diyorki tmm 45 derece atıcam en uzağa gidecek. ama ulaştığı en uzak mesafe 100 metre değil. hızı arttırsam ne olur diyor. her seferinde biraz daha hızlı atıyor. 100 metre olunca tmm ben optimum hızı ve açıyı buldum diyor.
program bunları yapmayı her seferinde öğrendiği için genetik algoritma diyorlar işte. böyle yazdığın bir algoritmayı saece yer çekimi ivmesini değiştirerk ayda çalıştırabilirsin vs vs.
bunun daha kompleksini mario oynamayı kendine kendine öğrendiğini düşün ve daha büyük ölçekli hayal et. Nereye varıyoruz: Person of interest :)
--
müridin sorduğu optimum gövde büyüklüğü ve torku elde edebileceğim redüktörü yapmayı öğrenen program yaparken ki problemini çözmek :)
yanlışım varsa düzeltin.
Anlatımına hayran kaldım
Yanlış olabilirim, hemen hayran kalmayın :)
-
Şimdi geldim. Dün hızlıca yazdıgım için sanırım biraz karışık olmuş konuya açıklık getireyim. Genetik algoritmanın şekil optimizasyonunda kullanılması yeni değil. Bu konuyla ilgili ephey çalışma var. Temel olarak algoritma şeması böyle.

İncelediğim makalede yapılan problemde şu.

Temel olarak burdaki değişkenlere yapay zekacık kullanarak gerekli şartları sağlayan minumum bir redüktör tasarımı yapmayı hedefliyorlar. Bir sonuç elde etmişler ama ben çalışmanın eksik oldugunu düşünüyorum. Ama tamamen problemi kendim çözdüremediğim için kesin olarak adamların çalışması fakir bir çalışma diyemiyorum. Aslında çalışma fakirde değil. Sadece optimize etmeye çalıştıkları şey çok kapsamlı. Makalede çok yüzeysel bir çalışma yapılmış.
Ben soru daha anlaşılabilir olsun diye basit bir fizik sorusu uyarladım. Şimdi genetik algoritma çalışırken ona bir çözüm aralığı veriyorsunuz mesala atış problemi için diyorum ki v1 ve g zaten bilinen bir değer. Sen 10 ve 70 arasında alfayı değiştir. En uzağa attıgın açıyı bana söyle. Fakat bu 10 ve 70 arasında direk for döngüsü ile sonuçları çzömek gibi değil. Burda algoritmanın cafcaflı tarafı devreye giriyor. Bir yapay zekacık olarak nitelendirilebilir. Verdiğim başlangıç populasyonununu evire evire en iyiye yaklaşmayı hedefler. Yani içerisinde bir eniyileme var. Ama hiç bir zaman sonuç direk 45 çıkmaz. 44,8, 44.9 gibi yaklaşımlar yapacaktır.
Misal incelediğim makalede generasyonların nasıl minumuma yaklaştıgı aşağıdaki görselde gösterilmiş.

Benim sizlere sorum populasyon tanımlama,selection ve mutation ilgiliydi. Bunları daha önce yapan biri varsa diye buraya konu açtım. Konuyu açtıktan sonra araştırmaya devam ettim. Ufaktan aydınlanır gibiyim. Tamamen anladıgımda buraya detaylı bir yazı yazarım. Alan aslında çok keyifli. Bir kaç örnek buldum. Misal aşağıdaki örnekte amca kepçenin bom unu optimize ediyor. Baya ilginç,

@NoktaliVirgul
Hocam hemen hemen dogru anlamışsın problemi :D hızda sabit sadece açıyı değiştirmeye çalışacak algoritma.
@mizahi
Hocam dediğin şeyi bilmediğim için oraya varıp varamayacağım konusunda net birşey söyleyemem. Ama yinede teşekkürler.
1234567B tarafından 28/Kas/17 15:24 tarihinde düzenlenmiştir -
Hocam genetic algorithmlere hakim oldugum soylenemez ancak eger sorun asla 45 e tam olarak gelememesiyse curve fittinge dayalı metodlarin cogunda boyle olsa gerek. Sonucta belli bir oranda parametreleri update ediyorsun her seferinde.
-
1234567B bunu yazdı
Merhaba dostlar
Şimdi bir makale ile ilgili sunum yapmam gerekiyor fakat makalenin bazı kısımlarında anlamadıgım noktalar var. Şimdi konu redüktör optimizasyonu oldugu için makaleden örnek vermeyeceğim teorisi biraz karışık gelebilir.
Hepimizin bildiği bir örneği basit bir atış sorusunu ele alalım

En uzağa atmak için gerekli açıyı bulmaya çalışalım. V1 ve g sabit sadece alpha değeri değişkenlik gösterecek?
Şimdi böyle bir problem için
populasyon boyutu nasıl belirlenir?
başlangıç populasyonu nasıl tanımlanır?
kromozom nasıl tanımlanır?
Tanımladıgım fitness fonksiyonu dogrumudur değilmidir?
Birde seçilim ve mutasyon ile ilgili php,matlab,c# veya anlaması kolay bir dilde örnek olursa tadından yinmez.
Saygılar sevgiler.
Dostum selamlar. Bi şey soracamda işlem tamamen doğrudur da neden 2 ile carptin. 2 nerden geldi bunu yanitlarmisin
-
Simdi hocam su genetik algoritma isini bu konuyu acmaniz sayesinde ogrendim ilgimi cekti fikrimi belirteyim dedim. Yazacaklarim tamamen alakasiz ve sacma olabilir affiniza siginirim :D
Oncelikle son buldugunuz formulu daha kisa bi sekilde V1'in karesi * sin(2a) / g olarak yazabiliriz. Zaten sin2a'nin max. olmasi icin alfanin 45 olmasi gerekir. Populasyon, icerisindeki bireyleri deneyecegimiz kumeyi ifade edecegi icin populasyonu 0-90 arasindaki tam sayilar yada gercel sayilar olarak ifade edebiliriz. 90 dereceden sonraki degerler zaten bizi ilgilendirmeyecek cunku 180-a ile ayni degerleri dondurecek. Gen de bize probleme ait en kucuk bilgiyi veren kisim oldugu icin bunu menzil olarak tanimlayabiliriz diye dusunuyoğum :D Gercel sayi kumesinde tanimlarsak daha optimal bi cozum uretir. Ama kromozom kismini tam anlayamadim.
Dedigim gibi sadece ilgimi cektigi icin goruslerimi belirtmek istedim konu hakkinda bilgim yok :s
-
Ben olayi biraz yanlis anladim sanirim ama su arkadasvolayi cok guzel sekilde ozetlemis;
https://youtu.be/XP8R0yzAbdo
-
Biraz ilerleme kaydettiğimde burada paylaşacağım.
@Kurtismail
Tçıkış*2=Tuçuş
