Təkamül alqoritmləri: bu nədir və nə üçün lazımdır

Mündəricat:

Təkamül alqoritmləri: bu nədir və nə üçün lazımdır
Təkamül alqoritmləri: bu nədir və nə üçün lazımdır
Anonim

Süni intellekt sahəsində təkamül alqoritmi (EA) metaevristik optimallaşdırmaya əsaslanan ümumi əhali hesablamalarının alt dəstidir. EA çoxalma, mutasiya, rekombinasiya və seçim kimi bioloji inkişafdan ilhamlanan mexanizmlərdən istifadə edir. Təkamül optimallaşdırma alqoritmləri problemində namizəd həlli populyasiyada fərdlərin rolunu oynayır. Həmçinin fitnes funksiyası cavabların keyfiyyətini müəyyən edir.

Təkamül alqoritmləri çox vaxt bütün növ problemlərin həllini yaxşı təxmini edir. Çünki ideal olaraq onlar fitnes mənzərəsi haqqında heç bir fərziyyə irəli sürmürlər. Təkamül modelləşdirmə və genetik alqoritmlər üçün istifadə edilən üsullar adətən mikrotəkamül prosesləri və hüceyrə mərhələlərinə əsaslanan planlaşdırma modellərinin öyrənilməsi ilə məhdudlaşır. Əksər real EA proqramlarında hesablama mürəkkəbliyi qadağanedici amildir.

Əslindəbu məsələ fitnes funksiyasının qiymətləndirilməsi ilə bağlıdır. Fitness yaxınlaşması bu çətinliyin aradan qaldırılması üçün bir həlldir. Bununla belə, sadə görünən EA çox vaxt mürəkkəb problemləri həll edə bilər. Buna görə də, ardıcıllığın mürəkkəbliyi ilə problem arasında birbaşa əlaqə ola bilməz. Ətraflı məlumatı "Təkamül Alqoritmləri" kitablarında tapa bilərsiniz.

İcra

təkamül modelləşdirmə və alqoritmlər
təkamül modelləşdirmə və alqoritmlər

Birinci addım təsadüfi olaraq fərdlərin ilkin populyasiyasını yaratmaqdır.

İkinci addım bu qrupdakı hər bir fərdin uyğunluğunu qiymətləndirməkdir (vaxt məhdudiyyəti, kifayət qədər hazırlıq və s.).

Üçüncü addım - tamamlamaq üçün aşağıdakı regenerasiya addımlarını təkrarlayın:

  1. Damazlıq üçün ən uyğun insanları seçin (valideynlər).
  2. Övlad əldə etmək üçün krossover və mutasiyadan istifadə edərək təkamül alqoritmini keçmiş yeni fərdləri gətirin.
  3. Yeni insanların fərdi uyğunluğunu qiymətləndirin.
  4. Ən az uyğun olan əhalini onlarla əvəz edin.

Növlər

Genetik Alqoritm təkamül ardıcıllığıdır, Ekspert Məsləhətçinin ən məşhur növüdür. Problemin həlli rekombinasiya və mutasiya (bəzən bir, bəzi hallarda hər ikisi) kimi operatorların tətbiqi ilə ədədlər sətirləri şəklində (ənənəvi olaraq ikili, baxmayaraq ki, ən yaxşı təsvirlər adətən həll olunan problemdə daha çox əks olunanlardır) axtarılır.). Bu tip Ekspert Məsləhətçi tez-tez optimallaşdırma problemlərində istifadə olunur. Bunun başqa adı fetura (latınca "doğum" deməkdir):

  1. Genetik proqramlaşdırma. O, həlləri kompüter kodları kimi təqdim edir və onların uyğunluğu hesablama tapşırıqlarını yerinə yetirmək qabiliyyəti ilə müəyyən edilir.
  2. Təkamüllü proqramlaşdırma. Təkamül genetik alqoritminə bənzəyir, lakin struktur sabitdir və onun ədədi parametrləri dəyişə bilər.
  3. Gen ifadəsinin proqramlaşdırılması. Kompüter proqramlarını hazırlayır, lakin müxtəlif ölçülü layihələrin sabit uzunluqlu xətti xromosomlarda kodlandığı genotip-fenotip sistemini araşdırır.
  4. Strategiya. Həlllərin təsviri kimi həqiqi ədədlərin vektorları ilə işləyir. Adətən özünə uyğunlaşan təkamül mutasiya dərəcəsi alqoritmlərindən istifadə edir.
  5. Diferensial inkişaf. Vektor fərqlərinə əsaslanır və buna görə də ilk növbədə ədədi optimallaşdırma problemləri üçün uyğundur.
  6. Neyrotəkamül. Təkamül proqramlaşdırma və genetik alqoritmlərə bənzəyir. Lakin sonuncular süni neyron şəbəkələridir, əlaqələrin strukturunu və çəkisini təsvir edir. Genom kodlaması birbaşa və ya dolayı ola bilər.

Bioloji proseslərlə müqayisə

Bir çox təkamül alqoritmlərinin mümkün məhdudiyyəti genotip və fenotip arasında aydın fərqin olmamasıdır. Təbiətdə mayalanmış yumurta yetkin olmaq üçün embriogenez kimi tanınan mürəkkəb bir prosesdən keçir. Bu dolayı kodlaşdırmanın genetik axtarışları daha etibarlı (yəni, ölümcül mutasiyalara səbəb olma ehtimalı daha az) edəcək və eyni zamanda orqanizmin inkişaf qabiliyyətini yaxşılaşdıra biləcəyi düşünülür. Bu cür dolayı (başqa sözlə,generativ və ya inkişaf) kodlaşdırmalar da təkamülün ətraf mühitdəki qanunauyğunluqdan istifadə etməsinə imkan verir.

Süni embriogenez və ya inkişaf sistemləri üzrə son iş bu problemləri həll etməyə çalışır. Gen ifadəsini proqramlaşdırarkən genotip-fenotip bölgəsi uğurla tədqiq edilir, burada birincisi sabit uzunluqlu xətti multigen xromosomlardan, ikincisi isə bir çox ifadə ağaclarından və ya müxtəlif ölçülü və formalı kompüter proqramlarından ibarətdir.

Əlaqədar texnikalar

təkamül alqoritmləri
təkamül alqoritmləri

Alqoritmlərə daxildir:

  1. Qarışqa koloniyasının optimallaşdırılması. Bu, həşəratların yollar yaratmaq üçün feromonlarla əlaqə quraraq qida axtarması fikrinə əsaslanır. Əsasən kombinatorial optimallaşdırma və qrafik problemləri üçün uyğundur.
  2. Kök sürüşdürmə alqoritmi. Yaradıcı bitki köklərinin təbiətdəki funksiyasından ilhamlanıb.
  3. Süni arı koloniyaları üçün alqoritm. Bal arılarının davranışlarına əsaslanır. O, ilk növbədə ədədi optimallaşdırma üçün təklif edilir və kombinatorial, məhdud və çoxməqsədli məsələlərin həlli üçün genişləndirilir. Arı alqoritmi həşəratların yem axtarma davranışına əsaslanır. O, marşrutlaşdırma və planlaşdırma kimi bir çox tətbiqlərdə tətbiq edilib.
  4. Zərrəciklər sürüsünün optimallaşdırılması - heyvan sürüsü davranışı ideyalarına əsaslanır. Həm də ilk növbədə ədədi proses tapşırıqları üçün uyğundur.

Digər məşhur metaevristik üsullar

  1. Ov axtarışı. Müəyyən heyvanların, məsələn, canavarların qrup tutulmasına əsaslanan üsulovunu əhatə etmək üçün vəzifələrini bölüşdürürlər. Təkamül alqoritminin üzvlərinin hər biri müəyyən mənada digərləri ilə əlaqəlidir. Bu xüsusilə lider üçün doğrudur. Bu kombinator proses metodu kimi uyğunlaşdırılmış davamlı optimallaşdırma üsuludur.
  2. Ölçülərə görə axtarın. Təbiətə əsaslanan metaevristik üsullardan fərqli olaraq, adaptiv proses alqoritmi metaforadan əsas prinsip kimi istifadə etmir. Əksinə, o, hər iterasiyada axtarış ölçüsü nisbəti parametrinin yenilənməsinə əsaslanan sadə performans yönümlü metoddan istifadə edir. Atəşböcəyi alqoritmi atəşböcəklərinin sayrışan işıqları ilə bir-birini necə cəlb etməsindən ilhamlanır. Bu, xüsusilə multimodal optimallaşdırma üçün faydalıdır.
  3. Harmoniya axtarın. Musiqiçilərin davranışı ilə bağlı fikirlərə əsaslanaraq. Bu halda, təkamül alqoritmləri kombinatorial optimallaşdırmanın yoludur.
  4. Qauss uyğunlaşması. İnformasiya nəzəriyyəsinə əsaslanır. Performansı və orta əlçatanlığı artırmaq üçün istifadə olunur. Bu vəziyyətdə təkamül alqoritmlərinə bir nümunə: termodinamikada entropiya və məlumat nəzəriyyəsi.

Memetic

təkamül modelləşdirmə
təkamül modelləşdirmə

