Yerel Arama Teknikleri ve Optimizasyon (Local Search and Optimisation)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Yerel Arama Teknikleri ve Optimizasyon (Local Search and Optimisation)"

Transkript

1 Yerel Arama Teknikleri ve Optimizasyon (Local Search and Optimisation)

2 Yerel Arama Teknikleri Tepe Tırmanma (Hill Climbing) Benzetimli Tavlama (Simulated Annealing)

3 Yerel Arama Algoritmaları (Local Search Algorithms) Pek çok optimalleştirme probleminde amaca götüren yolun (path) hiçbir önemi olmayabilir; çözüm amaç durumun kendisidir. Bu durumlarda, yerel arama algoritmaları kullanılabilir. Fakat şimdiki" durumu akılda tutmalı ve onu iyileştirmeye çalışmalıdır. Amaç, arama uzayında istenen kısıtlara / özelliklere sahip fonksiyonunu maksimum yapan durumu bulmaktır. Bellekte sadece mevcut durumu tutulur ve onu düzeltmeye çalışılır. Dolayısıyla çok az hafıza gerektirir. / fayda

4 Yerel Arama Algoritmaları (Local Search Algorithms) 3 önemli kavramı vardır: Bir başlangıç noktası o Bir başlangıç çözümü vardır. o Optimum çözüme ne kadar yakınsa, o kadar çabuk ulaşılır. O noktanın komşuları o Büyüklüğü değişkendir. o Eğer komşuluk büyükse, gidilebilecek yeni nokta seçeneği vardır. o Komşuluk büyükse yerel optimuma takılma olasılığı azalır. o Komşuluk çok büyükse global optimum üzerinden atlanılabilir. Başlangıç noktasından komşulara, oradan da diğer komşulara geçecek bir Algoritma

5 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tepe tırmanma algoritması, sisli bir havada bulunulan çevredeki en yüksek doruğu aramaya benzetilir. Doruğa tırmanmak için başlanılan yerden eğimin yukarı olduğu yöne doğru ilerlenir. Yeni konumda etraftaki eğimler yeniden gözden geçirilir ve yine eğimin yukarı olduğu yön seçilip oraya doğru ilerlenir. Bu işlem görüş alanındaki tüm noktaların aşağıda kaldığı âna kadar sürer. Bu anda bir tepenin doruğuna ulaşılmış olur. Fakat ulaşılan tepenin çevredeki en yüksek doruk olup olmadığı bilinemez. Bu yüzden, tepe tırmanma algoritması her zaman en iyi sonucu vermez. 5

6 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Amaç, bütün ihtimalleri denemeden iyi bir sonuç bulabilmektir. Derinine öncelikli aramanın özel bir durumudur. Değerlendirme fonksiyonu olarak h(n)= sezgisel fonksiyonu kullanır. Derinine öncelikli arama + sezgisel fonksiyon h(n) Bulunulan düğüme kadar olan gerçek maliyet değerini g(n) yok sayar. En basit versiyonu: açgözlü arama (gready search). Algoritma bir zirveye ulaştığında sona erer (yerel veya global maksimum).

7 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Temel olarak bir grafta rastgele seçilen bir nokta için 3 farklı ihtimal bulunmaktadır: 1. Noktanın bir tarafında problem iyileşirken diğer tarafında kötüleşmektedir. Bu durumda iyi tarafa doğru tırmanma algoritması devam eder. 2. Noktanın iki tarafında da problem sonucu kötüleşmektedir. Bu durumda bulunulan nokta problem için en iyi noktalardan (optimum points) birisidir. Elbette bu en iyi sonuç olmayabilir yani bu sonuçtan daha iyi sonuçlar olabilir ancak klasik tepe tırmanma algoritması bu diğer sonuçları bulamaz ve bu noktada kalır. 3. Noktanın iki tarafında da problem iyileşiyordur. Yani tesadüfen bulunulan nokta aslında problem için ulaşılabilecek en kötü noktalardan birisidir. Bu durumda tepe tırmanma algoritması yönlerden birisini seçerek tırmanmaya devam eder. 7

8 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tepe Tırmanma AlgoritmasıiçinRiskler : Tepe tırmanma algoritmaları genel olarak yerel bir başarı noktasında (local optimum point) takılmak gibi bir zafiyete sahiptirler. Örneğin aşağıdaki şekilde x ve y noktaları arasında bir düzlük bulunmaktadır. Başlangıç noktası olarak bu aralıktaki herhangi bir noktadan başlanırsa algoritma komşuları aradığında daha iyi veya daha kötü bir sonuç bulamayacağı için hatalı karar verebilir. 8

9 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tepe Tırmanma Algoritması için Riskler : Bu algoritma ile genellikle yerel maksimum noktaları bulunabilir. (bu ifade global maksimum hiç bulunamaz manasına gelmez.) f-value f-value = evaluation(state) states while f-value(state) > f-value(next-best(state)) state := next-best(state)

10 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tepe Tırmanma AlgoritmasıiçinRiskler : Başlangıç noktası olarak seçilen nokta doğru sonuca ulaşmada önemli bir etkendir; bazen yerel maksimumlarda, yamaç ve platolarda takılıp kalabilir. Arama uzayında döngüler varsa tepe tırmanma yöntemi kullanılamaz. 10

11 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tam? : değil (backtracking yapmadıkça) Zaman karmaşıklığı :O(b d ) Uzay karmaşıklığı :O(bd) Optimal? :değil (Bulunan çözüm yerel optimumdur) 11

12 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tepe Tırmanmada temel fikir, mevcut durumdan daha iyi olan bir duruma doğru gitmektir. İterasyon tekniği kullanılır. 1) Arama alanında keyfi olarak seçilen bir nokta geçerli konum olarak atanır ve başlangıç çözümü bulunur. Çözümün amaç fonksiyonu değeri ölçülür. 2) Mevcut noktanın komşuluğuna gidilir. Komşuluğun amaç fonksiyonu değeri ölçülür. 3) Eğer seçilen komşu nokta mevcut çözümden daha iyiyse yeni çözüm olarak alınır, değilse mevcut çözüm değiştirilmez. 4) Algoritma daha iyi bir çözüm bulunamayınca veya belirlenmiş iterasyon sayısına ulaşınca sonlandırılır. daha önceden

13 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) function Hill-Climbing(problem) returns a solution state current Make-Node(Initial-State[problem]) loop do next a highest-valued successor of current if Value[next] < Value[current] then return current current next end

14 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search HCS) Tepe tırmanma sezgisel değerlendirmeli derine öncelikli arama yöntemidir. Fakat hemen soldan aşağıya doğru ilerlemez. Amaç fonksiyonu olarak h(n) sezgisel işlevini kullanır. Düğümler genişlendikçe en iyi değerdeki sezgisel değere sahip komşu seçilir ve o noktaya hareket edilir. 14

15 Tepe Tırmanma Arama Algoritması Örnek-1 : Backtracking kullanarak

16 Tepe Tırmanma Arama Algoritması Örnek-2 : Backtracking kullanarak

17 Tepe Tırmanma Arama Algoritması Örnek-3 : Optimal olmayan çözüm! Bu çözüm Optimal değil

18 Tepe Tırmanma Arama Algoritması Örnek-4 : Local maksimum Local maksimum bulundu.

19 8 puzzle problemi için Sezgisel fonksiyon belirleme 1. Alternatif: h1(n) = yerinde bulunmayan taşların sayısı Hedef h1(n) = 4 19

20 8 puzzle problemi için Sezgisel fonksiyon belirleme 2. Alternatif: h2(n) = taşların hedefteki yerlerine uzaklıkları toplamı (yatay ve dikey hane toplamları) Bu uzaklıklara Manhattan uzaklığı da denir. h2(n) = m(1)+m(2)+m(3)+m(4)+m(5)+m(6)+m(7)+m(8) = = 6 Hedef h2(n) = = 6 h2(n) yöntemi h1(n) yöntemine göre daha çok tercih edilmektedir. 20

21 8 puzzle problemi için Sezgisel fonksiyon belirleme Hedef Durum h 1 =1 h 2 = h 1 =5 h 2 = =7

22 8 puzzle problemi için Sezgisel fonksiyon belirleme Sezgisel fonksiyon olarak Manhattan uzaklığının performansı : 8 Puzzle 15 Puzzle 24 Puzzle < 1 sn 1 dakika yıl

23 Tepe Tırmanma Arama Algoritması (Hill climbing search) 8 puzzle problemi "minimizing h"

24 Tepe Tırmanma Arama Algoritması (Hill climbing search) 8 puzzle problemi "Local maximum"

25 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search) Tepe tırmanma algoritmaları genel olarak yerel bir başarı noktasında (local optimum point) takılmak gibi bir zafiyete sahiptirler.

26 Tepe Tırmanma Local Optimum Rastgele Başlangıç Noktası Amaç Fonksiyon değeri x

27 Tepe Tırmanma Local Optimum Üç rastgele adım Amaç Fonksiyon değeri x

28 Tepe Tırmanma Local Optimum Yeni pozisyon için En İyi birini seçin. Amaç Fonksiyon değeri x

