10.07.2015 Views

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir YaklaşımMehmet Ali Aytekin, Tahir Emre Kalaycımaliyetle, tüm düğümlere uğrayarak, bir tur(Hamilton döngüsü) elde etmeyi amaçlayan birproblemdir[2].Gezgin satıcı problemi (GSP) yapay zeka veeniyileme alanında en çok araştırılan ve çözümlerüretilen, algoritmalar geliştirilen birproblemdir. Teorik bilgisayar bilimleri ve işletimselaraştırmada («operational research»)kombinasyonel eniyileme problemidir. Çokfarklı eniyileme yöntemleri, yapay zeka teknikleribu probleme yönelik olarak geliştirilmiştir.Gezgin satıcı problemi alanında kullanılanönemli yöntemlerden biri de genetikalgoritmalardır (GA). Sezgisel bir yöntemolan genetik algoritmalar açısından GSP birkarşılaştırma ve değerlendirme ölçütü işlevide görmektedir. Ayrıca sadece GA'ların değil,diğer tüm yeni algoritmaların (karınca sistemi,evrimsel yöntemler, sinir ağları, tabu arama,benzetimli tavlama, açgözlü aramalar, vb.)karşılaştırılması, değerlendirilmesi ve ölçülmesiiçin de kullanılmaktadır [22,23]. Bu sezgiselyöntemler makul bir sürede iyi sonuçlarsağlamaktadırlar. Johnson vd. [24] yaptıklarıçalışmada yaklaşık sonuçlar üreten bazı yerelarama metotlarını da incelemişlerdir. GSP'yiçözmek için önerilen algoritmalar iki başlıkaltında toplanabilir[1]: Kesin Algoritmalar(“Exact algorithms”) ve Sezgisel Algoritmalar(“Heuristics algorithms”).Kesin Algoritmalar:Bu algoritmalar, genellikle,GSP’nin tamsayılı lineer programlamaformülünden türetilen yaklaşımlardır. Fakatbu algoritmalar hesaplanabilirlik açısındanpahalıdırlar[1]. Bu yaklaşıma örnek olarak“Branch & Bound” algoritmasını örnek olarakverilebilir. İlk akla gelen yöntem her olasılığındenendiği yöntemdir. Diğer yöntemler olaraklineer programlama yöntemleri, dinamik programlamayöntemleri sayılabilir [21] 1 .272Sezgisel Algoritmalar: Kesin algoritmalarınçalışması verimli olmayabilir. Bu durumda,ideal çözüme yakın bir çözümü, kesin algoritmalarıkullanmadan da bulabiliriz. Pratiktesezgisel algoritmalar, kesin algoritmalaratercih edilmektedir[1]. GSP’ yi çözen sezgiselalgoritmaları üçe ayırabiliriz: Tur oluşturansezgiseller, Turu geliştiren sezgiseller vebu iki yöntemin melez şekilde kullanıldığısezgiseller[1].• Tur oluşturan Sezgiseller: Tur oluşturanalgoritmaların ortak özelliği, bir sonuçbuldukları zaman, bu sonucu geliştirmekiçin uğraşmamalarıdır[3]. Bu noktada algoritmalarınçalışması sona erer. Bilinentur oluşturan sezgisel algoritmalar şunlardır:En yakın komşu, Greedy, Ekleme Sezgiselive Christofides algoritmalarıdır[3].Bu algoritmaların en optimum değeri%<strong>10</strong>-15 arasıdır[3].• Turu geliştiren Sezgiseller: Bu algoritmalarturu geliştirmeyi amaçlarlar. Bualgoritmalara örnek olarak 2-opt, 3-opt veLin-Kernighan gibi yerel eniyileme (“optimization”)algoritmalarını örnek verebileceğimizgibi, Tabu araması, Genetikalgoritmalar, Benzetim Tavlama ve KarıncaKolonisi Algoritması gibi Yapay Zekayöntemlerini de örnek olarak verebiliriz.• Melez Yöntemler: Hem tur oluşturmahem de tur geliştirme sezgisellerini birarada kullanan algoritmalardır. Bunlaraörnek olarak “Yinelemeli (“iterated”)Lin-Kernighan[<strong>10</strong>]”’ı örnek verebiliriz.En başarılı sonuçlar melez yöntemlerdenelde edilmektedir[1].GSP'yi çözmek üzere en sık kullanılan evrimselhesaplama yöntemi genetik algoritmalardır.Bir çok NP-tam problem için GA'nın oldukçabaşarılı meta-sezgisel bir yöntem olduğuispatlanmıştır [22].Bu çalışmada GSP için önerilen çözüm yöntemlerdenbiri olan Genetik Algoritmalar detaylıolarak ele alınacaktır. Daha sonra iseGSP’ yi çözmek için geliştirdiğimiz ve yeni biryöntem olan İkili Kodlu Genetik Algoritmalartanıtılacak ve diğer yöntemlerle karşılaştırılıp,yapılan deneysel çalışmalar ortaya konacaktır.2. Genetik AlgoritmalarGenetik Algoritmalar (GA), arama ve eniyilemeproblemlerini çözmekte kullanılan uyarlanabilirbir yöntemdir[5]. Doğada bireyler yiyecek,su ve barınak gibi kaynaklar için yarışhalindedirler. Aynı zamanda her birey soyunudevam ettirmek ister. İşte bu şartlarda, yarışıkazanan (güçlü ve çevreye en iyi uyumu gösterenbireyler) hem kaynaklara sahip olur hemde soyunu devam ettirme şansını elde eder. Yarışıkazanan bireylerin ürettiği yeni bireyler de,atalarından gelen özellikleri de alırlar [5].GA, yukarıda bahsettiğimiz “doğal seçilim veuyarlanım” prensibinden esinlenilerek ortayaatılmış bir yaklaşımdır. Bireyler, GA’da ilgiliproblemin çözümlerini temsil etmektedir. Bireylerin(yani kromozomların) ortama uyumsağlama ve hayatta kalma durumu (yani bireyin“uygunluk değeri”) ise, GA’da, ilgili çözümünproblemi çözebilme yeteneğini temsil etmektedir.GA mevcut birçok çözümden en uygunlarınıseçerek, bu çözümlerden yeni çözümler eldeetmeyi amaçlar (Şekil 1). Algoritmanın sonlanması(durma-koşulu) ise şu üç durumdan birinebağlı olarak gerçekleşir: belli bir döngü sayısınaulaşma, en iyi sonucun hiç değişmemesiveya neslin ortalama uygunluk değerinde herhangibir değişikliğin gözlemlenmemesidir[7].GA'nın en önemli avantajı paralel çalışmasıdır.Büyük problemler için bu önemli bir kazançtır.Çok geniş bir çözüm uzayını hızlı bir şekildearayabilir. Geniş bir problem aralığında kullanılabilirler.Başlangıçta problem hakkındabilgi olmadan da problemleri çözebilir. GA'nıngerçekten iyi çalışması için olası çözümleriniyi temsil edilmesi, uygunluk fonksiyonunun,işleçlerin ve parametrelerin iyi belirlenmesibaşarım için şarttır. GA'da yerel en iyi değeryakınsamanın bile garantisi yoktur. GA'daoluştuğu bilinen en önemli problem erken yakınsamadır.Bunun anlamı diğer bireylerdençok daha iyi olan bir birey tüm çözüm aramasürecini etkisi altına alarak, gerçek çözüme(global optima) yaklaşılmasını engelleyebilir,<strong>Akademik</strong> Bilişim’<strong>10</strong> - XII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri<strong>10</strong> - <strong>12</strong> Şubat 20<strong>10</strong> Muğla Üniversitesi273yerel en iyi değerde (local optima) takılıp kalınmasınaneden olur [17,18, 19]. GA'nın dezavantajlarınıaşmak için yerel arama yöntemlerive diğer eniyileme yöntemleriyle melez yöntemlergeliştirilmektedir.GA'nın basit algoritması Şekil 1'de görülebilir.GA gerçekleştirimleri bu basit taslağın benzerlerini,değiştirilmiş sürümlerini kullanırlar.Şekil 1 - Genetik Algoritma Sözdekodu [8]Genetik Algoritmaları uygulama aşamasındaaşağıdaki adımlara karar verilmesi son dereceönemlidir[5,7,9]:• Kodlama• Çözümleri Değerlendirme (UygunlukFonksiyonu)• Birey Üretimi (Çaprazlama ve Mutasyon,Seçilim ve üretilen bireylerin popülâsyonaeklenmesi)2.1. KodlamaÇözümdeki parametrelerin (“gen”lerin) nasıltemsil edileceğidir. Bu parametreler, yani genlerikili temsil, tamsayılar, kayan noktalı sayılar,ağaç veri yapısı, dizi vs. olarak temsil edilebilmektedir.Bu temsil işlemi probleme bağlıolan bir işlemdir.2.2. Çözümleri DeğerlendirmeGA’daki her çözümün yani kromozomun, problemine derecede çözebildiğini hesaplamamızısağlayan fonksiyona “uygunluk fonksiyonu”denir. Uygunluk fonksiyonu problem bağımlıbir fonksiyondur ve GA’nın en önemli kavramlarındanbiridir.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!