Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сильно зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ настроСны Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ГА ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

– Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ (количСство ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ);

– ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅) сСлСкции;

– Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° кроссинговСра;

– Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ кроссинговСра Π Π‘;

– Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ;

– Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Ρ€Π°Π·Ρ€Ρ‹Π²Π° ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ Π’.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ список ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½, Π½ΠΎ пСрСчислСнныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ практичСски Π² любой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ГА. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ аспСкты ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ поиска, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΡ…:

1. ИсслСдованиС пространства поиска (exploration).

2. ИспользованиС Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Β«Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ…Β» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (exploitation).

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ аспСкт ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° способности ГА ΠΊ эффСктивному поиску Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ способности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… экстрСмумов. Π’Ρ‚ΠΎΡ€ΠΎΠΉ аспСкт Π²Π°ΠΆΠ΅Π½ для постСпСнного ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΡ‚ поколСния ΠΊ поколСнию Π½Π° основС ΡƒΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Β«ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ…Β» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. ΠŸΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ способностями ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сущСствСнному ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ГА ΠΈ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΠ·-Π·Π° «застрСвания» Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… экстрСмумах. Π’ ΠΈΡ‚ΠΎΠ³Π΅ становится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ прСТдСврСмСнная ΡΡ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (Ρ‚Π°ΠΊΠΆΠ΅ говорят ΠΎ Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ популяции), ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Π½ΠΎ Π² популяции практичСски всС особи становятся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя (порядка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков ΠΈ сотСн ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ) Π½Π΅ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ приспособлСнности.

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ГА Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ случайный поиск, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сказываСтся Π½Π° эффСктивности поиска ΠΈ качСствС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

Основная Ρ†Π΅Π»ΡŒ Π² настройкС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ГА ΠΈ, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ условиС для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ получСния Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° – это достиТСниС баланса ΠΌΠ΅ΠΆΠ΄Ρƒ исслСдованиСм пространства поиска ΠΈ использованиСм Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

Π’Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ влияниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½Π° ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ процСсс ΠΈΠΌΠ΅ΡŽΡ‚ слоТный Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. На рис. 5.7 схСматично ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ влияниС измСнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ГА Π½Π° характСристики ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ поиска.

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Рис. 5.7. ВлияниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ГА Π½Π° характСристики ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ поиска

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ГА. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ список часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΈΡ… исправлСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π». 5.1.

Π”Π°Ρ‚Π° добавлСния: 2014-12-23 ; просмотров: 18 ; ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ авторских ΠΏΡ€Π°Π²

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ГСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ vs Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ роя частиц

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

К Π·Π°Π΄Π°Ρ‡Π°ΠΌ поиска Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…) сводятся ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, экономики, статистики ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° приходится ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль ситуации. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ всСгда являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅, прСдоставлСнныС систСмой, поэтому Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π°ΠΊΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π·ΠΎΠ½Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для поиска ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π»ΡƒΡ‡ΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ понимаСтся Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ экстрСмума (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°) Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вСщСствСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ области. Π‘ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π΄Π²Π° самых Π²Π°ΠΆΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ роя частиц.

ГСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π΅Π³ΠΎ основС Π»Π΅ΠΆΠ°Ρ‚ процСссы ΠΎΡ‚Π±ΠΎΡ€Π°, ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΈ комбинирования (скрСщивания). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ поиска глобального экстрСмума Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ стоит Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

КаТдая особь популяции Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ трСмя основными ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ: ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ оси Π₯, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ оси Π£ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΈΠΌΠ΅Π½Π½ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² Ρ€ΠΎΠ»ΠΈ основного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΈ сСлСкции).

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС происходит созданиС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции, Π³Π΄Π΅ каТдая особь случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ свои ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΠΎ Π₯ ΠΈ Π£. Π­Ρ‚Π° популяция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ‚ ΠΈΠ΄Π΅Π°Π»Π°, Π½ΠΎ Π² процСссС ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это.

Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ процСсс размноТСния. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ выбираСтся ΠΏΠ°Ρ€Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ производят ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². ΠŸΠΎΡ‚ΠΎΠΌΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ доминирования со стороны ΠΎΠ΄Π½ΠΎΠΉ особи, Π² Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π³Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠΈΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

ПослС размноТСния отбираСтся Ρ‡Π°ΡΡ‚ΡŒ особСй, которая подвСргаСтся случайным мутациям Π² Π³Π΅Π½Π°Ρ…. Π’ случаС с поиском экстрСмума Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄Π° ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ Π₯ ΠΈ Π£.

Π’ самом ΠΊΠΎΠ½Ρ†Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΎΡ‚Π±ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ приспособлСнных особСй. Особи с наимСньшим ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ значСния Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ проходят дальшС. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ популяция Π½Π΅ росла бСспрСрывно, Π΅Ρ‘ Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ рСгулируСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ.

Π¨Π°Π³ΠΈ β€œΡ€Π°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅β€, β€œΠΌΡƒΡ‚Π°Ρ†ΠΈΡβ€ ΠΈ β€œΠΎΡ‚Π±ΠΎΡ€β€ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнута Ρ‚ΠΎΡ‡ΠΊΠ° ΠžΡΡ‚Π°Π½ΠΎΠ²Π°. Π’ качСствС ΠΊΠΎΠ½Ρ†Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ достиТСниС максимального числа ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π»ΠΈΠ±ΠΎ ….

Иногда Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° для измСнСния популяции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ инвСрсии (Π² случаС с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π³Π΅Π½Π°ΠΌΠΈ) ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ врСмя ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ особи. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ условия Π½Π° поиск ΠΏΠ°Ρ€Ρ‹ для скрСщивания, Π³Π΄Π΅ ΠΎΠ±Π° родитСля Π±ΡƒΠ΄ΡƒΡ‚ схоТи ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π±ΡƒΠ΄ΡƒΡ‚ сильно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

РСализация

Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс ΠΎΠ΄Π½ΠΎΠΉ особи, Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ: ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ области поиска экстрСмума, количСство шагов для ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΈ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ 2 поля, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠΎ Π₯ ΠΈ Π£ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ, ΠΈ ΠΏΠΎΠ»Π΅, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π΅ Π·Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ Π² классС самой особи:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ сам класс для исполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² класс Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ: Ρ€Π°Π·ΠΌΠ΅Ρ€ популяции; ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ популяции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смоТСт Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ потомство; количСство шагов для ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ; шанс ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ особи; количСство исполнСний Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (количСство Ρ€Π°Π· для появлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ потомства), Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ поиска экстрСмума. Π’Π°ΠΊΠΆΠ΅ Π² классС Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ: Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для всСх ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° (Ρ…, Ρƒ),Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ кроссовСра (скрСщивания). НовыС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΠΎ Π₯ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ родитСля ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ родитСля ΠΏΠΎ Π₯, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ΠΏΠΎ Π£:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ написанию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ запуска самого гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Ρ‘ startGenetic Π² классС Genetic). Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ нашСй ΠΊΠΎΠ»ΠΎΠ½ΠΈΠΈ:

