Genetik Programlama İçin Alana Özgü Programlama Dili

dc.contributor.advisor Uyar, A. Sima tr_TR
dc.contributor.author Çayıroğlu, Cem Basar tr_TR
dc.contributor.authorID 371517 tr_TR
dc.contributor.department Bilgisayar Bilimleri tr_TR
dc.contributor.department Computer Science en_US
dc.date 2010 tr_TR
dc.date.accessioned 2016-10-25T14:12:32Z
dc.date.available 2016-10-25T14:12:32Z
dc.description Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Bilişim Enstitüsü, 2010 tr_TR
dc.description Thesis (M.Sc.) -- İstanbul Technical University, Institute of Informatics, 2010 en_US
dc.description.abstract Genetik Programlama[1] (GP) evrimsel algoritmaların bir formu olup, bireylerin temsil ediliş şekli ağaçtır. Genetik programlama ile uğraşan araştırmacılar çalışmalarının tasarım, uygulamaya geçiş ve de test aşamalarında birçok yardımcı araç kullanırlar. Bu araçlar içinde C++ ve Java tabanlı çatılar son yıllarda en çok kullanılan çatılardır. Bu çatılar GP projelerinde uygulamaya geçiş süresini kısaltmakta fakat genelde taban dilleri hakkında derin bilgiye sahip olmayı gerektirmektedir. Dahası, taban programlama dillerinin limitleri yüzünden, araştırmacılar GP alanında projelerinde iyi bir soyutlama yapamamaktadır. Alana özgü diller [2] (DSL) programlama dilleri olup o alana özel olarak tasarlanmıştır. Örnek olarak, SQL bir alana özgü dil olup veritabanlarına özel olarak geliştirilmiştir. Genel amaçlı programlama dilleri ile kıyaslamak gerekirse alana özel diller o alan için daha çok anlatımcıdır çünkü o alanda olan bir algoritmayı anlatabilecek daha doğal bir yol sağlarlar. Bu anlatımcılığı arttıran özeliği sayesinde araştırmacıların üretkenliği artar ve tecrübesiz programcıların bu alanda daha kolay uygulama geliştirmesine yardımcı olur. Bu çalışmada, genetik programlama için alana özgü bir programlama dili geliştirdik. Alana özgü dil geliştirmek için Xtext[3] adlı Eclipse platformu üzerinde çalışan programlama dili geliştirme aracı kullandık. Xtext gramer denetimi ve de kod üretimi özellikleri vardır. Kod üretimi özelliği sayesinde genel amaçlı programlama dilleri, Xtext tarafından geliştirilmekte olan alana özgü dilden üretilebilir. Alana özgü dil geliştirmek için, ilk olarak genetik programlama alanı analiz edildi. Daha sonrasında geliştirilecek olan dilin grameri tasarlandı. Daha sonraki aşamada ise alana özgü dili Java programlama diline çevirecek kod üretici modül geliştirildi. Geliştirilen alana özgü dil GP 'de bulunan üst seviye operasyonları desteklemektedir. Bunlar arasında; seçme, çaprazlama, mutasyon vardır. Bunun yanında daha alt seviye ağaç işlemlerini de desteklemektedir. Geliştirilen alana özgü dili kullanarak genetik programlama araştırmacıları karışık ağaç işlemlerini kolayca yapabilirler. Geliştirilen primitif komutlar ile araştırmacılar yeni GP operasyonları tanımlayabilirler. tr_TR
dc.description.abstract Genetic programming is a specific topic of genetic algorithm paradigm. In genetic programming domain, individuals are programming codes. The distinctive feature of genetic programming is individual types and output of the algorithm. Individuals are code parts with varying size and shape and output is a ready-to-use computer programs. The main goal is generating computer programs (usually based on high level language) automatically. Domain-specific languages are languages dedicated to a domain. Domain specific languages commands are really close to the domain related terms. When you think about SQL programming language its key words all related to database terms. By using only SQL you can not write a regular imperative computer programs. However, it is hard to deal with database without SQL. DSL is becoming more popular due to rise of domain base design. They are more expressive comparing to a general-purpose language in their domain. Therefore, using DSL increases productivity and lowers maintenance cost. By reducing required programming experience, more people can understand program code written in DSL compared to general-purpose language. Using existing general-purpose language is better if the domain specific language does not have enough advantages. General-purpose language is robust and popular. In addition, developing a DSL is hard because it requires domain knowledge and DLS development experience. Fitness calculation, crossover and mutation are done on these code parts. In order to apply genetic algorithm operations to code parts, representation of an individual should be tree. Genetic programming researchers use several programming tools in order to design, implement and verify their study. They use tools such as java or C language programming frameworks that become very popular in last years. Frameworks decrease development time of genetic algorithm implementation but usually required a good knowledge about their base programming language. Although frameworks are well designed, due to base programming language, researchers may not make a good abstraction of a genetic programming problem. In this paper, a new domain specific language (DSL) will be introduced in order to increase productivity of researchers, to use high level abstraction of genetic programming domain and to increase maintainability of their projects. To develop a new DSL, decision, analysis, design, implementation, and deployment steps should be executed. In our study, these steps were followed and will be explained in detail. DLS should fit these genetic programming requirements: individual representation, terminal and operator representation, individual evaluation and evaluator, generate random individual and population, mutation, cross-over, tree operations such as prune, random grow, population representation, probability support, loops, random selection and strategies, offspring support, built in individual and evaluators such as symbolic regression etc. en_US
dc.description.degree Yüksek Lisans tr_TR
dc.description.degree M.Sc. en_US
dc.identifier.uri http://hdl.handle.net/11527/12219
dc.publisher Bilişim Enstitüsü tr_TR
dc.publisher Institute of Informatics en_US
dc.rights İTÜ tezleri telif hakkı ile korunmaktadır. Bunlar, bu kaynak üzerinden herhangi bir amaçla görüntülenebilir, ancak yazılı izin alınmadan herhangi bir biçimde yeniden oluşturulması veya dağıtılması yasaklanmıştır. tr_TR
dc.rights İTÜ theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. en_US
dc.subject Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol tr_TR
dc.subject Computer Engineering and Computer Science and Control en_US
dc.title Genetik Programlama İçin Alana Özgü Programlama Dili tr_TR
dc.title.alternative A Domain Specific Language For Genetic Programming en_US
dc.type Master Thesis
Dosyalar
Orijinal seri
Şimdi gösteriliyor 1 - 1 / 1
thumbnail.default.alt
Ad:
704071005.pdf
Boyut:
785.51 KB
Format:
Adobe Portable Document Format
Açıklama
Lisanslı seri
Şimdi gösteriliyor 1 - 1 / 1
thumbnail.default.placeholder
Ad:
license.txt
Boyut:
3.16 KB
Format:
Plain Text
Açıklama