Təkamül modelləşdirmə

Təkamül modelləşdirmə (ing. Evolutionary computation) — ağıllı sistemlər qurmaq üçün Darvin nəzəriyyəsinin xüsusiyyətlərindən istifadə edir (qrup uçotu metodları, genetik alqoritmlər). Süni intellektin daha geniş bir sahəsinin — hesablama zəkasının bir hissəsidir.

Təkamül modelləşdirmə artıq ayırd oluna bilən yaxşı bir sahədir:

  1. molekulyar genetik məlumat sistemlərinin modelləri;
  2. təkamülün ümumi qanunlarının modelləşdirilməsi (Təkamül alqoritmləri). Bunlar yalnız təkamül prinsiplərindən istifadə edən sistemlərdir. Onlar funksional optimallaşdırma kimi tapşırıqlar üçün uğurla istifadə edilmişdir və asanlıqla riyazi dildə təsvir edilə bilər. Bunlara təkamül proqramı, genetik alqoritmlər, təkamül strategiyaları, genetik proqramlaşdırma kimi təkamül alqoritmləri daxildir;
  3. təkamül modelləri. Bunlar bioloji cəhətdən təkamül alqoritmlərindən daha realdır, lakin tətbiq olunan mənada faydalı olduğunu sübut etməmiş sistemlərdir. Bioloji sistemlərə daha çox bənzəyirlər və texniki problemlərin həllinə az diqqət yetirirlər. Onların mürəkkəb və maraqlı davranışları var və görünür, tezliklə praktik tətbiq olunacaq. Bu sistemlərə sözdə süni həyat daxildir.
  4. tətbiq olunan təkamül modelləşdirmə.

Darvinizm prinsiplərinin avtomatlaşdırılmış problem həlli üçün istifadəsi 1950-ci illərdə başlamışdır. 1960-cı ilə qədər bu fərqli düşüncənin üç fərqli təfsiri üç fərqli yerdə hazırlanırdı. Təkamül proqramını ABŞ-da Lourens , Con Henri Holland isə metodunu genetik alqoritm adlandırdı. Almaniyada Ingo Rechenberg və Hans-Paul Schwefel təkamül strategiyası yanaşmasını təqdim etdilər. Bu sahələr təxminən 15 il ərzində ayrıca inkişaf etdirilmişdir. 90-cı illərin əvvəllərindən bəri təkamül hesablama adlanan bir texnologiyanın "dialektləri" olaraq birləşdirilmişdir. Bundan əlavə, 90-cı illərin əvvəllərində dördüncü bir axın meydana gəldi — genetik proqramlaşdırma. 1990-cı illərdən bəri, təkamül hesablaması böyük dərəcədə qaranlıq zəkası ideyası ilə əlaqəli oldu və təbiətdən ilham alqoritmləri bu istiqamətin getdikcə əhəmiyyətli hissəsinə çevrilməkdədir.

Beləliklə, "təkamül proqramı", "təkamül strategiyaları", "genetik alqoritmlər" və "genetik proqramlaşdırma" ifadələri ümumi "təkamül hesablama" və ya "təkamül modelləşdirmə" nin xüsusi halları hesab olunur.

Təkamül alqoritmlərindən və süni həyatdan irəli gələn fikirlərdən istifadə edərək modelləşdirmə 1960-cı illərdə Nils Aall Barriçellinin işi ilə başlamış və süni seçimi modelləşdirmə mövzusunda bir sıra əsərlər yazan Aleks Freyzer tərəfindən genişləndirilmişdir.[1] Təkamül alqoritmləri 1960-cı və 1970-ci illərin əvvəllərində İnqo Rechenberg-in işləri nəticəsində mürəkkəb mühəndislik problemlərini həll etmək üçün istifadə edilən ümumdünya qəbul edilmiş bir optimallaşdırma metoduna çevrildi.[2] Genetik alqoritmlər John Hollandın işləri sayəsində xüsusilə populyarlaşdı.[3] Akademik marağın böyüməsi ilə birlikdə kompüterlərin gücünün kəskin artması praktik tətbiqlərə, o cümlədən kompüter proqramlarının avtomatik təkamülünə imkan verdi.[4] Təkamül alqoritmləri hazırda çoxölçülü problemləri insan tərəfindən hazırlanan proqramdan daha səmərəli həll etmək üçün istifadə olunur.[5]

Genetik alqoritmin sxemi

Şəkildə təkamül hesablamalarının növlərindən birinin — genetik alqoritmin (GA) iş sxemi təsvir edilmişdir, ancaq yanaşmanın ümumi fikrini başa düşə bilərsiniz.

İlkin populyasiya dedikdə, ümumiyyətlə təsadüfi yolla əldə edilən müəyyən miqdarda əşyalar başa düşülür. QA-da bu cür cisimlər genlərin vektorlarıdır ("genotiplər"), burada hər bir gen bir az, sayı və ya başqa bir obyekt ola bilər. Təkamül strategiyası (ES) həqiqi ədədlərin vektorları ilə işləyir. Genetik (GP) və təkamüllü (EP) proqramlaşdırmada cisimlərin rolunu hesablama problemini həll edən daha yaxşı və daha yaxşı (müəyyən işlək funksiyasına uyğun) proqramlar oynayır.

Mutasiyalar və çarpazlıq

[redaktə | mənbəni redaktə et]
Ağac şəklində təmsil olunan funksiya

Mutasiya "genotipdə" təsadüfi bir dəyişiklikdir. GA və ES-də mutasiya operatoru, vektorun hər bir hissəsinə normal paylanmış təsadüfi dəyişən əlavə etməklə həyata keçirilə bilər. QA və ES-də bu əməliyyat yetişən proqramların kodlaşdırma metodundan çox asılıdır. Məsələn, ağac kodlaşdırmasında (rəqəmə baxın), bir düyündə təsadüfi bir məlumat dəyişdirmək və ya əlavə etmək, bir node və ya bütün alt səthi silməklə həyata keçirmək olar.

"Çarpazlıq" operatoru rolu vəhşi təbiətdə keçid roluna bənzər olan namizəd həllərini təklif edir. Təkamül bilgisayarında çoxalma adətən cinsidir — bir nəsil yetişdirmək üçün bir neçə valideynə, ümumiyyətlə iki nəfərə ehtiyacınız var. Fərqli alqoritmlərdə çoxalma fərqli şəkildə müəyyən edilir — bu, əlbəttə ki, məlumatların təqdim edilməsindən asılıdır. Böyümək üçün əsas tələb nəslin və ya nəslin hər iki valideynin xüsusiyyətlərini bu və ya digər şəkildə "qarışdıraraq" miras qalmalarıdır.

Seçim (seleksiya)

[redaktə | mənbəni redaktə et]
  1. Fraser A.S. Monte Carlo analyses of genetic models. 181 (Nature). 1958. 208–209.
  2. Rechenberg, Ingo. Evolutionsstrategie – Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (PhD thesis). Fromman-Holzboog. 1973.
  3. Holland, John H. Adaptation in Natural and Artificial Systems. University of Michigan Press. 1975. ISBN 0-262-58111-6.
  4. Koza, John R. Genetic Programming. MIT Press. 1992. ISBN 0-262-11170-5.
  5. Jamshidi M. Tools for intelligent control: fuzzy controllers, neural networks and genetic algorithms. 361 (Philosophical Transactions of the Royal Society A, Philosophical transactions. Series A, Mathematical, physical, and engineering sciences). 2003. 1781–1808.