29 Tepe Tırmanma Local Optimum Tekrar et Amaç Fonksiyon değeri x

30 Tepe Tırmanma Local Optimum Tekrar et Amaç Fonksiyon değeri x

31 Tepe Tırmanma Local Optimum Tekrar et Amaç Fonksiyon değeri x

32 Tepe Tırmanma Local Optimum Tekrar et Amaç Fonksiyon değeri x

33 Tepe Tırmanma Local Optimum İyileşme yok, dur. Amaç Fonksiyon değeri x

34 Tepe Tırmanma Arama Algoritması (Hill-Climbing Search) Daha iyi sonuçlar için : Tepe tırmanmayı farklı başlangıçlarla tekrarlamak - Random-restart hill climbing Benzetimli Tavlama- Simulated annealing Paralel Tepe Tırmanma - Local beam search gibi arama algoritmaları kullanılabilir.

35 Benzetimli Tavlama (Simulated Annealing)

36 Benzetimli Tavlama (Simulated Annealing) Tepe tırmanmaya (hill climbing) benzer, ancak aşağı yukarı aynı adımlar atılabilir. Aşağı adımlara izin verme olasılığı zamanla azalır.

37 Benzetimli Tavlama (Simulated Annealing) Benzetimli Tavlama (Simulated Annealing) algoritması; elektronik devre tasarımı, görüntü işleme, yol bulma problemleri, seyahat problemleri, malzeme fiziği benzetimi, kesme ve paketleme problemleri, iş/akış çizelgeleme ve benzeri pek çok problemin çözümümde kullanılabilir.

38 Benzetimli Tavlama (Simulated Annealing) Diğer İsimleri : Monte Carlo Annealing Statistical Cooling Probabilistic Hill Climbing Stochastic Relaxation Probabilistic Exchange Algorithm

39 Benzetimli Tavlama (Simulated Annealing) Optimizasyon problemleri için iyi çözümler veren olasılıklı bir arama tekniğidir. Kirkpatrick ve arkadaşları tarafından 1983 yılında önerilmiştir. İsmini demir tavlamak veya demiri ısıtmak anlamına gelen annealing (tavlama) kelimesinden almıştır. Katıların ısıtılması ve sonra yavaş yavaş soğutulması esasına dayanır.

40 Benzetimli Tavlama (Simulated Annealing) Algoritmanın çalışması demir tavlama işlemine benzer. Tavlama, bir malzemeyi belirli bir süre (tavlama sıcaklığına kadar) ısıttıktan sonra, yavaş yavaş soğutmaktır. Benzetimli Tavlama, katı cisimlerin soğurken mükemmel şekilde atomik dizilişlerini örnek alır. Esneklik yada dayanıklılık.

41 Benzetimli Tavlama (Simulated Annealing) Bir malzeme soğutulurken atomlar bir süre sonra nasıl ki periyodik aralıklarla dizilip potansiyel enerjiyi minimize ediyorlar ise (kristalleşme) aynı yöntem kullanılarak tanımlanan bir fonksiyon minimize edilmeye çalışılır.

42 Benzetimli Tavlama (Simulated Annealing) Algoritma, uzayda belli bir başlangıç vektöründen yeteri kadar yüksek bir sıcaklık (T) parametresi için hareket başlatır. Hareket sırasında ziyaret edilen noktalardan en küçük değerini veren nokta bir sonraki hareketin başlangıç noktası olur. Bir sonraki harekette sıcaklık (T) değeri belli bir miktar azaltılır. Eğer T yeterince yavaş azalırsa, en iyi duruma ulaşılması garanti edilir. T nin belli bir değerine varıldığında veya belirlenen maksimum iterasyona ulaşılması durumunda algoritma sonlanır.

43 Benzetimli Tavlama (Akış Şeması)

44 Benzetimli Tavlama (Simulated Annealing) 1. Başlangıç çözümü oluştur ve uygunluk değerini hesapla. 2. Başlangıç çözümünü mevcut ve en iyi çözüm olarak belirle. 3. İterasyon sayısı kadar tekrarla. Mevcut çözümden yeni bir komşu çözüm üret. Komşu çözümün uygunluk değerini hesapla. Komşu çözümün uygunluk değeri mevcut çözümün uygunluk değerinden daha iyi ise komşu çözümü mevcut çözüm olarak belirle. Değilse kabul formülüne göre komşu çözümü kabul veya reddet. Mevcut çözüm en iyi çözümden daha iyi ise en iyi çözüm olarak belirle. 4. Sistemi soğutma formülüne göre soğut. 5. Sonlandırma koşulu sağlanmadığı sürece Adım3 e git.

45 Kabul Kriteri (Acceptance Criterion) P( E) = exp(- E /k B *T) >r E (enerji) : Sezgisel / amaç / fitness fonksiyonu P( E) : Kabul kriteri T: Mevcut sıcaklık (T = 0 tepe tırmanmaya eşdeğer demektir) E: değerlendirme fonksiyonundaki değişiklik k B Boltzmann sabiti r: random bir sayı (0-1)

46 Benzetimli Tavlama (Simulated Annealing) 1. Başlangıç sıcaklık değeri (T) seçilir. 2. N boyutlu uzayda xx ii başlangıç noktası (i = 0) seçilir, E( xx ii ) hesaplanır. 3. Nokta xx ii+1 = xx ii + xx ii şeklinde rastgele bir hareket gerçekleştirilir, E( xx ii+1 ) hesaplanır. 4. E = E(x i+1 ) E(x i ) EE xx ii+1 < EE( xx ii ) ise hareket kabul edilir, değilse ωω = eeeeee [ ( E) /kkkkkk] önceden seçilen başlangıç sıcaklık değeri (T) için hesaplanır. (k B : Boltzman sabiti) 0 < rr < 1 olacak biçimde bir rr rastgele sayısı üretilir. ωω > rr ise hareket kabul edilir, değilse reddedilir. 5. 3,4 işlemleri yeni hareket noktası için yinelenir. 6. Fonksiyonun en küçük değerini veren xx bulunur (xxx) 7. Sıcaklık değeri (T) azaltılır 8. Yeni sıcaklık değeri (T) için 2-6 arası işlemler, hareketin başlangıç noktası 6 da bulunan xxx olacak şekilde uygulanır. 9. Final Sıcaklık değeri T, belirlenen değere indiğinde program durur.

47 Algorithm 1. Select an objective function E(x); 2. Select an initial temperature T>0; 3. Set temperature change counter t=0; 4. Repeat 4.1 Set repetition counter n=0; 4.2 Repeat Generate state x i+1, a neighbor of x i ; Calculate E=E(x i+1 ) E(x i ); If E<0 then x i =x i+1 ; else if random(0,1)<exp( E/k B *T) then x i =x i+1 ; n=n+1; 4.3 Until n=r(t); 4.4 t=t+1; 4.5 T=T(t); Until stopping criterion true.

48 Benzetimli Tavlama (Parametreler) Başlangıç sıcaklığı (Starting Temperature) Her sıcaklıktaki iterasyon sayısı (Iterations at each temperature) Sıcaklık azaltma (Temperature Decrement) Final Sıcaklık (Final Temperature)

49 Başlangıç sıcaklığı (Starting Temperature) : Başlangıç sıcaklığı : Başlangıçta yüksek seçilir. Fakat çok aşırı sıcak seçilmemelidir. Problem uygun bir başlangıç sıcaklığı bulmaktır.

50 Her sıcaklıktaki iterasyon sayısı (Iterations at each temperature) Her sıcaklıktaki iterasyon sayısı : Herbir sıcaklık seviyesinde gerçekleştirilecek döngü miktarı. her sıcaklıkta yeterli iterasyona izin verilmesi gerekir, böylece sistemin bu sıcaklıkta dengeleneceği (thermal equilibrium) beklenmektedir. Fakat bunu elde etmek için her bir sıcaklıktaki iterasyon sayısı, problem büyüklüğüne katlanabilmektedir. Birkaç sıcaklıkta çok sayıda iterasyon yapmak yerine, birçok sıcaklıkta az sayıda iterasyon veya ikisi arasında bir denge kurulmalıdır. İterasyon miktarı belirlenen limite ulaştığında sıcaklık α değeriyle çarpılarak düşürülecektir. Her sıcaklıkta sabit sayıda iterasyon Lundy formülü ile sağlanır: t = t/(1 + βt) (β uygun küçük bir değerdir)

51 Sıcaklık azaltma (Temperature Decrement) Sıcaklık azaltma oranı (α) : Mevcut sıcaklıkla çarpılarak sıcaklığın azalmasını sağlar. T(t+1)= αt(t), α :0.8~0.99 Deneyimler, α'nın, 0.8~0.99 arasında daha iyi sonuçlar verdiğini göstermiştir. α'nın değeri ne kadar yüksekse, sıcaklığı durdurma kriterine indirgemek daha uzun sürer.

52 Final Sıcaklık (Final Temperature) Final sıcaklık : Sıcaklığın sıfıra ulaşıncaya kadar düşmesi normaldir. Ancak bu, algoritmanın çok daha uzun süre çalışmasını sağlayabilir. Bu nedenle, durdurma kriterleri uygun bir düşük sıcaklık olarak seçilebilir.

53 Algoritmanın durdurulması Belirlenen maksimum iterasyona ulaşılması Belirlenmiş minimum sıcaklığa ulaşılması İstenen kriterleri sağlayan çözüme ulaşılması

54 Her sıcaklıktaki iterasyon sayısının belirlenmesi N k = C N k = N k-1 + C N k = N k-1 / α ( α<1 ) N k = C / log(t k ) N k = (N k-1 ) (1/a) ( a<1 ) (Sabit) (Aritmetik) (Geometrik) (Logaritmik) (Üstel)

55 Sıcaklık azaltma fonksiyonu T k = T k-1 - C (Aritmetik) T k = T k-1 * α ( α<1 ve 1 yakın) (Geometrik) T k = C / (1+k) (Ters fonksiyon) T k = C / (log(1+k)) (Logaritmik)

56 Benzetimli Tavlama (Simulated Annealing) Rastgele Başlangıç Noktası T = Çok Yüksek Amaç Fonksiyon değeri x

57 Benzetimli Tavlama (Simulated Annealing) Rastgele adım T = Çok Yüksek Amaç Fonksiyon değeri x

58 Benzetimli Tavlama (Simulated Annealing) E daha düşük olmasına rağmen, kabul et T = Çok Yüksek Amaç Fonksiyon değeri x

59 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; daha yüksek E, kabul et T = Çok Yüksek Amaç Fonksiyon değeri x

60 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; daha yüksek E, kabul et T = Çok Yüksek Amaç Fonksiyon değeri x

61 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; daha düşük olsa bile kabul et T = Yüksek Amaç Fonksiyon değeri x

62 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; daha düşük olsa bile kabul et T = Yüksek Amaç Fonksiyon değeri x

63 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; daha yüksek, kabul et T = Orta Amaç Fonksiyon değeri x

64 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; düşük, ama reddet (T düşüyor) T = Orta Amaç Fonksiyon değeri x

65 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; E yüksek, kabul et T = Orta Amaç Fonksiyon değeri x

66 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; E az değişiyor, kabul et T = Düşük Amaç Fonksiyon değeri x

67 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; E yüksek, kabul et T = Düşük Amaç Fonksiyon değeri x

68 Benzetimli Tavlama (Simulated Annealing) Sonraki adım; E düşük ve T düşük olduğundan reddet T = Düşük Amaç Fonksiyon değeri x

69 Benzetimli Tavlama (Simulated Annealing) Maksimum'a yakınsama var T = Düşük Amaç Fonksiyon değeri x

70 Örnek: 8-Puzzle problemi T = sıcaklık. Örneğin, T = 50 ile başlayalım ve her iterasyonda 1 azaltalım. T=1 olduğunda sıcaklık azaltmayı durduralım. Başlangıç durumu : Energy: sum(distance(i, position(i))), for i=1,8. Energy(solution) = 0 Energy = (2-1)+(6-2)+(7-3)+(4-1)+(8-5) +(6-4)+(7-3)+(9-8) = = 22

71 Örnek: 8-Puzzle problemi Komşular : T = 40 olduğunu varsayalım. İlk komşuluğun kabul edilme olasılığı : P = e -(25-22)/40 = = 92.77%

72 Sezgisel Optimizasyon (Heuristic Optimisation)

73 Sezgisel Optimizasyon (Heuristic Optimisation) Optimizasyon, verilen şartlar altında en iyi sonucun elde edilmesi işidir. Optimizasyon alanındaki en önemli gelişmeler 18.yy da Newton ve Lagrange tarafından yapılmıştır. Bir sistemin planlanmasında hedef, istenen faydayı maksimize yada gerekli çabayı minimize etmektir. İstenen fayda veya gerekli çaba, karar değişkenlerinin bir fonksiyonu olarak ifade edilir. Optimizasyon sürecinde bu fonksiyonun minimum veya maksimum değerini oluşturan şartlar bulunur.

74 Sezgisel Optimizasyon Algoritmaları (Heuristic Optimisation) Genetik Algoritmalar Tabu Arama Algoritması Karınca Koloni Algoritması Yapay Bağışıklık Algoritması

75 Genetik Algoritma

76 Genetik Algoritma Genetik Algoritma Michigan Üniversitesi nden John Holland tarafından 1975 li yılında ortaya çıkarılmıştır. Genetik algoritma, doğadaki evrim mekanizmasını örnek alan bir arama ve optimizasyon yöntemidir. Önbilgi ve varsayımlar olmadan, sadece uygunluk fonksiyonu (fitness function) ile çalışabilmektedir. 76

77 Genetik Algoritma Genetik algoritmalar doğada geçerli olan en iyinin yaşaması kuralına dayanarak sürekli iyileşen çözümler üretir. Bazı problemlerde sonsuz sayıda çözüm olabilir ama en uygun ve hızlı çözümü bulmaya ihtiyacımız vardır. Genetik algoritmalar problemlere tek bir çözüm üretmek yerine farklı çözümlerden oluşan bir çözüm kümesi üretir. Sonuçta bütünsel çözüme ulaşma olasılığı yükselmektedir. 77

78 Genetik Algoritma Genetik algoritmalar; Arama uzayının büyük ve karmaşık olduğu, Mevcut bilgiyle sınırlı arama uzayında çözümün zor olduğu, Problemin belirli bir matematiksel modelle ifade edilemediği, Geleneksel eniyileme yöntemlerinden istenen sonucun alınmadığı alanlarda etkili ve kullanışlıdır. 78

79 Genetik Algoritma Özellikleri Avantajları Çok amaçlı optimizasyon yöntemleri ile kullanılabilmesi Çok karmaşık ortamlara uyarlanması Kısa sürelerde iyi sonuçlar verebilmesi Dezavantajları Son kullanıcının modeli anlaması güç Problemi Genetik Algoritma (GA) ile çözmeye uygun hale getirmek zor Uygunluk fonksiyonunu belirlemek zor Çaprazlama ve mutasyon tekniklerini belirlemek zor 79

80 Genetik Algoritma Terminoloji Gen: Canlıların karakterlerini belirleyen ve anlamlı bilgi içeren kromozom içindeki en küçük birimlerdir. Kromozom (Birey): Birden fazla genin bir araya gelerek oluşturduğu diziye denir. Genetik Algoritma da her kromozom belirlenen problem için potansiyel bir çözümü temsil etmektedir. Genetik algoritmada doğadan farklı olarak birey tek bir kromozomdan oluşur. Popülasyon (Topluluk): Kromozomlardan oluşan topluluktur. GA da olası çözümlerden oluşan kümeye karşılık gelir. Çözüm kümesini oluşturan kromozomların tümüdür. 80

81 Genetik Algoritma Terminoloji Seçim (Selection) : Var olan kromozomu genetik yapısında herhangi bir değişiklik yapmadan yeni nesile kopyalar. Çaprazlama (Crossover) : İki kromozomun yapılarının rastlantısal olarak birleştirilerek yeni çocuk kromozomlar oluşturulmasıdır. İşlem, ikili dizilerin parçalarının değiş tokuşu ile gerçekleştirilir. Mutasyon (Mutation) : Çaprazlama ile elde edilen bir çocuk kromozomun genlerinden birinin ya da birkaçının yerlerinin değiştirilmesiyle oluşturulur.

82 Genetik Algoritmaların Çalışma Prensibi 82

83 Genetik Algoritmanın Adımları 1. Başlangıç: Çözümlerin kodlanması gerçekleştirilir ve n kromozomdan oluşan rastgele (genel olarak ama zorunlu değil) bir popülasyon oluşturulur. 2. Uygunluk: Toplumdaki her x kromozomu için f(x) uygunluk değeri değerlendirilir. 3. Yeni Popülasyon : Yeni bir popülasyon (topluluk) üretilir. 4. Değiştir: Yeni popülasyon algoritmanın tekrar işlenmesinde kullanılır. 5. Deney: Eğer bitiş durumu sağlandıysa, durup popülasyondaki en iyi çözüm döndürülür. 6. Döngü: Adım 2 ye gidilir. 7. Sonlanma : İstenen çözüm bulunduğunda, başlangıçta tanımlanan toplam iterasyon sayısına ulaşıldığında veya uygunluk değeri sürekli olarak sabit kaldığında algoritma sonlandırılır. 83

84 Yeni bir Popülasyon Oluşturma Başlangıç popülasyonu oluşturulmuş genetik algoritma yeni bir popülasyon oluşturmak amacıyla aşağıdaki işlemleri gerçekleştirir (evrim operatörleri). Seçim: Popülasyondaki kromozomların uygunluk değerlerine bağlı olarak, yeni kromozomları oluşturmak için, ebeveyn birey seçmesi işlemidir. Popülasyondan uygunluklarına göre iki kromozom seçilir (uygunluk değeri iyi olanın seçilme şansı daha fazladır) Çaprazlama: Ebeveyn kromozomlardaki genlerin bazılarının karşılıklı yer değiştirmesi işlemidir. Çaprazlama ile kromozomlar yeni çocuk oluşturmak için birbirleriyle eşleştirilir. Eğer çaprazlama yapılmazsa, çocuk kromozom anne-baba (ebeveyn) kromozomların tıpatıp aynısı olacaktır. Mutasyon: Sürekli yeni nesil üretimi sonucunda, belli bir süre sonra nesildeki kromozomlar tekrar edebilir ve farklı kromozom üretimi azalabilir. Bu yüzden mutasyon işlemi ile bazı genler değiştirilir. Kabul: Çocuk kromozom, yeni popülasyona eklenir.

85 Genetik Algoritmanın Adımları 1. Parametre Kodlama 2. Başlangıç Popülasyonu 3. Seçim (Üreme) 4. Çaprazlama 5. Mutasyon 6. Sonlandırma 85

86 1. Parametre Kodlama Parametre Kodlama genetik algoritmanın önemli bir aşamasıdır. Genetik Algoritma uygulamasına başlamadan önce, verilerin uygun şekilde kodlanması gerekir. Geliştirilen modelin hızlı ve güvenilir çalışması için bu kodlamanın doğru yapılması gerekir. Kodlama Çeşitleri : İkili (binary) kodlama Permütasyon kodlama Değer kodlama Ağaç kodlama 86

87 1. Parametre Kodlama Kromozomların kodlanması a) İkili kodlama Bu yöntem ilk GA uygulamalarında kullanıldığı için hala en çok kullanılan yöntemlerdir. Her kromozom, 0 ve 1 lerden oluşan bit dizisidir ve ikili diziyle ifade edilir. Bu dizideki her bit, çözümün bir özelliğini taşır. Dizinin tümü ise bir sayıya karşılık gelir. Basit, kolay ve hızlı işlemler için uygundur. Kromozom A: Kromozom B:

88 1. Parametre Kodlama b) Permutasyon kodlama Sıralamaya veya düzenlemeye yönelik problemler için uygundur. Bu kodlama Gezgin Satıcı Problemi ve iş sıralama gibi problemlerin çözümü için kullanılır. Burada her kromozom bir numaralar dizisidir. Kromozom A: Kromozom B:

89 c) Değer Kodlama 1. Parametre Kodlama Karmaşık verilerin kullanıldığı problemlerde gerçekleştirilir. Değerler; gerçek sayılar, karakterler veya nesneler olabilir. Bu tip kodlamada probleme özgü yeni çaprazlama ve mutasyon yöntemleri geliştirmek gereklidir. Kromozom A: Kromozom B: ABCDE Kromozom C: (geri), (sağ), (ileri), (sol) 89

90 1. Parametre Kodlama d) Ağaç Kodlama İfadesel çözümler içeren problemlerde kullanılır, her kromozom bir nesnenin ağacıdır. Ağaç kodlama, program geliştirmek için uygundur. Örneğin Lisp ve Prolog gibi dillerde ağaç yapısı kullanılır. 90

91 2. Başlangıç Popülasyonu Oluşturma Başlangıçta belirli kriterlere göre veya rastgele kromozomlardan oluşan bir popülasyon oluşturulur. Başlangıç popülasyonundaki her bir kromozom, problemin olası bir çözümünü temsil eder. Popülasyon büyüklüğü, problemin yapısına göre belirlenmelidir. Popülasyondaki kromozomların sayısı düşük seçildiğinde iterasyonlar daha hızlı olur ancak algoritmanın yerel optimuma takılma şansı artar. Kromozom sayısının yüksek olması ise çözüm kalitesini arttırır ancak algoritmanın adımları daha uzun zaman alır. Popülasyondaki kromozom sayısı genellikle 100 ile 300 arasında seçilir. 91

92 2. Başlangıç Popülasyonu Oluşturma Popülasyon büyüklüğü genetik algoritmanın tüm performansını ve verimliliğini etkiler. Genetik algoritmalar genellikle az sayılı popülasyonlarla çalıştıklarında iyi sonuçlar vermemektedirler. Çünkü popülasyon yeterli örnek büyüklüğünü içermemektedir. Eğer kromozom sayısı az olursa GA, çözüm aranan uzayın ancak bir kısmını gezebilmekte ve çaprazlama için fazla bir seçenek bulamamaktadır. 92

93 2. Başlangıç Popülasyonu Oluşturma Büyük popülasyonların çok sayıdaki hiperalanlardan temsiller içerme ihtimali daha fazladır. Diğer yandan büyük popülasyonlar her nesil için daha fazla değerlendirme yapmayı gerektirmektedir. Bu durum, GA nın uzun bir sürede sonuca ulaşmasına neden olabilir. Yapılan araştırmalar, belli bir noktadan sonra popülasyon sayısını artırmanın bir yararı olmadığını da göstermektedir. Popülasyondaki kromozom (birey) sayısı genelde sabit tutulur. Ancak popülasyondaki birey sayısının sabit tutulması gerektiğiyle ilgili genel bir kural da yoktur.

94 3. Uygunluk (Fitness) Fonksiyonu Bir popülasyon oluşturulduktan sonra, popülasyondaki her kromozomun uygunluk (fitness) değeri hesaplanır. Farklı kromozomların karşılaştırılması ve iyi olanların seçimi için gereklidir. f(x1) > f(x2) ise X1, X2 den daha iyidir. 94

95 Örnek: Gezgin Satıcı Problemi Gezi için birçok yol seçeneği vardır: Uygunluk fonksiyonu: f(x) = min(uzunluk) f(x1) < f(x2) olduğu için X1, X2 den daha iyi bir çözümdür. Bu nedenle X1 seçilir. 95

96 4. Kromozom Seçimi Popülasyondaki bütün kromozomların uygunluk değerleri hesaplandıktan sonra, bunlardan bazıları yeni nesiller üretmek için seçilirler. Amaç; seçilen uygunluk fonksiyonuna ve seçim yöntemine göre elimizdeki popülasyondan yeni bir neslin kromozomlarını (bireylerini) seçmektir. Uygunluğu yüksek olan kromozomun, yeni nesle aktarılma ihtimali daha yüksektir. 96

97 4. Kromozom Seçimi Kromozom seçim işlemi için bazı yöntemler: Rulet tekeri yöntemi Sıralı seçim yöntemi Sabit durum yöntemi Turnuva yöntemi Genelde, popülasyonun büyüklüğünün değişmesine (artmasına) izin verilmez.

98 4. Kromozom Seçimi 1. Rulet tekeri seçimi Bu yöntemde seçilme işlemi kromozomların (bireylerin) uygunluk değerine göre yapılmaktadır. Fakat uygunluk değeri en büyük olanın seçileceği garanti edilmez, yalnız seçilme şansı daha fazla olacaktır. Bu yöntemde bütün uygunluk değerleri bir tabloya yazılır ve toplanır. Uygunluk değeri toplama bölünerek bireylerin [0,1] aralığında seçilme olasılıkları belirlenir. Rulet tekerleği seçiminde kromozomların uygunluk değerlerinin pozitif olması gerekir. 98

99 4. Kromozom Seçimi 1. Rulet tekeri seçimi Popülasyondaki tüm kromozomların yerleştirildiği bir rulet tekeri düşünülür. Rulet tekeri üzerindeki kromozomun yerinin boyutu kromozomun uygunluğuyla orantılıdır. Daha uygun olan kromozom daha geniş bir kısma sahip olur. 99

100 Örnek: Rulet tekeri seçimi Uygunluk fonksiyonu: f(x)=x² Kromozom 1: 1101, x = 13, x² = 169 Kromozom 2: 0100, x = 4, x² = 16 Kromozom 3: 1011, x = 11, x² = 121 Kromozom 4: 1000, x = 8, x² = 64 Toplam = = 370 Kromozom 1: 169/370 =0,456 (%46) Kromozom 2: 16/370 =0,0432 (%4) Kromozom 3: 121/370 =0,327 (%33) Kromozom 4: 64/370 =0,172 (%17) Rulet 1 defa çevrildiğinde gelme ihtimalleri 100

101 4. Kromozom Seçimi 1. Rulet tekeri seçimi Eğer uygunluk değerleri arasında büyük farklar varsa problemler ortaya çıkacaktır. Örneğin, eğer en iyi kromozomun uygunluğu diğer tüm kromozomların toplamının %90 ı ise diğer kromozomların seçilme şansı çok azalacaktır. Bunu önlemek için sıralı seçim kullanılabilir. 101

102 4. Kromozom Seçimi 2. Sıralı seçim Sıralı seçimde en kötü uyumlulukta olan kromozoma 1 değeri, sonrakine 2 değeri,, sonuncu olan en iyisi ise N uygunlukta olacaktır. Böylelikle bütün kromozomlara seçilme şansı verilir. Fakat bu yöntemde en iyi kromozomlar, diğerlerinden daha farklı olmadığından çözüme yaklaşma daha yavaş olacaktır. 102

103 4. Kromozom Seçimi 3. Sabit durum seçimi Her yeni nesilde yüksek uygunluk değerine sahip kromozomlar yeni çocukları oluşturmak için seçilir. Her nesilde yeni bir kromozom (çocuk) oluşturmak için birkaç kromozom seçilir (uygunluk değeri iyi olanlar). Düşük uygunluk değerine sahip kromozomlar kaldırılarak yerlerine bu yeni oluşturulan çocuk kromozomlar konur. Geri kalan kromozomlar değiştirilmeden yeni nesile aktarılır. 103

104 5. Çaprazlama ve Mutasyon Çaprazlama işlemi: Anne ve babadaki (ebeveyn) bazı genlerin yer değiştirmesi ile yeni çocukların oluşturulma işlemidir. İkili kodlanmış kromozomlarda 4 çeşit çaprazlama gerçekleştirilir. A) Tek noktalı gen takası Parents (anne-baba) Kromozom-1 : Parents (anne-baba) Kromozom-2 : Offspring (çocuk) Kromozom-1 : Offspring (çocuk) Kromozom-2 :

105 Çaprazlama Çaprazlama işlemi: B) Çift noktalı gen takası Parents (anne-baba) Kromozom-1 : Parents (anne-baba) Kromozom-2 : Offspring (çocuk) Kromozom-1 : Offspring (çocuk) Kromozom-2 :

106 Çaprazlama Çaprazlama işlemi: C) Tek biçimli (uniform) gen takası : Bitler rastgele biçimde iki ebeveynden yeni kromozoma kopyalanır. Parents (anne-baba) Kromozom-1 : Parents (anne-baba) Kromozom-2 : Offspring (çocuk) Kromozom-1 : Offspring (çocuk) Kromozom-2 : D) Aritmetik takas = VE (AND)işlemi 106

107 Mutasyon Mutasyon işlemi : Sürekli yeni nesil üretimi sonucunda, belli bir süre sonra nesildeki kromozomlar tekrar edebilir ve farklı kromozom üretimi azalabilir. Nesildeki kromozom çeşitliliğini artırmak bazılarına mutasyon işlemi uygulanır. için kromozomlardan İkili kodlama için, Rastgele seçilen bir genin değiştirilmesi: Örneğin, bit değerini diğer bit değerine dönüştürme (0 veya 1). Çocuk-1(orijinal) : Çocuk-1(yeni) :

108 Mutasyon Permütasyon kodlama için, Çaprazlama: bir çaprazlama noktası seçilir. Bu noktaya kadar olan ifade birinci ebeveynden kalan ise diğer ebeveynden kopyalanarak yeni kromozom oluşturulur. Kromozom-1 : Kromozom-2 : Çocuk-1 : Çocuk-2 : Mutasyon: İki tane rasgele gen seçilir ve bunların yeri değiştirilir. Çocuk-1 (orijinal) : Çocuk-1 (yeni) :

109 Mutasyon Değer Kodlama için, Çaprazlama: ikili kromozomlarda yapılabilen tüm takas türleri burada da yapılır. Mutasyon: seçilen değerlerden küçük bir sayı çıkarılarak veya eklenerek yeni kromozom oluşturulur. Çocuk-1(orijinal) ( ) Çocuk-1 (yeni) ( ) 109

110 Mutasyon Ağaç kodlama için, Çaprazlama: Her iki ebeveynde birer takas noktası seçilerek parçalanır. Bu noktaların altındaki kısımlar aralarında değiştirilip yeni bireyler oluşturulur. Mutasyon: Seçilen düğümlerdeki numaralar veya işlemler değiştirilir. 110

111 5. Çaprazlama Ve Mutasyon Çaprazlama ve mutasyon işlemlerinden sonra, yeni nesil kromozomlar, anne ve babalarından (ebeveynlerinden) daha iyi olabilirler. 111

112 6. Sonlandırma Sonlandırma, genetik algoritmanın araştırmaya devam mı edecek veya araştırmayı durduracak mı kararını verebilmesi için kullanılan bir işlemdir. Her nesil oluşumundan sonra genetik algoritma belirlenen sonlandırma kriterini kontrol ederek araştırmaya devam eder veya araştırmayı durdurur. Sonlandırma ile ilgili farklı yöntemler bulunmaktadır. 112

113 6. Sonlandırma 1. Nesil sayısı: Evrim süreci problem çözücü tarafından belirlenen maksimum nesil sayısına ulaştığında algoritma araştırma işlemini sonlandırır. 2. Evrim Süresi: Algoritmanın araştırma süresi problem çözücü tarafından belirlenen maksimum süreyi aştığında işlem sonlanır. 113

114 6. Sonlandırma 3. Uygunluk Eşiği: Minimizasyon problemlerinde mevcut popülasyondaki en uygun değeri taşıyan bireyin uygunluk değeri problem çözücü tarafından belirlenen uygunluk eşiğinden az ise, maksimizasyon problemlerinde mevcut popülasyondaki en uygun değeri taşıyan bireyin uygunluk değeri problem çözücü tarafından belirlenen uygunluk eşiğinden yüksek ise algoritma arama işlemini sonlandırır.

115 6. Sonlandırma 4. Popülasyon Yakınsaması: Evrim süreci popülasyon yakınsamaya başladığında sonlanır. 5. Gen Yakınsaması: Kromozomlardaki genlerin değeri problem çözücü tarafından belirlenen yüzde değeri kadar yakınsamaya başladığında evrim süreci sonlanır. 115

116 Genetik Algoritma Parametreleri 1.Çaprazlama olasılığı: Çaprazlamanın ne sıklıkla yapılacağını belirtir. Çaprazlama olasılığı %0 ile %100 arasındadır. 2. Mutasyon olasılığı: Kromozom parçalarının ne sıklıkla mutasyon geçireceğini belirtir. Mutasyon olasılığı %0 ile %100 arasındadır. 3. Popülasyon Büyüklüğü Popülasyondaki kromozom sayısını belirtir. 4. Uygunluk Fonksiyonu Bu fonksiyon ile kromozom içerisindeki kodlanmış yada kodlanmamış bilgiler çözümlenerek sayısal bir değer (çıktı) elde edilir. 116

117 Örnek-1 Elimizde 6 genden oluşan kromozomlar var: x i = abcdef Her gen 0 ile 9 arasında numaralandırılmıştır. 4 kromozomdan oluşan popülasyonumuz var: 117

118 Örnek-1 Uygunluk (fitness) fonksiyonu aşağıda verilmiştir: f (x) = (a + c + e) (b + d + f ) İstenenler: Kromozomları uygunluk fonksiyonuna göre sıralayınız. 3. ve 4. kromozomları tam orta noktalarından ayırarak çaprazlama yapınız. 1. ve 3. kromozomları 2. ve 4. bitlerinden ayırarak 2 noktalı çaprazlama yapınız. Yeni neslin uygunluk fonksiyonunu hesaplayınız. 118

119 Örnek-1 Uygunluk fonksiyonunu hesaplayalım: X 1 = X 2 = X 3 = X 4 = Uygunluk fonksiyonuna göre sıralama X 4, X 3, X 1 ve X 2 119

120 Örnek-1 3. ve 4. kromozomları tam orta noktalarından ayırarak çaprazlama: 1. ve 3. kromozomların 2. ve 4. bitlerinden ayırarak 2 noktalı çaprazlama: 120

121 Örnek-1 Yeni neslin uygunluk fonksiyonunun hesaplanması: 121

122 Örnek-2 : Fonksiyon Maksimizasyonu Problem : x [0, 31] olmak üzere f(x)=x² fonksiyonunu verilen aralıkta maksimize edecek x değerinin bulunması istenmektedir. x=31 olduğunda fonksiyonun maksimum olacağı matematiksel olarak zaten bilinmektedir. Fakat bu çözümü genetik algoritmaya bulduralım. Adım 1 (Parametre Kodlama) : x in 0 ve 1'lerden oluşan 2 tabanındaki gösterimi yapılmalıdır. (İkili Kodlama) 0 : : olacaktır. 122

123 Örnek-2 : Fonksiyon Maksimizasyonu Adım 2 (Başlangıç Popülasyonu) : Popülasyonun kromozom sayısı n=4 olarak seçilmiştir. Popülasyonu oluşturan dört kromozomun her biri 5 bit uzunluğundadır. 4 kromozom için toplam 20 kere yazı tura atmak suretiyle kromozom genleri belirlenmiştir. Kromozom 1: 01101, x 1 = 13, f(x 1 )=x 1 ² = 169 Kromozom 2: 11000, x 2 = 24, f(x 2 )=x 2 ² = 576 Kromozom 3: 01000, x 3 = 8, f(x 3 )=x 3 ² = 64 Kromozom 4: 10011, x 4 = 19, f(x 4 )=x 4 ² =

124 Örnek-2 : Fonksiyon Maksimizasyonu Adım 3 (Seçim (Üreme)): Belirlenen kromozomlar için f(x)=x² ile uygunluk değerleri hesaplanır. Dört kromozomun toplam uygunluk değerleri; f(x toplam ) = = 1170 Rulet tekeri seçimi : Her bir kromozomun rulet tekerleğinde kaplayacağı alan; Kromozom 1: 169 / 1170 = 0.14 : %14 Kromozom 2: 576 / 1170 = 0.49 : %49 Kromozom 3: 64 / 1170 = 0.06 : %6 Kromozom 4: 361 / 1170 = 0.31 : %31 Bu değerler, rulet tekerleğinin her çevrilişinde hangi olasılıkla hangi kromozomun (bireyin) seçileceğini belirtir. 124

125 Örnek-2 : Fonksiyon Maksimizasyonu Adım 3 (Seçim (Üreme)): Popülasyondaki kromozom sayısının sabit kaldığı varsayıldığından, rulet tekerleği 4 defa çevrilerek seçim (üreme) havuzu oluşturulur. Kromozom 1 : 1 defa Kromozom 2 : 2 defa Kromozom 3 : 0 defa Kromozom 4 : 1 defa Elde edilen seçim (üreme) havuzu şu şekildedir; Aday 1 : (Kromozom 1) Aday 2 : (Kromozom 2) Aday 3 : (Kromozom 2) Aday 4 : (Kromozom 4) 125

126 Örnek-2 : Fonksiyon Maksimizasyonu Adım 4 (Çaprazlama) : Seçim (üreme) havuzu belirlendikten sonra iki aşamalı Çaprazlama uygulanır. İlk aşamada adaylar üreme için rastgele seçilirler. Rastgele seçim sonucunda (Aday 1, Aday 2) ve (Aday 3, Aday 4) ikili grupları oluşturulur. İkinci aşamada her ikili grup için birer kere zar atılarak çaprazlamanın oluşacağı nokta belirlenir. Zar atılarak (Aday 1, Aday 2) için k=4 ve (Aday 3, Aday 4) içinde k=2 olarak belirlenmiştir. Üreme grubu 1: (k=4) Aday 1 : 0110/1 oluşan Kromozom 1 : Aday 2 : 1100/0 oluşan Kromozom 2 : Üreme grubu 2 : (k=2) Aday 3 : 11/000 oluşan Kromozom 3 : Aday 4 : 10/011 oluşan Kromozom 4 :

127 Örnek-2 : Fonksiyon Maksimizasyonu Adım 5 (Mutasyon) : Son aşama olan Mutasyon işlemi bitler düzeyinde uygulanır. Kromozom 3 ün 2 numaralı bitinde mutasyon işlemi yapılmaktadır. Oluşan Kromozom 3 : Mutasyon sonucu oluşan Kromozom 3 : Bu adımın tamamlanmasıyla bir sonraki nesli oluşturacak popülasyonun kromozomları belirlenmiş olur. 127

128 Örnek-2 : Fonksiyon Maksimizasyonu Yeni popülasyon şu şekildedir; Kromozom 1 : 01100, x 1 =12, f(x 1 )= x 1 ² =144 Kromozom 2 : 11001, x 2 =25, f(x 2 )= x 2 ² =625 Kromozom 3 : 10011, x 3 =19, f(x 3 )= x 3 ² =361 Kromozom 4 : 10000, x 4 =16, f(x 4 )= x 4 ² =256 Bu örnekte tek bir iterasyon yapılmış ve başlangıç popülasyonundan bir sonraki nesil oluşturulmuştur ancak genetik algoritmanın çalışmasının tam olarak gözlenebilmesi için çok sayıda iterasyon gereklidir.

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR Sınıflandırma Yöntemleri: Karar Ağaçları (Decision Trees) Örnek Tabanlı Yöntemler (Instance Based Methods): k en yakın komşu (k nearest

Detaylı

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Genetik algoritmalar, Darwin in doğal seçim ve evrim teorisi ilkelerine dayanan bir arama ve optimizasyon yöntemidir.

Detaylı

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA GENETİK ALGORİTMA ÖZNUR CENGİZ 201410306014 HİLAL KOCA 150306024 GENETİK ALGORİTMA Genetik Algoritma yaklaşımının ortaya çıkışı 1970 lerin başında olmuştur. 1975 te John Holland ın makine öğrenmesi üzerine

Detaylı

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar METASEZGİSEL YÖNTEMLER Genetik Algoritmalar 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik Genetik Algoritma Algoritma Uygulamaları üzerine klasik eser

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Fonksiyon Optimizasyonunda Genetik Algoritmalar 01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Genetik Algoritma (Genetic Algorithm) Doç.Dr. M. Ali Akcayol Genetik Algoritma 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik

Detaylı

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR GENETİK ALGORİTMALAR BÜŞRA GÜRACAR 201420404036 İÇERİK Genetik Algoritmanın, Amacı Kullanım Alanları Kavramları Uygulama Adımları Parametreler Genetik Algoritma Kodlama Türleri Genetik Algoritma Genetik

Detaylı

Zeki Optimizasyon Teknikleri. Karınca Algoritması (Ant Algorithm)

Zeki Optimizasyon Teknikleri. Karınca Algoritması (Ant Algorithm) Zeki Optimizasyon Teknikleri Karınca Algoritması (Ant Algorithm) Karınca Algoritması 1996 yılında Marco Dorigo tarafından ortaya atılmıştır. Temel olarak karıncaların yiyecek madde ile yuvaları arasındaki

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Tabu Arama (Tabu Search) Doç.Dr. M. Ali Akcayol Tabu Arama 1986 yılında Glover tarafından geliştirilmiştir. Lokal minimum u elimine edebilir ve global minimum u bulur. Değerlendirme

Detaylı

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta: Genetik Algoritmalar Bölüm 1 Optimizasyon Yrd. Doç. Dr. Adem Tuncer E-posta: adem.tuncer@yalova.edu.tr Optimizasyon? Optimizasyon Nedir? Eldeki kısıtlı kaynakları en iyi biçimde kullanmak olarak tanımlanabilir.

Detaylı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım Mehmet Ali Aytekin Tahir Emre Kalaycı Gündem Gezgin Satıcı Problemi GSP'yi Çözen Algoritmalar Genetik Algoritmalar

Detaylı

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi 07-04-006 Ümit Akıncı Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi İçindekiler Fonksiyon Minimizasyonu Metropolis Algoritması. Algoritma.......................................... Bir boyutlu

Detaylı

METASEZGİSEL YÖNTEMLER

METASEZGİSEL YÖNTEMLER METASEZGİSEL YÖNTEMLER Ara sınav - 30% Ödev (Haftalık) - 20% Final (Proje Sunumu) - 50% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn: Zaman çizelgeleme, en kısa yol bulunması,

Detaylı

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA İLERİ ALGORİTMA ANALİZİ 1. Giriş GENETİK ALGORİTMA Geniş çözüm uzaylarının klasik yöntemlerle taranması hesaplama zamanını artırmaktadır. Genetik algoritma ile kabul edilebilir doğrulukta kısa sürede bir

Detaylı

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri Onur KARASOY 1, Serkan BALLI 2 1 Muğla Sıtkı Koçman Üniversitesi Bilgi İşlem Dairesi Başkanlığı 2 Muğla Sıtkı Koçman Üniversitesi Bilişim Sistemleri

Detaylı

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA i GENETİK ALGORİTMA YAKLAŞIMIYLA ATÖLYE ÇİZELGELEME Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ OCAK 2005 ANKARA ii Serdar BİROĞUL tarafından hazırlanan

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği

Detaylı

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon OPTİMİZASYON TEKNİKLERİ Kısıtsız Optimizasyon Giriş Klasik optimizasyon yöntemleri minimum veya maksimum değerlerini bulmak için türev gerektiren ve gerektirmeyen teknikler olarak bilinirler. Bu yöntemler

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (III)

GENETİK ALGORİTMALARA GİRİŞ (III) GENETİK ALGORİTMALARA GİRİŞ (III) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (V)

GENETİK ALGORİTMALARA GİRİŞ (V) GENETİK ALGORİTMALARA GİRİŞ (V) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620

Detaylı

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Kümeleme İşlemleri Kümeleme Tanımı Kümeleme Uygulamaları Kümeleme Yöntemleri Kümeleme (Clustering) Kümeleme birbirine

Detaylı

BÖLÜM 3: TEK-ÇÖZÜM TABANLI METASEZGİSELLER. Bölüm Hedefi

BÖLÜM 3: TEK-ÇÖZÜM TABANLI METASEZGİSELLER. Bölüm Hedefi BÖLÜM 3: TEK-ÇÖZÜM TABANLI METASEZGİSELLER Bölüm Hedefi Tek-çözüm tabanlı metasezgiseller (S-metasezgiseller) optimizasyon problemlerini çözerlerken belirli bir anda sadece bir çözümü değerlendirirler

Detaylı

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü Karınca Koloni Algoritması Bilim adamları, böcek davranışlarını inceleyerek

Detaylı

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN 1995 yılında Dr.Eberhart ve Dr.Kennedy tarafından geliştirilmiş popülasyon temelli sezgisel bir optimizasyon tekniğidir.

Detaylı

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok 8.0.0 Şebeke Kavramları BÖLÜM III: Şebeke Modelleri Şebeke (Network) Sonlu sayıdaki düğümler kümesiyle, bunlarla bağlantılı oklar (veya dallar) kümesinin oluşturduğu yapı şeklinde tanımlanabilir ve (N,A)

Detaylı

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi OPTİMİZASYON Gerçek hayatta, çok değişkenli optimizasyon problemleri karmaşıktır ve nadir olarak problem tek değişkenli olur. Bununla birlikte, tek değişkenli optimizasyon algoritmaları çok değişkenli

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Sınıflandırma yöntemleri Karar ağaçları ile sınıflandırma Entropi Kavramı ID3 Algoritması C4.5

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği

Detaylı

Veri Yapıları ve Algoritmalar

Veri Yapıları ve Algoritmalar 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde

Detaylı

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-5 Bilgili Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Arama Grafları Eğer arama uzayı ağaç yapısından değil de graf

Detaylı

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) Genetik Algoritma

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) Genetik Algoritma 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 3 Genetik Algoritma Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web:

Detaylı

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI ÖZEL EGE LĠSESĠ GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI HAZIRLAYAN ÖĞRENCĠLER: Berkin ĠNAN Doğa YÜKSEL DANIġMAN ÖĞRETMEN: Aslı ÇAKIR ĠZMĠR 2014 ĠÇĠNDEKĠLER 1. PROJENĠN AMACI. 3

Detaylı

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH)

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH) İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH) Tabu Arama Algoritması, optimizasyon problemlerinin çözümü için F.Glover tarafından geliştirilmiş iteratif bir araştırma algoritmasıdır. Temel

Detaylı

Başlangıç Temel Programının Bilinmemesi Durumu

Başlangıç Temel Programının Bilinmemesi Durumu aşlangıç Temel Programının ilinmemesi Durumu İlgili kısıtlarda şartlar ( ) ise bunlara gevşek (slack) değişkenler eklenerek eşitliklere dönüştürülmektedir. Ancak sınırlayıcı şartlar ( ) veya ( = ) olduğu

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

SAYISAL ÇÖZÜMLEME. Sayısal Çözümleme

SAYISAL ÇÖZÜMLEME. Sayısal Çözümleme SAYISAL ÇÖZÜMLEME 1 SAYISAL ÇÖZÜMLEME 4. Hafta DENKLEM ÇÖZÜMLERİ 2 İÇİNDEKİLER Denklem Çözümleri Doğrusal Olmayan Denklem Çözümleri Grafik Yöntemleri Kapalı Yöntemler İkiye Bölme (Bisection) Yöntemi Adım

Detaylı

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü Dr. Özgür Kabak Doğrusal olmayan programlama Tek değişkenli DOP ların çözümü Uç noktaların analizi Altın kesit Araması Çok değişkenli DOP ların

Detaylı

Kısıtsız Optimizasyon OPTİMİZASYON Kısıtsız Optimizasyon

Kısıtsız Optimizasyon OPTİMİZASYON Kısıtsız Optimizasyon OPTİMİZASYON Bu bölümde çok değişkenli kısıtsız optimizasyon problemlerinin çözüm yöntemleri incelenecektir. Bu bölümde anlatılacak yöntemler, kısıtlı optimizasyon problemlerini de çözebilmektedir. Bunun

Detaylı

KOMBİNATORYAL OPTİMİZASYON

KOMBİNATORYAL OPTİMİZASYON KOMBİNATORYAL OPTİMİZASYON İnsanların, daha iyi nasıl olabilir ya da nasıl elde edilebilir?, sorusuna cevap aramaları, teknolojinin gelişmesini sağlayan en önemli etken olmuştur. Gerçek hayatı daha kolay

Detaylı

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. SEQUENCE ALGORİTMASI Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. Bir dizi yapısı içinde, bir eylem ya da bir olay, geçmiş

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR Aç Gözlü (Hırslı) Algoritmalar (Greedy ) Bozuk para verme problemi Bir kasiyer 48 kuruş para üstünü nasıl verir? 25 kuruş, 10 kuruş,

Detaylı

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Çizge Algoritmaları Bahar 201 Doç. Dr. Suat Özdemir 1 En Kısa Yol Problemi Çizgelerdeki bir diğer önemli problem de bir düğümden diğer bir düğüme olan en kısa yolun bulunmasıdır. Bu problem

Detaylı

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-3 Durum Uzayında Arama Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dersin Hedefleri Durum uzayı temsilini öğrenmek ve durum uzayında

Detaylı

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-4 Bilgisiz Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dersin Hedefleri Aşağıda verilen arama stratejilerini anlamak

Detaylı

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem 3.2. DP Modellerinin Simpleks Yöntem ile Çözümü 3.2.1. Primal Simpleks Yöntem Grafik çözüm yönteminde gördüğümüz gibi optimal çözüm noktası, her zaman uygun çözüm alanının bir köşe noktası ya da uç noktası

Detaylı

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ YZM 327 - YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ Bilgisiz Arama Stratejisi Sadece problem formülasyonundaki mevcut bilgiyi kullanır Durum bilgisinden yararlanmazlar Çözüme ulaşmak için hiçbir bilgi

Detaylı

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar Arama Problemi ve Analizi Bahar 2016 Doç. Dr. Suat Özdemir 1 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde

Detaylı

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden Genetik Algoritmalar Nesin Matematik Köyü Evrim Çalıştayı 20-23 Nisan, 202 Genetik Algoritmalar (GA Đçerik Biyolojiden esinlenme GA nın özellikleri GA nın unsurları uygulama Algoritma Şema teoremi Mustafa

Detaylı

Altın Oran Arama Metodu(Golden Search)

Altın Oran Arama Metodu(Golden Search) Altın Oran Arama Metodu(Golden Search) Bir f(x) (tek değişkenli) fonksiyonunu ele alalım. [Bazı x ler için f (x) bulunamayabilir.] Aşağıdaki DOP modelini çözmek istediğimizi var sayalım. Max f(x) a x b

Detaylı

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA YZM 3217- YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA Oyun Oynama Çoklu vekil ortamı-her bir vekil karar verirken diğer vekillerin de hareketlerini dikkate almalı ve bu vekillerin onun durumunu nasıl etkileyeceğini

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III YÖNEYLEM ARAŞTIRMASI - III Prof. Dr. Cemalettin KUBAT Yrd. Doç. Dr. Özer UYGUN İçerik Altın Oran (Golden Section Search) Arama Metodu Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f

Detaylı

Genel Graf Üzerinde Mutlak 1-merkez

Genel Graf Üzerinde Mutlak 1-merkez Genel Graf Üzerinde Mutlak 1-merkez Çözüm yöntemine geçmeden önce bazı tanımlara ihtiyaç vardır. Dikkate alınan G grafındaki düğümleri 1 den n e kadar numaralandırın. Uzunluğu a(i, j)>0 olarak verilen

Detaylı

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f (x) bulunamayabilir.] Aşağıdaki DOP modelini çözmek istediğimizi var sayalım. Max f(x)

Detaylı

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak EM302 Yöneylem Araştırması 2 Dr. Özgür Kabak TP Çözümü TP problemlerinin çözümü için başlıca iki yaklaşım vardır kesme düzlemleri (cutting planes) dal sınır (branch and bound) tüm yaklaşımlar tekrarlı

Detaylı

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması Özay CAN, Nedim TUTKUN Düzce Üniversitesi Elektrik/Elektronik Mühendisliği Kapsam Giriş Hibrit Sistem ve Güç

Detaylı

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Sıralama Problemi ve Analizi Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Problemi ve Analizi Bu bölümde öncelikle bir diğer böl-ve-yönet yöntemine dayalı algoritma olan Quick Sort algoritması

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms)

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 2017-2018 Güz Yarıyılı EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 4 Genetik Algoritma Örnek Uygulamalar (Sırt Çantası Problemi, Sınav Programı Çizelgeleme) Yrd. Doç. Dr. İbrahim

Detaylı

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST) 1 10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST) Kapsayan ağaç Spanning Tree (ST) Bir Kapsayan Ağaç (ST); G, grafındaki bir alt graftır ve aşağıdaki özelliklere sahiptir. G grafındaki tüm

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ Azalt ve Fethet Algoritmaları Problemi daha küçük bir örneğine çevir: Küçük örneği çöz Çözümü asıl probleme genişlet 3 tipi vardır:

Detaylı

Karınca Koloni Algoritması 2

Karınca Koloni Algoritması 2 Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Karınca Koloni Algoritması 2 7 TSP ve ACO Algoritması Gezgin satıcı problemi (travelling salesman problem-tsp) yöneylem araştırması ve teorik

Detaylı

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş Dr. Özgür Kabak Doğrusal Olmayan Programlama Eğer bir Matematiksel Programlama modelinin amaç fonksiyonu ve/veya kısıtları doğrusal değil

Detaylı

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D. Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ Ders 1- Yapay Zekâya Giriş Erhan AKDOĞAN, Ph.D. Yapay Zekâ nedir?! İnsanın düşünme ve karar verme yeteneğini bilgisayarlar aracılığı ile taklit etmeye

Detaylı

VERİ YAPILARI VE PROGRAMLAMA

VERİ YAPILARI VE PROGRAMLAMA VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri (nt lgorithm) Doç.Dr. M. li kcayol 996 yılında Marco Dorigo tarafından ortaya atılmıştır. Temel olarak karıncaların yiyecek madde ile yuvaları arasındaki en kısa yolu bulmalarından

Detaylı

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli Graf, matematiksel anlamda, düğümler ve bu düğümler arasındaki ilişkiyi gösteren kenarlardan oluşan bir kümedir; mantıksal ilişki düğüm ile düğüm

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan

Detaylı

T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ

T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ Cevriye ALTINTAŞ Danışman: Doç. Dr. Tuncay YİĞİT YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 SIRALAMA ALGORİTMALARI Sunu Planı Büyük O Notasyonu Kabarcık Sıralama (Bubble Sort) Hızlı Sıralama (Quick Sort) Seçimli Sıralama (Selection Sort) Eklemeli Sıralama (Insertion

Detaylı

İSTATİSTİK EXCEL UYGULAMA

İSTATİSTİK EXCEL UYGULAMA İSTATİSTİK EXCEL UYGULAMA EXCEL UYGULAMA Bu bölümde Excel ile ilgili temel bilgiler sunulacak ve daha sonra İstatistiksel Uygulamalar hakkında bilgi verilecektir. İşlenecek Konular: Merkezi eğilim Ölçüleri

Detaylı

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre):

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre): DP SİMPLEKS ÇÖZÜM Simpleks Yöntemi, amaç fonksiyonunu en büyük (maksimum) veya en küçük (minimum) yapacak en iyi çözüme adım adım yaklaşan bir algoritma (hesaplama yöntemi) dir. Bu nedenle, probleme bir

Detaylı

İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız.

İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız. ISLE 403 YÖNEYLEM ARAŞTIRMASI DERS 3 NOTLAR DP Modellerinin Standart Biçimde Gösterimi: İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız. Gepetto Marangozhanesi için DP modeli

Detaylı

2. Aşağıdaki pseudocode ile verilen satırlar işletilirse, cnt isimli değişkenin son değeri ne olur?

2. Aşağıdaki pseudocode ile verilen satırlar işletilirse, cnt isimli değişkenin son değeri ne olur? Numarası : Adı Soyadı : SINAV YÖNERGESİ İşaretlemelerinizde kurşun kalem kullanınız. Soru ve cevap kağıtlarına numaranızı ve isminizi mürekkepli kalem ile yazınız. Sınavın ilk 30 dakikasında sınıftan çıkılmayacaktır.

Detaylı

Self Organising Migrating Algorithm

Self Organising Migrating Algorithm OPTİMİZASYON TEKNİKLERİ Self Organising Migrating Algorithm Kendini Organize Eden Göç/Geçiş Algoritması MELİH HİLMİ ULUDAĞ Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği Bölümü İletişim: www.melihhilmiuludag.com

Detaylı

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN RASTGELE SAYILARIN ÜRETİLMESİ Rastgele değişimler yapay tablolardan veya parametreleri verilen teorik dağılım fonksiyonlarından elde edilir.

Detaylı

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir Kümeleme Analizi: Temel Kavramlar ve Algoritmalar Kümeleme Analizi Nedir? Her biri bir dizi öznitelik ile, veri noktalarının bir kümesi ve noktalar arasındaki benzerliği ölçen bir benzerlik ölçümü verilmiş

Detaylı

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ Engin Sansarcı İ.T.Ü. İşletme Fakültesi, İSTANBUL enginsansarci@gmail.com Abdullah Aktel İ.T.Ü. İşletmeFakültesi, İSTANBUL abdullahaktel@gmail.com

Detaylı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı Erol Şahin Bilgisayar Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi Ankara, Türkiye 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK,

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

MATEMATİK MÜHENDİSLİĞİ BÖLÜMÜ

MATEMATİK MÜHENDİSLİĞİ BÖLÜMÜ İSTANBUL TEKNİK ÜNİVERSİTESİ FEN EDEBİYAT FAKÜLTESİ MATEMATİK MÜHENDİSLİĞİ BÖLÜMÜ K-MEANS KÜMELEME ALGORİTMASININ GENETİK ALGORİTMA KULLANILARAK GELİŞTİRİLMESİ BİTİRME ÖDEVİ Yunus YÜNEL Tez Danışmanı:

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

Detaylı

2-D KESİM OPTİMİZASYONU

2-D KESİM OPTİMİZASYONU 2-D KESİM OPTİMİZASYONU Hazırlayan: Gürkan Bayır YTÜ Bilgisayar Mühendisliği Bölümü Proje Yürütücüsü: Yrd. Doç. Songül Albayrak İstanbul, 2007 GİRİŞ Paketleme ya da stok kesimi olarak bilinen problem yıllardır

Detaylı

TAMSAYILI PROGRAMLAMA

TAMSAYILI PROGRAMLAMA TAMSAYILI PROGRAMLAMA Doğrusal programlama problemlerinde sık sık çözümün tamsayı olması gereken durumlar ile karşılaşılır. Örneğin ele alınan problem masa, sandalye, otomobil vb. üretimlerinin optimum

Detaylı

Arama metodlarında temel işlem anahtarları karşılaştırmaktır.

Arama metodlarında temel işlem anahtarları karşılaştırmaktır. (Kırpma) Hash Fonksiyonları Selecting Digits Folding (shift folding, boundary folding) Division MidSquare Extraction Radix Transformation Çakışma (Collision) ve çözümler Linear Probing Double Quadratic

Detaylı

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI. 4. HAFTA BLM33 SAYISAL ANALİZ Okt. Yasin ORTAKCI yasinortakci@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM33 DOĞRUSAL OLMAYAN (NONLINEAR) DENKLEM SİSTEMLERİ Mühendisliğin

Detaylı

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI Genişletilmiş Lagrange Yöntemi Hazırlayan: Nicat GASIM Öğretim Üyesi Prof. Dr. İpek Deveci KARAKOÇ

Detaylı

DOĞAL GAZ & ENERJİ YÖNETİMİ BİLDİRİLER KİTABI

DOĞAL GAZ & ENERJİ YÖNETİMİ BİLDİRİLER KİTABI TMMOB MAKİNA MÜHENDİSLERİ ODASI İİ DOĞAL GAZ & ENERJİ YÖNETİMİ KONGRE ve SERGİSİ BİLDİRİLER KİTABI GAZİANTEP EYLÜL 2001 TMMOB MAKİNA MÜHENDİSLERİ ODASİ Sümer Sok. 36/1-A Uemirtepc /ANKARA Tel : 0(312)231

Detaylı

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna

Detaylı

VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr Genel İçerik Veri Madenciliğine Giriş Veri Madenciliğinin Adımları Veri Madenciliği Yöntemleri Sınıflandırma Kümeleme

Detaylı

CBS ve Coğrafi Hesaplama

CBS ve Coğrafi Hesaplama Yıldız Teknik Üniversitesi CBS ve Coğrafi Hesaplama 2. Bölüm Yrd. Doç. Dr. Alper ŞEN Harita Mühendisliği Bölümü Kartografya Anabilim Dalı web: http://www.yarbis.yildiz.edu.tr/alpersen/ E mail: alpersen@yildiz.edu.tr

Detaylı

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics 2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics Özet: Bulanık bir denetleyici tasarlanırken karşılaşılan en önemli sıkıntı, bulanık giriş çıkış üyelik fonksiyonlarının

Detaylı

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz 2014 Soru 1. (15 puan) 5,2,4,1,15,8,11,13,7,6 dizisinin elemanlarından maksimum özellikli bir yığın(heap) oluşturulmasını adım adım yazınız. Heapsort algoritmasının yardımıyla yapılacak sıralamayı anlatınız.

Detaylı

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data) Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data) M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, The Elements of Statistical Learning: Data

Detaylı

Temelleri. Doç.Dr.Ali Argun Karacabey

Temelleri. Doç.Dr.Ali Argun Karacabey Doğrusal Programlamanın Temelleri Doç.Dr.Ali Argun Karacabey Doğrusal Programlama Nedir? Bir Doğrusal Programlama Modeli doğrusal kısıtlar altında bir doğrusal ğ fonksiyonun değerini ğ maksimize yada minimize

Detaylı

Sezgisel-Bilgili Arama (Heuristic-Informed Search)

Sezgisel-Bilgili Arama (Heuristic-Informed Search) Sezgisel-Bilgili rama (Heuristic-Informed Search) 1 Sezgisel-Bilgili rama (Heuristic-Informed Search) Kör arama yöntemleri basittir, fakat çoğu zaman pratik değildir. Kör arama yöntemleri bilgisiz yöntemlerdir.

Detaylı

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Heap Sort Bahar 2017 Doç. Dr. Suat Özdemir 1 Heap Sort Heap Sort algoritması Merge Sort ve Insertion Sort algoritmalarının iyi özelliklerini bir arada toplar. Algoritma Insertion Sort gibi

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman

Detaylı