Richard Dawkinsin mem ideyasına əsaslanan hibrid üsul. O, adətən yerli dəqiqləşdirmələri yerinə yetirə bilən fərdi öyrənmə prosedurları ilə birləşmiş əhali əsaslı alqoritm formasını alır. Problemə xüsusi biliklərdən istifadəni vurğulayır və incə və qlobal axtarışları sinerji şəkildə təşkil etməyə çalışır.

Təkamülalqoritmlər polinom zamanında asanlıqla həll edilə bilməyən problemlərə evristik yanaşmadır, məsələn, klassik NP-çətin problemlər və hərtərəfli işlənməsi çox uzun çəkəcək başqa hər şey. Müstəqil istifadə edildikdə, onlar adətən kombinator problemləri üçün istifadə olunur. Bununla belə, genetik alqoritmlər tez-tez işləmək üçün çoxlu optimal başlanğıc yerləri tapmaq üçün sürətli yol kimi çıxış edərək, digər üsullarla tandemdə istifadə olunur.

Təkamül alqoritminin müddəaları (məsləhətçi kimi tanınır) təbii seçmə prosesi ilə tanış olduğunuz halda olduqca sadədir. O, dörd əsas addımdan ibarətdir:

  • başlatma;
  • seçim;
  • genetik operatorlar;
  • sonu.

Bu addımların hər biri təxminən təbii seçmənin müəyyən aspektinə uyğundur və alqoritmlərin həmin kateqoriyasını modullaşdırmaq üçün asan yollar təqdim edir. Sadəcə olaraq, EA-da ən uyğun üzvlər sağ qalacaq və çoxalacaq, yararsız üzvlər isə öləcək və gələcək nəslin genofonduna töhfə verməyəcək.

İnsiallaşdırma

Alqoritmi başlamaq üçün əvvəlcə həllər toplusu yaratmalısınız. Əhaliyə çox vaxt üzvlər kimi istinad edilən ixtiyari sayda mümkün problem ifadələri olacaq. Onlar tez-tez təsadüfi (tapşırığın məhdudiyyətləri daxilində) yaradılır və ya bəzi əvvəlki biliklər məlumdursa, ilkin olaraq ideal hesab edilənlərin ətrafında cəmlənir. Əhalinin geniş spektrli həlləri əhatə etməsi vacibdir,çünki o, mahiyyətcə genofonddur. Buna görə də, əgər biri alqoritm daxilində bir çox fərqli imkanları araşdırmaq istəyirsə, çoxlu müxtəlif genlərə sahib olmağa çalışmalıdır.

Seçim

genetik kodlar
genetik kodlar

Əhali yaradıldıqdan sonra onun üzvləri fitnes funksiyasına görə qiymətləndirilməlidir. Fitnes funksiyası üzvün xüsusiyyətlərini götürür və üzvün nə qədər uyğun olduğuna dair rəqəmsal təsviri verir. Onları yaratmaq çox vaxt çox çətin ola bilər. Məlumatları dəqiq şəkildə təmsil edən yaxşı bir sistem tapmaq vacibdir. Bu problem üçün çox spesifikdir. İndi bütün iştirakçıların uyğunluğunu hesablamaq və ən yaxşı üzvləri seçmək lazımdır.

Birdən çox məqsəd funksiyaları

EA-lar da bu sistemlərdən istifadə etmək üçün genişləndirilə bilər. Bu, prosesi bir qədər çətinləşdirir, çünki onlardan istifadə edərkən bir optimal nöqtəni müəyyən etmək əvəzinə, çoxluq əldə edilir. Həlllər dəsti Pareto sərhədi adlanır və heç birinin digərinə üstünlük verməməsi mənasında eyni dərəcədə uyğun olan elementləri ehtiva edir.

Genetik operatorlar

Bu addım iki alt addımdan ibarətdir: krossover və mutasiya. Ən yaxşı terminləri seçdikdən sonra (adətən ilk 2, lakin bu rəqəm dəyişə bilər) indi onlardan alqoritmdə növbəti nəslin yaradılması üçün istifadə olunur. Seçilmiş valideynlərin xüsusiyyətlərini tətbiq etməklə, keyfiyyətlərin qarışığı olan yeni uşaqlar yaradılır. Bu, verilənlərin növündən asılı olaraq çox vaxt çətin ola bilər, lakin adətən kombinator problemlərindəetibarlı birləşmələri qarışdırmaq və çıxarmaq olduqca mümkündür.

İndi nəsilə yeni genetik material təqdim etmək lazımdır. Bu mühüm addım atılmazsa, alim çox tez yerli ifratlarda ilişib qalacaq və optimal nəticə əldə etməyəcək. Bu addım mutasiyadır və bu, uşaqların kiçik bir hissəsinin, əsasən, valideynlərin genlərinin alt qruplarını əks etdirməyəcəyi şəkildə dəyişdirilməsi ilə olduqca sadədir. Mutasiya adətən ehtimal əsasında baş verir, çünki uşağın onu əldə etmə ehtimalı, eləcə də onun şiddəti paylanma ilə müəyyən edilir.

Xitam

modelləşdirmə və alqoritmlər
modelləşdirmə və alqoritmlər

Sonunda alqoritm bitməlidir. Bu adətən iki halda baş verir: ya maksimum icra müddətinə çatmışdır, ya da performans həddinə çatmışdır. Bu zaman son həll seçilir və qaytarılır.

Təkamül alqoritmləri nümunəsi

İndi bu prosesin nəticəsini göstərmək üçün məsləhətçini hərəkətdə görmək lazımdır. Bunun üçün dinozavrların bir neçə nəslinin yeriməyi (tədricən torpağı mənimsəməyi), bədən quruluşunu optimallaşdıraraq və əzələ gücünü tətbiq etməyi necə öyrəndiyini xatırlaya bilərik. İlk nəsil sürünənlər yeriyə bilməsələr də, məsləhətçi onları mutasiya və krossover vasitəsilə zamanla təkamüllə yeriyə bilən bir forma çevirə bildi.

Bu alqoritmlər müasir dünyada getdikcə aktuallaşır, çünki onlara əsaslanan həllər rəqəmsal marketinq, maliyyə və digər sahələrdə getdikcə daha çox istifadə olunur.səhiyyə.

EA-lar harada istifadə olunur?

Daha geniş desək, təkamül alqoritmləri təsvirin işlənməsi, nəqliyyat vasitələrinin marşrutlaşdırılması, mobil rabitənin optimallaşdırılması, proqram təminatının inkişafı və hətta süni neyron şəbəkəsinin təlimi kimi müxtəlif proqramlarda istifadə olunur. Bu alətlər Google Xəritələr və hətta The Sims kimi oyunlar da daxil olmaqla, insanların gündəlik istifadə etdiyi bir çox proqram və veb-saytların əsasını təşkil edir. Bundan əlavə, tibb sahəsi xərçəng müalicəsi ilə bağlı klinik qərarlar qəbul etmək üçün EA-dan istifadə edir. Əslində, təkamül alqoritmləri o qədər güclüdür ki, onlardan demək olar ki, istənilən optimallaşdırma problemini həll etmək üçün istifadə edilə bilər.

Mur Qanunu

EO-nun artan yayılması iki əsas amillə şərtlənir: mövcud hesablama gücü və böyük məlumat dəstlərinin yığılması. Birincisi, bir kompüterdə hesablama gücünün miqdarının təxminən hər iki ildən bir iki dəfə artdığını ifadə edən Mur qanunu ilə təsvir edilə bilər. Bu proqnoz onilliklər boyu davam edir. İkinci amil texnologiyaya artan inamla bağlıdır ki, bu da institutlara inanılmaz dərəcədə böyük həcmdə məlumat toplamağa imkan verir ki, bu da onlara tendensiyaları təhlil etməyə və məhsulları optimallaşdırmağa imkan verir.

Təkamül alqoritmləri marketoloqlara necə kömək edə bilər?

genetik modelləşdirmə
genetik modelləşdirmə

Bazar şərtləri sürətlə dəyişir və çox rəqabətlidir. Bu, marketinq menecerlərini daha yaxşı qərar qəbul etmək üçün rəqabət aparmağa məcbur etdi. Mövcudluğu artırınhesablama gücü işçilərin problemlərin həlli üçün EA-dan istifadə etməsinə səbəb oldu.

Dönüşüm optimallaşdırması

modelləşdirmə və genetik alqoritmlər
modelləşdirmə və genetik alqoritmlər

Əsas məqsədlərdən biri sayta daxil olanların sayını artırmaqdır. Bu problem marketoloqun istədiyini edən istifadəçilərin sayını optimallaşdırmaqdan qaynaqlanır. Məsələn, bir şirkət noutbuk satırsa, idealı məhsulu alan sayt ziyarətçilərinin sayını artırmaqdır. Bu, konvertasiya dərəcəsinin optimallaşdırılmasının mahiyyətidir.

Təəccüblü vacib aspektlərdən biri istifadəçi interfeysinin seçimidir. Veb dizaynı çox istifadəçi dostu deyilsə, bu və ya digər səbəbdən məhsulu almayanlar var. Məqsəd konvertasiya etməyən istifadəçilərin sayını az altmaqdır ki, bu da ümumi gəliri artırır.

Tövsiyə: