Evrimsel algoritmalar için uygulama ve geliştirme yazılım altyapısı
Application and development framework for evalutionary algorithms
- Tez No: 152146
- Danışmanlar: PROF.DR. EMRE HARMANCI
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2004
- Dil: Türkçe
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 85
Özet
EVRİMSEL ALGORİTMALAR İÇİN UYGULAMA VE GELİŞTİRME YAZILIM ALTYAPISI ÖZET Bilgisayar bilimi ve matematik için temel başlıklardan biri otomatik problem çözücülerin tasarımıdır. İnsanoğlu doğa ve doğal çözümlerden daima esinlenmiştir. En etkili doğal problem çözücüler insan beyni ve evrim işlemidir. Evrim işlemini esas alarak problem çözücüler tasarlama çalışmaları bizi evrimsel hesaplamaya yöneltir. Bu tez PyLEA ( Python Library for Evolutionary Algorithms ) olarak adlandırılmış olan bir evrimsel hesaplama iskelet yapışım tanıtmaktadır. PyLEA, yüksek seviyeli, yorumlanan ve nesneye dayalı bir programlama dili olan Python kullanılarak kodlanmıştır. PyLEA'nm Python ile tasarlanması platformdan bağımsız ve esnek bir yapı oluşturuiabilmesini sağlamıştır. Aynı zamanda Python tasarım sürecini kısaltmış ve tasarımın kolay bir biçimde gerçeklenebilmesini sağlamıştır. PyLEA paketinde evrimsel algoritmaya ilişkin istatistiksel verilerin hesaplanıp kaydedilebilmesini sağlayan Log adında bir alt paket bulunmaktadır. Diğer bir alt paket olan Graphics paketi ise bu kaydedilen verileri kullanarak verilerin çubuk grafikleri veya çizgisel grafikler üzerinde incelenebilmesini sağlar. Grafiklerin Adobe PDF dosyaları içerisinde çizilmesinde Reportîab kütüphanesi kullanılmıştır. Reportlab kütüphanesinin seçilmesinin sebebi kütüphane kullanılarak raporların hızlı bir şekilde oluşturulabilmesi ve verimli grafik özelliklerine sahip olmasıdır. Bunların yanısıra PyLEA paketi için bir arayüz tasarlanmıştır. Arayüzün tasarımında Tk kütüphanesi kullanılmış olması arayüzün kullanımı kolay ve platformdan bağımsız olmasını sağlamıştır. PyLEA evrimsel algoritmalar için uygulama ve geliştirme yazılım altyapısıdır. PyLEA içerisinde evrimsel operatörler ve operatörlere ait metotlar tanımlanmıştır. Ayrıca PyLEA paketinde bazı örnek problemler de tanımlanmıştır. Bir toplum ve bireylere sahip olunduğunda pakette tanımlanmış operatörler ile birlikte kullanıcı tarafından tanımlanmış operatörler istenilen sırada toplumdaki bireyler üzerinde uygulanabilmektedir. Böylece pakette tanımlanmış olan örnek problemler için ya da kullanıcı tarafından tanımlanan problemler için çözüm evrimsel algoritmalarla aranabilir. Bir kullanıcı tanımladığı problemleri, operatör ve metotları pakete dahil edebilmekte ve sonrasında bunları pakette tanımlanmış operatör ve metotlar ile birlikte toplumun bireylerine uygulayabilmektedir. Bu PyLEA yapısının esnekliği için bir örnek teşkil etmektedir. PyLEA yapısında tanımlanmış gen, kromozom, birey, toplum v.b. gibi yapılar bulunmaktadır. Kullanıcı hiçbir kısıtlama olmadan bu yapılara başka yapılar ekleyerek yapılan genişletebilir. PyLEA'nm kullanımı kolay olan evrimsel algoritma ( EA ) arayüzü eğitim, uygulama ve geliştirme gibi çeşitli amaçlarda kullanılabilir. Eğitim amaçlı kullanımlarda kullanıcı pakette tanımlanmış olan örnek problemlerden birinin çözümü için bireylere uygulanacak, pakette tanımlanmış operatörler ve metotlarım, xısonrasında da bir izleme seçeneğini seçerek algoritmayı koşturur. Seçilen izleme seçeneği algoritmanın belirli aralıklarla donmasını sağlar. Algoritma donduğunda kullanıcı toplumdaki bireyleri, ebeveyn ve çocukları ayrıca varolan nesil için istatistiksel verileri inceleyebilir. Eğitim amaçlı kullanımlar herhangi bir kod yazımını gerektirmez. Tüm adımlar birkaç fare tıklaması ile gerçekleştirilir. Pakette tanımlanmış örnek problemlerden farklı olarak evrimsel algoritmalar ile çözümünün bulunmasını istediği bir probleme sahip olan kullanıcı, probleme ilişkin uygunluk fonksiyonunu yükledikten sonra paketteki operatör ve metotları seçerek algoritmayı koşturabilir. Algoritma sonlandıktan sonra, algoritma süresince hesaplanmış istatistiksel veriler ve bulunan en iyi çözüm kaydedilip incelenebilir. Bu gibi uygulama amaçlı kullanımlar çözümü aranan problemin uygunluk fonksiyonuna ilişkin bir kodun sisteme yüklenmesini gerektirir. Geliştirme amaçlı kullanımlar akademik araştırmacılara hizmet sunmaktadır. Bu kullanım şeklinde kullanıcı geliştirdiği operatörü yükler, pakette tanımlanmış bir örnek problemi seçer ve evrimsel algoritmayı koşturur. Toplumdaki değişimlerin incelenebilmesi için izleme seçeneği kullanılabilir. Evrimsel algoritma çok sayıda koşturulup her adım için istatistiksel veriler incelenebilir. Diğer iskelet yapılar arasında PyLEA kullanımı kolay arayüzü, platformdan bağımsız ve esnek yazılımı, öğrenimi ve kullanımı kolay yapısı sayesinde üstünlük göstermektedir. Bu tezde evrimsel algoritmalar, PyLEA paketinde tanımlanmış operatörler ve metotları ve örnek problemler hakkında bilgi verilmiştir. Ayrıca tezde PyLEA paketi tanıtılmış, PyLEA' da varolan bazı önemli yapılar hakkında bilgi verilmiş ve paket yapısı başka yapılarla karşılaştınlmıştır. Bunların yamsıra PyLEA için tasarlanmış olan EA arayüzü de tanıtılmıştır. Arayüzün bazı önemli seçenek ve özellikleri açıklanmış ve farklı kullanım amaçlarının nasıl gerçekleştirilebileceği tarif edilmiştir. PyLEA paketi kurulduktan sonra kullanıcı kişisel bilgisayarında evrimsel algoritmaları koşturabilir. Gelecekte PyLEA için internet tabanlı bir arayüz tasarlanması amaçlanmıştır. Böylece kullanıcılar evrimsel algoritmaları çevrimiçi ( online ) olarak web göz atıcısı ( web browser ) aracılığıyla koşturabileceklerdir. Uzun vadede ise internet tabanlı bir problem çözme platformu tasarlanması amaçlanmaktadır. Sonuç olarak bu tezde esnek, çok yönlü kullanım sağlayan, platformdan bağımsız, kullanımı kolay PyLEA evrimsel hesaplama paket yapısı ile platformdan bağımsız ve kullanımı kolay EA arayüzü tanıtılmıştır. EA arayüzü ile birlikte PyLEA farklı kullanıcı seviyelerine hizmet sunabilmektedir. Programlama bilgisi olmayan kişiler evrimsel algoritmaları EA arayüzü üzerinde birkaç fare tıklaması yaparak koşturabilirler. Diğer yandan kullanıcılar, yazıp sisteme yükledikleri kodlarla kendi problemlerini tanımlayıp problemin evrimsel algoritmalar ile çözümünü arayabilirler. Evrimsel algoritma bilgisi az olan kişiler bir izleme seçeneği seçip evrimsel algoritma her donduğunda EA arayüzünün görünüm özelliğim kullanarak toplumun bireyleri, ebeveyn ve çocukları ile o nesile ait istatistiksel verileri inceleyerek kendilerini geliştirebilirler. İstatistik ve görünüm özellikleri kendi operatörlerini geliştiren kişiler gibi evrimsel algoritmalar konusunda daha deneyimli kişilerce de kullanılabilir. EA arayüzü bu kişilerin operatörlerini yükledikten sonra evrimsel algoritmayı istedikleri kez tekrar koşturmalarını ve her adım için istatistiksel verileri inceleyip karşılaştırabilmelerini sağlamaktadır. xıı
Özet (Çeviri)
APPLICATION AND DEVELOPMENT FRAMEWORK FOR EVOLUTIONARY ALGORITHMS SUMMARY One of the central topics in computer science and mathematics is the development of automatic problem solvers. Nature and natural solutions have always been a source of inspiration for the human being. The most powerful natural problem solvers are the human brain and the evolutionary process. Trying to design problem solvers based on the evolutionary process leads us to evolutionary computing. This thesis introduces a new evolutionary computation framework named PyLEA ( Python Library for Evolutionary Algorithms ). PyLEA is a package coded in Python, a high level, interpreted and, object oriented programming language. Designing PyLEA with Python provided us a flexible structure and a platform independent software. It also shortened design time and made the design simpler. The package contains a subpackage named Log which enables calculating and saving the statistical data that belongs to the evolutionary algorithm. Another subpackage, Graphics package, uses this saved data and enables users study the statistical data on bar or line charts. Reportlab library is used for creating the graphics in Adobe PDF files. Reportlab library was choosen for high report generation speed and efficient graphic features. Also an interface was designed for the PyLEA package. Using Tk library for the design provided a user friendly, platform independent interface. PyLEA is a software package for application and development of evolutionary algorithms. Evolutionary operators and operators' methods are defined in PyLEA. Also some benchmarking problems are defined in the PyLEA package. Having a population of individuals it is possible to apply a sequence of package's operators and methods together with user defined operator and methods to the individuals in order to solve a problem defined in PyLEA or a user defined problem. A user can import problems, operators and methods he/she defined inside the package and apply them to the individuals together with the package defined ones. This is an example for PyLEA's flexibility. There are structures defined in PyLEA like gene, chromosome, individual, population etc. Users can expand these structures by adding other structures inside, without a constraint. The user friendly evolutionary algorithm ( EA ) interface of PyLEA can be used for multiple purposes like education, application and development. In educational usage user selects the operators and methods defined in the package in order to solve a problem defined in the package, then user selects a trace option and runs the algorithm. Selected trace option makes the algorithm pause at some intervals. When the algorithm pauses user can study the individuals, parents, offspring of the population and also the statistical data for that generation. Educational usage does not require writing a code. All steps can be done with a few mouse clicks. Having a problem ( different than the ones defined in the package ) tot be solved with evolutionary algorithms one can load the fitness function for the problem, select xiuoperators and methods to be applied and ran the algorithm. When the algorithm ends statistical data calculated during the algorithm and best result found can be saved and studied. Application^ usage like this requires the code for a fitness function to be loaded. Development usage serves to academic researchers. In this type of usage user loads the operator that he/she developped, chooses a problem defined in the package and runs the evolutionary algorithm. Trace options can be used to study the changes in the population. It is possible to run the evolutionary algorithm many times and study the statistical data for each run. Among other frameworks PyLEA is better with user friendly interface, platform independent and flexible software, easy to learn and use structure. This thesis gives information about the evolutionary algorithms, operators and their methods and also benchmarking problems defined in PyLEA. The thesis also introduces PyLEA, some important structures PyLEA has and compares PyLEA with other frameworks. The EA interface designed for PyLEA is also introduced. Some important options are explained and different usage purposes are described. After downloading and setting up PyLEA a user can run evolutionary algorithms on his/her personal computer. As a future work a web based interface is aimed to be designed for PyLEA so that users will be able to run evolutionary algorithms online, through a web browser. In the long run designing a web based problem solving platform is aimed. All in all, in this thesis PyLEA, a flexible, versatile, platform independent, easy to use evolutionary computation framework is introduced together with the platform independent and user friendly EA interface. PyLEA together with EA interface can serve to multiple user levels. People with no programming knowledge will be able to run evolutionary algorithms just by a few mouse clicks using EA interface. On the other hand people will also be able to write and load their codes to PyLEA in order to define and then solve problems with evolutionary algorithms. People with low evolutionary algorithm knowledge will be able to improve themselves by selecting trace options, viewing population's individuals, parents, offspring and studying statistical data when the algorithm paused, on the EA interface. Statistics and view features can also serve to people that are experienced with evolutionary algorithms, like the ones that generated their own operators. EA interface enables them to run evolutionary algorithm that contains the generated operators) as much as they want, study and compare the statistics for each run. XIV
Benzer Tezler
- Veri setine uygun otomatik yapay sinir ağı modeli geliştirme aracı
Automatic artificial neural network model development tool for dataset
MUHARREM ATAKAN ŞENTÜRK
Yüksek Lisans
Türkçe
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolTekirdağ Namık Kemal ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ RABİA KORKMAZ TAN
- Design and implementation of high power GaN amplifiers with nonlinear optimization techniques
Doğrusallaştırılmış yüksek güçlü GaN kuvvetlendiricilerin tasarımı ve gerçeklemesi
LIDA KOUHALVANDI
Doktora
İngilizce
2021
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. İSMAİL SERDAR ÖZOĞUZ
- Prediction of COVID 19 disease using chest X-ray images based on deep learning
Derin öğrenmeye dayalı göğüs röntgen görüntüleri kullanarak COVID 19 hastalığının tahmini
ISMAEL ABDULLAH MOHAMMED AL-RAWE
Yüksek Lisans
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolGazi ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ADEM TEKEREK
- Mühendislikte tersine problem uygulamaları için genetik programlama yaklaşımı
Genetic programming approach for inverse problem implemantations in enginering
YENAL ARSLAN
Yüksek Lisans
Türkçe
2005
Mühendislik BilimleriZonguldak Karaelmas ÜniversitesiMakine Eğitimi Ana Bilim Dalı
Y.DOÇ.DR. CEVDET GÖLOĞLU
- Energy aware endurance framework for mission critical aerial networks
Güdümlü havasal ağlar için enerji farkında endürans modeli
YUSUF ÖZÇEVİK
Doktora
İngilizce
2019
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. BERK CANBERK