Π’ качСствС ΠΊΠΎΠ½Ρ†Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ»Π° колония. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ сортируСм ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ Π² порядкС убывания (для нахоТдСния ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ популяции, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ участиС Π² Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ:

И для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ особи Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° смоТСт Π΄Π°Ρ‚ΡŒ потомство:

ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ особью ΠΈ ΠΎΡ‚Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ приспособлСнных особСй Π² Π½ΠΎΠ²ΠΎΠΉ популяции, содСрТащСй Π΄Π΅Ρ‚Π΅ΠΉ:

И Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ провСряСм Π»ΡƒΡ‡ΡˆΡƒΡŽ особь Π² Π½ΠΎΠ²ΠΎΠΉ популяции Π½Π° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

На этом вСсь Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ. Запустим ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сфСры (Π΅Ρ‘ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ находится Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ 0,0):

Как Π²ΠΈΠ΄Π½ΠΎ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ смог Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ 5 Π·Π½Π°ΠΊΠΎΠ² послС запятой, Ρ‡Ρ‚ΠΎ являСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.

Алгоритм роя частиц

НСмного ΠΎΠ± Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅

Основная идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° роя частиц Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π³Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈ с ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСдой для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Благодаря Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ частиц получаСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ нахоТдСния экстрСмума Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ каТдая частица характСризуСтся трСмя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ: ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Π² пространствС ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΈ этом Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС частицы помнят Ρ‚ΠΎΡ‡ΠΊΡƒ, Π³Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ, ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΡƒΠ΄Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ. КаТдая частица Π·Π½Π°Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»Π° любая другая частица. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ влияСт случайноС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ.

Π’ классичСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° роя частиц для опрСдСлСния скорости частицы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Однако для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ класс роя, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° Π²Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ роя, коэффициСнты ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² смСщСния частиц ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ, количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ поиска экстрСмума:

Π’Π°ΠΊΠΆΠ΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс для ΠΎΠ΄Π½ΠΎΠΉ частицы:

Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡƒ для расчСта Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ частицы:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² классС Swarm ΠΈ протСстируСм:

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π’ Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ Π΅ΡΡ‚ΡŒ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. НаиболСС интСрСсными, Π½Π° ΠΌΠΎΠΉ взгляд, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π₯ΠΈΠΌΠΌΠ΅Π»ΡŒΠ±Π»Π°Ρƒ ΠΈ Вабличная функция Π₯ΠΎΠ»ΡŒΠ΄Π΅Ρ€Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠ². Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ GIF ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ matplotlib (для отрисовки Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²) ΠΈ imageio (для создания GIF). Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Запустим ΠΏΠΎ 2 Ρ€Π°Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π₯ΠΎΠ»ΡŒΠ΄Π΅Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ сходится Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ тСста):

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π”ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… 30 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ всС особи Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΠ»ΠΈΡΡŒ ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°, Π½ΠΎ послС этого всС ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ случайныС измСнСния, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· 4Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π³Π΅Π½ ΠΈ всС Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ поколСния Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² этой ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ сработаСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ роя частиц:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΡΡ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ роя частиц для тСста β„–1:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° всС частицы Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Π±ΠΎΠ»Π΅Π΅ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ сходится гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π­ΠΊΠ»ΠΈ (Ρƒ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (0,0)):

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

И эта ΠΆΠ΅ функция с использованиСм роя частиц:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ГСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ…ΡƒΠΆΠ΅ сходится Π² ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π½ΠΎΠ²ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π² случайной ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (ΠΌΠ΅ΠΆΠ΄Ρƒ родитСлями) появляСтся новая особь, Π° Ρ‚Π°ΠΊΠΆΠ΅ случайныС ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ всСгда ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ. Π ΠΎΠΉ частиц ΠΏΠ»Π°Π²Π½ΠΎ приблиТался ΠΊ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡƒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ.

Π’Ρ‹Π²ΠΎΠ΄

Как ΠΈΡ‚ΠΎΠ³ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈ протСстировано, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄Π²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ‡Π΅Π»ΠΈΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠΌΡƒΠ½Π½ΠΎΠΉ систСмы ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ быстрСС сходятся Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π½Π°ΠΉΡ‚ΠΈ нСсколько ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠ² ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‚ΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Π½ΠΈΡ…. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ смСсь Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΡ‚ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π΅Π΄ΠΎΡ‡Π΅Ρ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.ΠžΡΠ½ΠΎΠ²Ρ‹ гСнСтичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² гСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ описываСтся концСпция простого гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (ГА), ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Вводятся ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ понятия, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ прилоТСниях ГА. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡΡ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ГА ΠΈ излагаСтся тСория схСм, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±Π°Π·Ρƒ ГА. ΠžΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ прСимущСств ΠΈ нСдостатков ГА.

1.1. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ гСнСтичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сформулированы Π”ΠΆ. Π“.Π₯ΠΎΠ»Π»Π°Π½Π΄ΠΎΠΌ Π² ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ [2] ΠΈ Π² дальнСйшСм Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ рядом Π΄Ρ€ΡƒΠ³ΠΈΡ… исслСдоватСлСй. НаиболСС извСстной ΠΈ часто Ρ†ΠΈΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π² настоящСС врСмя являСтся монография Π”.Π“ΠΎΠ»Π΄Π±Π΅Ρ€Π³Π° [3], Π³Π΄Π΅ систСматичСски ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ основныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ области практичСского примСнСния ГА.

ГА ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, заимствованныС Ρƒ биологичСской Π½Π°ΡƒΠΊΠΈ – Π³Π΅Π½Π΅Ρ‚ΠΈΠΊΠΈ. Π’ ГА каТдая особь прСдставляСт ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ классичСском ГА особь кодируСтся строкой Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… символов – хромосомой, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ называСтся Π³Π΅Π½ΠΎΠΌ. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ особСй – ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ составляСт ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ. Поиск ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΡƒΠ±ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ выполняСтся Π² процСссС ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ популяции, Ρ‚.Π΅. ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ прСобразования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ мноТСства Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ гСнСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ, кроссинговСра ΠΈ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ. Π­Π’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ СстСствСнной ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ, основанныС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…:

Π­Ρ‚ΠΈ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ядро Π­Π’. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ…, популяция (мноТСство Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹) ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚ поколСния ΠΊ поколСнию.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡŽ искусствСнной популяции – поиск мноТСства Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставлСн Π½Π° рис.1.1.

ГА ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ мноТСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ (Π² ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅ «0» ΠΈ «1»).

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ГА случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ хромосом (стрингов). Π—Π°Ρ‚Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ (ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… основных гСнСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² :

Π’ процСссС поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ «ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ пространства поиска. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска Ρ€Π΅ΡˆΠ°ΡŽΡ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.

НапримСр, Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ практичСски основаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° использовании Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ сходимости с ΠΎΠ΄Π½ΠΎΠΉ стороны, Π½ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… экстрСмумов с Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ полярном ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ случайныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ всС пространство поиска, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ сходимости. Π’ ГА прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ прСимущСства этих Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². ΠŸΡ€ΠΈ этом ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ ΠΈ кроссинговСра Π΄Π΅Π»Π°ΡŽΡ‚ поиск Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ. Π¨ΠΈΡ€ΠΎΡ‚Ρƒ поиска обСспСчиваСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ процСсс вСдСтся Π½Π° мноТСствС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ – популяции ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ.

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ГА ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ области пространства Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ приспособлСны ΠΊ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… областСй с Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ значСниями Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° счСт объСдинСния ΠΊΠ²Π°Π·ΠΈΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… популяций.

УпомянутыС гСнСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ матСматичСской Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ‚Ρ€Π΅Ρ… ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π§.Π”Π°Ρ€Π²ΠΈΠ½Π°, Π“.МСндСля ΠΈ Π΄Π΅ Π’Ρ€Π΅ СстСствСнной ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ГА Π½Π° рис. 1.1. ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. Но сначала Π½Π° простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ рассмотрим основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ классичСского ГА.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ГСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· MachineLearning.

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ГСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (Π°Π½Π³Π». genetic algorithm) β€” это эвристичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ модСлирования ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡ€Π°, комбинирования ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ искомых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с использованиСм ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡŽ. ЯвляСтся Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… вычислСний (Π°Π½Π³Π». evolutionary computation). ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° являСтся Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «скрСщивания», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π΅ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², Ρ€ΠΎΠ»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Ρ€ΠΎΠ»ΠΈ скрСщивания Π² ΠΆΠΈΠ²ΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ приспособлСнности Π² пространствС поиска трСбуСтся Π½Π°ΠΉΡ‚ΠΈ (ΠΈΠ»ΠΈ ).

ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ процСссС сСлСкции Π²Ρ‹ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚Π±ΠΈΡ€Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π»Π΅Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. Π‘ΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π° мСсто ΠΏΠ°Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ создаёт Π΄Ρ€ΡƒΠ³ΡƒΡŽ, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π½Ρ‹ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠœΡƒΡ‚Π°Ρ†ΠΈΡ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ мСняСт ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ½ΡƒΡŽ.

Π˜Π½Ρ‹Π΅ обозначСния

НСсмотря Π½Π° Π²Π½ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ возраст, Π² гСнСтичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, ΠΏΡ€ΠΎΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‰Π΅ΠΉ ΠΊΠ°ΠΊ ΠΈΠ· Π³Π΅Π½Π΅Ρ‚ΠΈΠΊΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠΈ.

Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ обозначСния:

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ гСнСтичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

ГСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡:

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ пространства поиска

Π’ ГА часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ кодирования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ пространства поиска:

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ популяция

ΠžΡ†Π΅Π½ΠΊΠ° приспособлСнности

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚Π±ΠΎΡ€Π° (сСлСкции)

На этом этапС отбираСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ популяция для дальнСйшСго размноТСния. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π±Π΅Ρ€ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ число Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΠΎ приспособлСнности. Π˜ΠΌΠ΅Π΅Ρ‚ смысл Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ «ΠΊΠ»ΠΎΠ½ΠΎΠ²», Ρ‚.Π΅. особСй с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π³Π΅Π½ΠΎΠ².

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ скрСщивания

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ останова

Эвристики

ГСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π±ΠΎΠ³Π°Ρ‚Ρ‹ возмоТностями встраивания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… эвристик. Π”ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ сущСствуСт (ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚!) Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° популяции, способов ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ ΠΈ скрСщивания, Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции ΠΈ Ρ‚.ΠΏ.

ΠŸΠ»ΠΎΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ

ΠœΠ΅Ρ‚Π° ГА

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ГА

ΠŸΠΎΠ΄Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π° 2048 Π±ΠΈΡ‚

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ гСнСтичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Π₯ΠΎΠ»Π»Π°Π½Π΄ нСдвусмыслСнно ΠΏΠΈΡˆΠ΅Ρ‚[1], Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Ρ€Π°Π²Π½Ρ‹Ρ… условиях ГА Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, рассчитанный Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ (Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ). НапримСр, ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ нСбольшого пространства ΠΈΠ»ΠΈ любой эффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ спуска Π±ΡƒΠ΄Π΅Ρ‚ всСгда эффСктивнСС Ρ‡Π΅ΠΌ ГА. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² ситуации, ΠΊΠΎΠ³Π΄Π° ΠΎ Π·Π°Π΄Π°Ρ‡Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ a priori Π½Π΅ извСстно, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΠ³ΠΎ приблиТСния.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ класс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Hyperplane-defined functions, Holland), с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя[2] ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ гСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

ВСстовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ эффСктивной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° появляСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ простой тСстовой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая

МнСния

ΠšΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ с Π³Π΅Π½Π΅Ρ‚ΠΈΠΊΠΎΠΉ ΠΈ синтСтичСской Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ

ΠŸΡ€ΠΎΠΎΠ±Ρ€Π°Π· гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΈΠ· Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ, нСсомнСнно, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Β«ΠΏΠΎΠ΄ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΒ» ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ вопросы, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ эффСктивных Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ гСнСтичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ΄Π΅ΠΈ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ГА находят ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Ρƒ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΎΠ². НапримСр, Ρ‚Π°ΠΊΠΈΠ΅ явлСния ΠΊΠ°ΠΊ Π³Π°- Π΄ΠΈ- ΠΈ ΠΊΠ²Π°Π΄Ρ€Ρƒ- ΠΏΠ»ΠΎΠΈΠ΄Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ хромосом, инцСст, ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π°, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΈ Ρ‚.ΠΏ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠ° позволяСт Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ химичСской Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ n-ΠΏΠ»ΠΎΠΈΠ΄Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ хромосом, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ сущности вмСсто Π³Π΅Π½ΠΎΠ² ΠΈ Ρ‚.ΠΏ.

НСйронныС сСти ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ИНБ ΠΈ ГА часто ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ‚Π°Π½Π΄Π΅ΠΌΠ΅, Ρ‚.ΠΊ. ΠΈ Ρ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΡ€Π½ΠΈ ΠΈΠ· Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ (см. Π²Ρ‹ΡˆΠ΅ ΠΎΠ± эффСктивности ), Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ распространСния ошибки настройки ИНБ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ (Π½Π° порядок) быстрСС Π² простых случаях. А Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, настройка Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти Π² Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ происходит ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, скорСС всСго, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ разнится с гСнСтичСским ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ.

Аналогия с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ

Π’ случаС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠ³ΠΎ кроссинговСра ГА Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ вСсти сСбя ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·Ρƒ случайного поиска. Π’Π°ΠΊΠΆΠ΅ Ρƒ ГА Π΅ΡΡ‚ΡŒ аналогия со случайным поиском с Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠ΅ΠΉ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… стохастичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ аналогию с ГА.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Optlib. РСализация гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Rust

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° глобальной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f(x) срСди всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ x Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x’, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ f(x’) ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ минимальноС (ΠΈΠ»ΠΈ максимальноС) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ этом x ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ мноТСствам β€” Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΌ числам, вСщСствСнным числам, комплСксным числам, Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌ ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌ.

БущСствуСт мноТСство Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ находят экстрСмум Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΈΠ»ΠΈ максимумом Π²Π±Π»ΠΈΠ·ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ x0. К Ρ‚Π°ΠΊΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ относятся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ спуска. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ часто Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ (ΠΈΠ»ΠΈ максимум) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ измСнСния x ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ глобального экстрСмума ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… экстрСмумов.

Π“Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ сойдСтся ΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ экстрСмуму ΠΎΠΊΠΎΠ»ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ. Для Π·Π°Π΄Π°Ρ‡ нахоТдСния глобального максимума ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ глобальной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ глобального экстрСмума, Ρ‚.ΠΊ. ΡΠ²Π»ΡΡŽΡ‚ΡΡ вСроятностными Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π΅ остаСтся ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ справится с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π° минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ врСмя ΠΈ с максимальной Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ нахоТдСния глобального экстрСмума.

Один ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных (ΠΈ слоТных Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² β€” гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

ΠžΠ±Ρ‰Π°Ρ схСма гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ИдСя гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€ΠΎΠΆΠ΄Π°Π»Π°ΡΡŒ постСпСнно ΠΈ Π±Ρ‹Π»Π° сформирована Π² ΠΊΠΎΠ½Ρ†Π΅ 1960-Ρ… β€” Π½Π°Ρ‡Π°Π»Π΅ 1970-Ρ… Π³ΠΎΠ΄ΠΎΠ². ΠœΠΎΡ‰Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ гСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠ½ΠΈΠ³ΠΈ Π”ΠΆΠΎΠ½Π° Π₯ΠΎΠ»Π»Π°Π½Π΄Π° «Адаптация Π² СстСствСнных ΠΈ искусствСнных систСмах» (1975 Π³.)

ГСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ основан Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ популяции особСй Π½Π° протяТСнии большого количСства ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ. Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ особи с Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π° Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ особи ΡƒΠΌΠΈΡ€Π°ΡŽΡ‚. Для опрСдСлСнности Π΄Π°Π»Π΅Π΅ пСрСчислСны Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² гСнСтичСском Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅.

ГСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях. НапримСр, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠΎΠ΄Π±ΠΎΡ€Π° вСсовых коэффициСнтов Π² Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтях. МногиС CAD-систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² устройства, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ трСбованиям. Π’Π°ΠΊΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ глобальной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΏΠΎΠ΄Π±ΠΎΡ€Π° располоТСния ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈ элСмСнтов Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

Бтруктурная схСма гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ этап Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° β€” это созданиС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ созданиС мноТСства особСй с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ значСниями хромосом x. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΈΠ· особСй со случайным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ хромосом, ΠΏΡ€ΠΈ этом ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ значСния хромосом Π² популяции ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π»ΠΈ всю ΠΎΠ±Π»Π°ΡΡ‚ΡŒ поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ, Ссли Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ экстрСмум.

ВмСсто случайного распрСдСлСния хромосом ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ хромосомы Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния x Π±Ρ‹Π»ΠΈ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСны ΠΏΠΎ всСй области поиска с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ шагом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ количСство особСй Π±ΡƒΠ΄Π΅Ρ‚ создано Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π§Π΅ΠΌ большС особСй Π±ΡƒΠ΄Π΅Ρ‚ создано Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС, Ρ‚Π΅ΠΌ большС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π°ΠΉΠ΄Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ трСбуСтся мСньшСС количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (количСство ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ). Однако ΠΏΡ€ΠΈ ростС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° популяции трСбуСтся всС большСС количСство расчСтов Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ выполнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… гСнСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапах Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° популяции увСличиваСтся врСмя расчСта ΠΎΠ΄Π½ΠΎΠ³ΠΎ поколСния.

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ€ популяции Π½Π΅ обязан ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ постоянным Π½Π° протяТСнии всСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, часто ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния Π½ΠΎΠΌΠ΅Ρ€Π° поколСния Ρ€Π°Π·ΠΌΠ΅Ρ€ популяции ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ, Ρ‚.ΠΊ. со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ всС большСС количСство особСй Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ всС Π±Π»ΠΈΠΆΠ΅ ΠΊ искомому Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ. Однако часто Ρ€Π°Π·ΠΌΠ΅Ρ€ популяции ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ постоянным.

Π’Ρ‹Π±ΠΎΡ€ особСй для скрСщивания

ПослС создания популяции Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ особи Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ скрСщивания (см. ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚). Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ этапа ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈΠ· Π½ΠΈΡ… β€” ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ особь с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС придСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ скрСщивания ΠΈ расчСта Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π›ΡƒΡ‡ΡˆΠ΅ Π΄Π°Ρ‚ΡŒ больший шанс Π½Π° скрСщиваниС особям с Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌΠΈ хромосомами (с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), Π° Ρ‚Π΅Ρ… особСй, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… цСлСвая функция большС (Ρ…ΡƒΠΆΠ΅) Π»ΠΈΡˆΠΈΡ‚ΡŒ возмоТности ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ потомство.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ особСй (ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ°Ρ€Ρ‹, Ссли Π² скрСщивании ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ большСС количСство особСй), для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ опСрация скрСщивания.

Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. НапримСр, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Или ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ особСй ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΈΠ· особСй, располоТСнных Π±Π»ΠΈΠΆΠ΅ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ отсортированного списка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· особСй Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ списка, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Ρ€Π΅Ρ‚ΠΈ списка ΠΈ Ρ‚.ΠΏ.) Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ»ΠΎΡ… Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ трСбуСтся врСмя Π½Π° сортировку особСй.

Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΡƒΡ€Π½ΠΈΡ€Π°. Когда Π½Π° Ρ€ΠΎΠ»ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄Π΅Π½Ρ‚Π° Π½Π° скрСщиваниС случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ нСсколько особСй, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² Π±ΡƒΠ΄ΡƒΡ‰ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ отправляСтся Ρ‚Π° особь, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»ΡƒΡ‡ΡˆΠ΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. И Π΄Π°ΠΆΠ΅ здСсь ΠΌΠΎΠΆΠ½ΠΎ ввСсти элСмСнт случайности, Π΄Π°Π² нСбольшой шанс особи с Ρ…ΡƒΠ΄ΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒΒ» особь с Π»ΡƒΡ‡ΡˆΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΉ, обСзопасив Π΅Π΅ ΠΎΡ‚ выроТдСния, Ρ‚.Π΅. ΠΎΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° всС особи ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½Ρ‹Π΅ значСния хромосом, Ρ‡Ρ‚ΠΎ Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½ΠΎ сваливанию Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ экстрСмуму, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠΌΡƒ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ список ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ² для скрСщивания.

Π‘ΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅

Π‘ΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅ β€” это гСнСтичСская опСрация, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ особи с Π½ΠΎΠ²Ρ‹ΠΌΠΈ значСниями хромосом. НовыС хромосомы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½Π° основС хромосом Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π§Π°Ρ‰Π΅ всСго Π² процСссС скрСщивания ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ² создаСтся ΠΎΠ΄Π½Π° дочСрняя особь, Π½ΠΎ тСорСтичСски Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… особСй ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ большС.

Алгоритм скрСщивания Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами. Если Ρƒ особСй Ρ‚ΠΈΠΏ хромосом β€” число, Ρ‚ΠΎ самоС простоС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ хромосому ΠΊΠ°ΠΊ срСднСС арифмСтичСскоС ΠΈΠ»ΠΈ срСднСС гСомСтричСскоС ΠΎΡ‚ хромосом Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ этого достаточно, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° основС Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ скрСщиваниС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ дочСрняя хромосома состоит ΠΈΠ· части Π±ΠΈΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ родитСля ΠΈ части Π±ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ родитСля, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ΠΎΡ‡ΠΊΠ° разбиСния Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выбираСтся случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ скрСщивании ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π²Π° Ρ€Π΅Π±Π΅Π½ΠΊΠ°, часто ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ….

Если Ρ‚ΠΎΡ‡ΠΊΠ° разбиСния Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… хромосом ΠΎΠ΄Π½Π°, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрСщиваниС называСтся ΠΎΠ΄Π½ΠΎΡ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΌ. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° хромосомы Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° нСсколько участков, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ этом случаС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ большС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… хромосом.

Если хромосомы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Ρ‚ΠΎ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ всС описанныС Π²Ρ‹ΡˆΠ΅ способы, Π½ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивны. НапримСр, Ссли числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ описано Ρ€Π°Π½Π΅Π΅, Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ скрСщивания Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ хромосомы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь Π² дальнСм Π·Π½Π°ΠΊΠ΅ послС запятой. Битуация особСнно усугубляСтся, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ… особь ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ ΠΎΠ΄Π½Ρƒ, Π° нСсколько хромосом, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Ρ†Π΅Π»Ρ‹Π΅ ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ). Π’ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΅Ρ‰Π΅ большС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² скрСщивания Ρ‚Π°ΠΊΠΈΡ… хромосом. НапримСр, ΠΏΡ€ΠΈ создании Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ особи ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ всС хромосомы Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хромосомы ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠœΡƒΡ‚Π°Ρ†ΠΈΡ

ΠœΡƒΡ‚Π°Ρ†ΠΈΡ β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ этап гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ хромосом особСй ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΡˆΠ°Π½ΡΡ‹ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ быстро сойдСтся ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ вмСсто глобального. ΠœΡƒΡ‚Π°Ρ†ΠΈΡ прСдставляСт собой случайноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² хромосомС особи, которая Π±Ρ‹Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ создана ΠΏΡƒΡ‚Π΅ΠΌ скрСщивания.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ устанавливаСтся Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ большой, Ρ‡Ρ‚ΠΎΠ±Ρ‹ мутация Π½Π΅ мСшала сходимости Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ особи с ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌΠΈ хромосомами.

Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ для скрСщивания, для ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ хромосому ΠΈΠ»ΠΈ нСсколько хромосом Π½Π° ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ. Но Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΌΡƒΡ‚Π°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π² хромосомС (ΠΈΠ»ΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… хромосомах) ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ ΠΈΠ»ΠΈ нСсколько Π±ΠΈΡ‚ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… рисунках.

ΠœΡƒΡ‚Π°Ρ†ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠœΡƒΡ‚Π°Ρ†ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ²:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚ для ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈΠ±ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Ρ‚ΡŒ случайной Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ особи ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅, Π½ΠΎ эта опСрация позволяСт с Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ хромосомС с Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… особСй.

ΠžΡ‚Π±ΠΎΡ€

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ скрСщивания ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ особи. Если Π±Ρ‹ Π½Π΅ сущСствовало этапа ΠΎΡ‚Π±ΠΎΡ€Π°, Ρ‚ΠΎ количСство особСй росло Π±Ρ‹ ΠΏΠΎ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π°ΠΊΠΎΠ½Ρƒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ‹ всС большСго количСства ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния популяции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ послС появлСния Π½ΠΎΠ²Ρ‹Ρ… особСй Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ ΠΎΡ‚ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… особСй. ИмСнно это происходит Π½Π° этапС ΠΎΡ‚Π±ΠΎΡ€Π°.

Алгоритмы ΠΎΡ‚Π±ΠΎΡ€Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅. Часто Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ особи, Ρ‡ΡŒΠΈ хромосомы Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» поиска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ количСство Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… особСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ постоянный Ρ€Π°Π·ΠΌΠ΅Ρ€ популяции. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСроятностныС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ для ΠΎΡ‚Π±ΠΎΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€Π° особи ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ значСния Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Условия окончания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… этапах гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, сущСствуСт нСсколько ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² окончания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ окончания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ послС Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (поколСния). Но этот ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ остороТно, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ являСтся вСроятностным, ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ запуски Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с Ρ€Π°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ окончания ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π½Π° случай, Ссли Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π½Π΅ удаСтся Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ большого количСства ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² качСствС ΠΏΠΎΡ€ΠΎΠ³Π° Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ достаточно большоС число.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ останова Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ прСрываСтся, Ссли Π½Π° протяТСнии Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π΅ появляСтся Π½ΠΎΠ²ΠΎΠ΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ нашСл Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ экстрСмум ΠΈΠ»ΠΈ застрял Π² локальном экстрСмумС.

Π’Π°ΠΊΠΆΠ΅ сущСствуСт нСблагоприятная ситуация, ΠΊΠΎΠ³Π΄Π° хромосомы всСх особСй ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ называСмая выроТдСнная популяция. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Π² этом случаС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ застрял Π² ΠΎΠ΄Π½ΠΎΠΌ экстрСмумС, ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ глобальном. ВывСсти ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈΠ· Ρ‚Π°ΠΊΠΎΠ³ΠΎ состояния способна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ удачная мутация, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ нСбольшой, ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ мутация создаст Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½ΡƒΡŽ особь, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ситуация с Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠΉ популяциСй рассматриваСтся ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΠΎΠ΄ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ критСрия Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ хромосомы всСх особСй, Π΅ΡΡ‚ΡŒ Π»ΠΈ срСди Π½ΠΈΡ… различия, ΠΈ Ссли Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… Π½Π΅ трСбуСтся нахоТдСния глобального ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°, Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мСньшС Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Π’ этом случаС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ досрочно, Ссли Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ удовлСтворяСт Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ.

optlib

Optlib β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для языка Rust, прСдназначСнная для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этих строк Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ планируСтся Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, добавляя Π² Π½Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Optlib ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написана Π½Π° Rust.

Optlib β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΠ½Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

optlib::genetic

Из описания гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ этапы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, подбирая ΠΈΡ… Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сходился ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π° минимальноС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ optlib::genetic создан Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Β«ΠΈΠ· ΠΊΡƒΠ±ΠΈΠΊΠΎΠ²Β». ΠŸΡ€ΠΈ создании экзСмпляра структуры, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π° гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания популяции, Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ², скрСщивания, ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ, ΠΎΡ‚Π±ΠΎΡ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСрывания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ этапов гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ свои Ρ‚ΠΈΠΏΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½ случай, ΠΊΠΎΠ³Π΄Π° хромосомы β€” это Π²Π΅ΠΊΡ‚ΠΎΡ€ Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл, Ρ‚.Π΅. ΠΊΠΎΠ³Π΄Π° минимизируСтся функция f(x), Π³Π΄Π΅ x β€” это Π²Π΅ΠΊΡ‚ΠΎΡ€ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (f32 ΠΈΠ»ΠΈ f64).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ с использованиСм optlib::genetic

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ genetic, рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π³ΠΎ использования для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ШвСфСля (Schwefel function). Π­Ρ‚Π° многомСрная функция рассчитываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ΠΈΠΏΠ°ΠΆ Optimizer объявлСн Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ стохастичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π°Π³Π΅Π½Ρ‚ΠΎΠ² (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π°Π³Π΅Π½Ρ‚ β€” это особь), Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ optlib Ρ‚Π°ΠΊΠΆΠ΅ содСрТит Ρ‚ΠΈΠΏΠ°ΠΆ AlgorithmWithAgents с СдинствСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ get_agents(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π°Π³Π΅Π½Ρ‚ΠΎΠ².

АгСнт, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, β€” это структура, которая Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏΠ°ΠΆ ΠΈΠ· optlib β€” Agent.

Π’ΠΈΠΏΠ°ΠΆΠΈ AlgorithmWithAgents ΠΈ Agent ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

И для AlgorithmWithAgents, ΠΈ для Agent Ρ‚ΠΈΠΏ T ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ для Optimizer, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ это Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ рассчитываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° GeneticOptimizer β€” рСализация гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Для структуры GeneticOptimizer Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠ±Π° Ρ‚ΠΈΠΏΠ°ΠΆΠ° β€” Optimizer ΠΈ AlgorithmWithAgents.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ этап гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прСдставлСн своим Ρ‚ΠΈΠΏΠ°ΠΆΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с нуля ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ optlib::genetic Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ этапа гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля optlib::genetic Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ со Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ структурами ΠΈ функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ этапов гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠŸΡ€ΠΎ эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ сказано Π½ΠΈΠΆΠ΅. Π’Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΡ… ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ сущСствуСт ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ vec_float, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ этапы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для случая, Ссли цСлСвая функция рассчитываСтся ΠΎΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (f32 ΠΈΠ»ΠΈ f64).

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ структуры GeneticOptimizer объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ GeneticOptimizer ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-Ρ‚ΠΈΠΏΠ°ΠΆΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ этап Ρ€Π°Π±ΠΎΡ‚Ρ‹ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Иногда послС останова Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² структуры GeneticOptimizer: replace_pairing(), replace_cross(), replace_mutation(), replace_pre_birth(), replace_selection(), replace_stop_checker(). Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠ°ΠΆΠΈ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ структурС GeneticOptimizer ΠΏΡ€ΠΈ Π΅Π΅ создании.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ°ΠΆΠΈ для гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

Π’ΠΈΠΏΠ°ΠΆ Goal β€” цСлСвая функция

Π’ΠΈΠΏΠ°ΠΆ Goal объявлСн Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠœΠ΅Ρ‚ΠΎΠ΄ get() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ хромосомы.

Π’Π½ΡƒΡ‚Ρ€ΠΈ модуля optlib::genetic::goal содСрТится структура GoalFromFunction, которая Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΠ°ΠΆ Goal. Для этой структуры Π΅ΡΡ‚ΡŒ конструктор, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая являСтся Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой структуры ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠ°ΠΆ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Goal ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ΠΈΠΏΠ°ΠΆ Creator β€” созданиС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции

Π’ΠΈΠΏΠ°ΠΆ Creator описываСт «создатСля» Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ популяции. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏΠ°ΠΆ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠœΠ΅Ρ‚ΠΎΠ΄ create() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ хромосом, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ создана Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ популяция.

Для случая, Ссли оптимизируСтся функция ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::creator::vec_float Π΅ΡΡ‚ΡŒ структура RandomCreator для создания Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ распрСдСлСния хромосом случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° RandomCreator объявлСна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π΄Π΅ΡΡŒ NumCast β€” это Ρ‚ΠΈΠΏΠ°ΠΆ ΠΈΠ· ΠΊΡ€Π΅ΠΉΡ‚Π° num. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏΠ°ΠΆ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… числовых Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° from().

Π—Π΄Π΅ΡΡŒ population_size β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ популяции (количСство Π½Π°Π±ΠΎΡ€ΠΎΠ² хромосом, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ), Π° intervals β€” это Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов β€” ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ хромосомы (Π³Π΅Π½Π°) Π² Π½Π°Π±ΠΎΡ€Π΅ хромосом, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ этого Π²Π΅ΠΊΡ‚ΠΎΡ€Π° опрСдСляСт сколько хромосом содСрТится Π² Π½Π°Π±ΠΎΡ€Π΅ хромосом Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ особи.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ функция ШвСфСля для 15 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° f32. КаТдая пСрСмСнная Π΄ΠΎΠ»ΠΆΠ½Π° Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [-500; 500]. Π’ΠΎ Π΅ΡΡ‚ΡŒ для создания популяции Π²Π΅ΠΊΡ‚ΠΎΡ€ interval Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ 15 ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ (-500.0f32, 500.0f32).

Π’ΠΈΠΏΠ°ΠΆ Pairing β€” Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ² для скрСщивания

Π’ΠΈΠΏΠ°ΠΆ Pairing ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° особСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏΠ°ΠΆ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠœΠ΅Ρ‚ΠΎΠ΄ get_pairs() заимствуСт ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° структуру Population, которая содСрТит Π² сСбС всС особи популяции, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· эту структуру ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΈ Ρ…ΡƒΠ΄ΡˆΡƒΡŽ особь Π² популяции.

ΠœΠ΅Ρ‚ΠΎΠ΄ get_pairs() Ρ‚ΠΈΠΏΠ°ΠΆΠ° Pairing Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π²Π΅ΠΊΡ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят индСксы особСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π’ зависимости ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° скрСщивания (ΠΎ Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ сказано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅) ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π²Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ особи.

НапримСр, Ссли Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΊΡ€Π΅Ρ‰ΠΈΠ²Π°Ρ‚ΡŒΡΡ особи с индСксом 0 ΠΈ 10, 5 ΠΈ 2, 6 ΠΈ 3, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ get_pairs() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ vec![vec![0, 10], vec![5, 2], vec![6, 3]].

ΠœΠΎΠ΄ΡƒΠ»ΡŒ optlib::genetic::pairing содСрТит Π΄Π²Π΅ структуры, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ².

Для структуры RandomPairing Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏΠ°ΠΆ Pairing Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для скрСщивания ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Для структуры Tournament Ρ‚ΠΈΠΏΠ°ΠΆ Pairing Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ использовался ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΡƒΡ€Π½ΠΈΡ€Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΡƒΡ€Π½ΠΈΡ€Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ каТдая особь, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² скрСщивании, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ особь (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ побСдившСй особи Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС). Если Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Ρ‚ΡƒΡ€Π½ΠΈΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°ΡƒΠ½Π΄, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ особи, ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰ΡƒΡŽ «сСмью» ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ особь с мСньшим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ срСди этих Π΄Π²ΡƒΡ… особСй. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько Ρ€Π°ΡƒΠ½Π΄ΠΎΠ², Ρ‚ΠΎ побСдившая особь Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… случайных особСй.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ структуры Tournament объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ΠΈΠΏΠ°ΠΆ Cross β€” скрСщиваниС

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΈ сформированы «сСмьи» ΠΈΠ· особСй, для скрСщивания, Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… хромосомы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π΅ΠΉ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ хромосомами. Π­Ρ‚Π°ΠΏ скрСщивания прСдставлСн Ρ‚ΠΈΠΏΠ°ΠΆΠΎΠΌ Cross, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠœΠ΅Ρ‚ΠΎΠ΄ cross() выполняСт скрСщиваниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ parents β€” срСз ΠΈΠ· ссылок Π½Π° хромосомы Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ (Π½Π΅ сами особи) β€” ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ· Π½ΠΎΠ²Ρ‹Ρ… хромосом. Π Π°Π·ΠΌΠ΅Ρ€ parents зависит ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ² для скрСщивания с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΈΠΏΠ°ΠΆΠ° Pairing, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» описан Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π½ΠΎΠ²Ρ‹Π΅ хромосомы Π½Π° основС хромосом ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ parents Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ Π΄Π²ΡƒΠΌ.

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::cross содСрТатся структуры, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏΠ°ΠΆ Cross с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ скрСщивания.

Π’ΠΈΠΏΠ°ΠΆ Mutation β€” мутация

ПослС скрСщивания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти ΠΌΡƒΡ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π΅Ρ‚Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ хромосом, ΠΈ популяция Π½Π΅ ΡΠΊΠ°Ρ‚ΠΈΠ»Π°ΡΡŒ ΠΊ Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ. Для популяции ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Ρ‚ΠΈΠΏΠ°ΠΆ Mutation, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ЕдинствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ mutation() Ρ‚ΠΈΠΏΠ°ΠΆΠ° Mutation заимствуСт ссылку Π½Π° хромосому ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ хромосому. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС-Ρ‚Π°ΠΊΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ хромосомы, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° основС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π»ΠΈ ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ.

НСкоторыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::mutation.

Π’ этом ΠΌΠΎΠ΄ΡƒΠ»Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, содСрТится структура VecMutation, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ структурС VecCrossAllGenes, Ρ‚.Π΅. Π² случаС Ссли хромосома β€” это Π²Π΅ΠΊΡ‚ΠΎΡ€, VecMutation ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΈΠΏΠ°ΠΆ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Mutation ΠΈ примСняСт Π΅Π³ΠΎ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ для всСх элСмСнтов Π²Π΅ΠΊΡ‚ΠΎΡ€Π°, создавая Π½ΠΎΠ²Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ с ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π³Π΅Π½Π°ΠΌΠΈ (элСмСнтами Π²Π΅ΠΊΡ‚ΠΎΡ€Π°-хромосомы).

Π’Π°ΠΊΠΆΠ΅ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::mutation содСрТится структура BitwiseMutation, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏΠ°ΠΆ Mutation. Π­Ρ‚Π° структура ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство случайных Π±ΠΈΡ‚ Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΉ хромосомС. Π­Ρ‚Ρƒ структуру цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС со структурой VecMutation.

Π’ΠΈΠΏΠ°ΠΆ PreBirth β€” ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π΄ Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ

ПослС скрСщивания ΠΈ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ наступаСт этап ΠΎΡ‚Π±ΠΎΡ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ самыС Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ особи. Однако Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ optlib::genetic ΠΏΠ΅Ρ€Π΅Π΄ этапом ΠΎΡ‚Π±ΠΎΡ€Π° Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ этап, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ хромосомы. Π­Ρ‚ΠΎΡ‚ этап Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ расчСт Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для особСй часто Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ Π½Π΅Π·Π°Ρ‡Π΅ΠΌ Π΅Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ссли хромосомы Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ извСстный ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» поиска. НапримСр, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½Ρ‹ хромосомы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ [-500; 500].

Для выполнСния Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Ρ‚ΠΈΠΏΠ°ΠΆ PreBirth, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ЕдинствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ pre_birth() Ρ‚ΠΈΠΏΠ°ΠΆΠ° PreBirth заимствуСт ссылку Π½Π° ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡƒΡŽ Π²Ρ‹ΡˆΠ΅ структуру Population, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ ссылку Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ хромосом new_chromosomes. Π­Ρ‚ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€ хромосом, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… послС этапа ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ. РСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° pre_birth() Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· этого Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Ρ‚Π΅ хромосомы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ подходят ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ.

Для случая, Ссли оптимизируСтся функция ΠΎΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::pre_birth::vec_float содСрТится структура CheckChromoInterval, прСдназначСнная для удалСния хромосом, Ссли ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π²Π΅ΠΊΡ‚ΠΎΡ€ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ элСмСнт Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ структуры CheckChromoInterval выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π΄Π΅ΡΡŒ конструктор ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ с двумя элСмСнтами β€” ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² хромосомС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° intervals Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°-хромосомы особСй. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² качСствС intervals использовался Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ· 15 ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ (-500.0f32, 500.0f32).

Π’ΠΈΠΏΠ°ΠΆ Selection β€” ΠΎΡ‚Π±ΠΎΡ€

ПослС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π±ΠΎΡ€Π° хромосом ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ особи ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠΏΡƒΠ»ΡΡ†ΠΈΡŽ (структуру Population). Π’ процСссС создания особСй для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… рассчитываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. На этапС ΠΎΡ‚Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство особСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ популяция Π½Π΅ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Π»Π°ΡΡŒ бСсконСчно. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏΠ°ΠΆ Selection, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΠ°ΠΆ Selection, Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ kill() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ kill() структуры Individual (особь) для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ особи Π² популяции, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ.

Для ΠΎΠ±Ρ…ΠΎΠ΄Π° всСх особСй Π² популяции ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ IterMut() структуры Population.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ часто Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ нСсколько ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΠΎΡ‚Π±ΠΎΡ€Π°, Ρ‚ΠΎ ΠΏΡ€ΠΈ создании структуры GeneticOptimizer, конструктор ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ°ΠΆΠ΅ΠΉ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Selection.

Как ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ этапами гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::selection ΡƒΠΆΠ΅ прСдлагаСтся нСсколько Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ этапа ΠΎΡ‚Π±ΠΎΡ€Π°.

Π’ΠΈΠΏΠ°ΠΆ StopChecker β€” ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ останова

ПослС этапа ΠΎΡ‚Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ ΠΏΠΎΡ€Π° Π»ΠΈ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Как ΡƒΠΆΠ΅ писалось Π²Ρ‹ΡˆΠ΅, Π½Π° этом этапС Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ останова. Π—Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΈΠΏΠ°ΠΆ StopChecker, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ объявлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π΄Π΅ΡΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ can_stop() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ true, Ссли Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ false.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ optlib::genetic::stopchecker содСрТит нСсколько структур с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ критСриями останова ΠΈ Π΄Π²Π΅ структуры для создания ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π²:

Π’ΠΈΠΏΠ°ΠΆ Logger β€” Π»ΠΎΠ³ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ΠΈΠΏΠ°ΠΆ Logger Π½Π΅ влияСт Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½ΠΎ позволяСт ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Ρ‚ΠΈΠΏΠ°ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сбор статистики, связанной с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π’ΠΈΠΏΠ°ΠΆ Logger описан ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic::logging содСрТатся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ структуры, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°ΠΆ Logger:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для тСстирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Ѐункция ШвСфСля

Для тСстирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ΠΎ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ со мноТСством Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… экстрСмумов. ΠœΠΎΠ΄ΡƒΠ»ΡŒ optlib::testfunctions содСрТит нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::testfunctions содСрТится всСго Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Одна ΠΈΠ· этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” функция ШвСфСля, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ писалось Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π•Ρ‰Π΅ Ρ€Π°Π· напомню, Ρ‡Ρ‚ΠΎ эта функция записываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::testfunctions эта функция называСтся schwefel. Π­Ρ‚Π° функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ· N Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°Π±ΠΎΠ»ΠΎΠΈΠ΄

Другая функция для тСстирования Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ простая, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ всСго ΠΎΠ΄ΠΈΠ½ экстрСмум, ΠΈ для Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ достаточно простого Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ спуска, ΠΎΠ΄Π½Π°ΠΊΠΎ эта функция ΠΏΠΎΠ»Π΅Π·Π½Π° для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° простой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π­Ρ‚Π° функция записываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π€ΠΎΡ‚ΠΎ Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π­Ρ‚Π° функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ x’ = (1.0, 2.0,… N). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² этой Ρ‚ΠΎΡ‡ΠΊΠ΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::testfunctions эта функция называСтся paraboloid.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Описанная Π²Ρ‹ΡˆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° optlib позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ динамичСски Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ optlib::genetic), ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ планируСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ глобальной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ роя частиц, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ роя ΠΏΡ‡Π΅Π», Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ ΠΎΡ‚ΠΆΠΈΠ³Π° ΠΈ Π΄Ρ€.

МногоС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ optlib::genetic. Помимо добавлСния Π½ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… этапов Ρ€Π°Π±ΠΎΡ‚Ρ‹ гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для ускорСния расчСта ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния. Π’Π°ΠΊΠΆΠ΅ планируСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹ для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π΅ Π² консоль, Π° Π² Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ структуру для сбора статистики процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ сходимости гСнСтичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько Ρ€Π°Π· вызывался расчСт Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ качСствС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая запускаСт гСнСтичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ мноТСство Ρ€Π°Π· ΠΈ сохраняСт ΡƒΡΡ€Π΅Π΄Π½Π΅Π½Π½ΡƒΡŽ статистику. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с графичСским интСрфСйсом, которая Π±Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»Π° статистику выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π³Ρ€Π°Ρ„ΠΈΠΊ сходимости, распрСдСлСниС особСй ΠΏΠΎ пространству поиска ΠΈ Ρ‚.Π΄.)

Помимо этого планируСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ аналитичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ШвСфСля) для тСстирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π•Ρ‰Π΅ Ρ€Π°Π· напомню ссылки, связанныС с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ optlib:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *