diff --git a/lab2/report/report.tex b/lab2/report/report.tex index d0d1fdb..187e7a1 100644 --- a/lab2/report/report.tex +++ b/lab2/report/report.tex @@ -467,7 +467,7 @@ \item $p_m = 0.001, 0.01, 0.05, 0.1, 0.2$ -- вероятность мутации. \end{itemize} - Результаты измерений представлены в таблицах \ref{tab:pc_pm_results_10}--\ref{tab:pc_pm_results_50}. В ячейках указано усредненное время в миллисекундах нахождения минимума функции. В скобках указано усредненное количество поколений, за которое было найдено решение. Каждый эксперимент запускался 30 раз. Если в ячейке стоит прочерк, то это означает, что решение не было найдено за 200 поколений. Лучшее значение по времени выполнения для каждого размера популяции выделено жирным шрифтом. + Результаты измерений представлены в таблицах \ref{tab:pc_pm_results_10}--\ref{tab:pc_pm_results_100}. В ячейках указано время в миллисекундах нахождения минимума функции. В скобках указано количество поколений, за которое было найдено решение. Если в ячейке стоит прочерк, то это означает, что решение не было найдено за 200 поколений. Лучшее значение по времени выполнения для каждого размера популяции выделено жирным шрифтом. \newcolumntype{Y}{>{\centering\arraybackslash}X} @@ -559,18 +559,19 @@ Ключевые наблюдения: \begin{itemize} - \item При небольших популяциях ($N=10$) повышение $p_m$ ускоряет поиск; наилучшее время при $p_c=0.5$, $p_m=0.2$ (3.1 мс, 44 пок.). - \item Для $N=25$ оптимум при умеренной мутации $p_m\in[0.05,0.10]$; минимум времени при $p_c=0.5$, $p_m=0.05$ (2.2 мс, 16 пок.) — лучшее среди всех экспериментов. - \item Для $N=50$ лучшее время при $p_c=0.6$, $p_m=0.01$ (4.6 мс, 19 пок.). Слишком большая мутация ($p_m=0.2$) резко ухудшает результаты. - \item Для $N=100$ оптимальны низкие $p_m$; лучший результат при $p_c=0.3$, $p_m=0.001$ (7.6 мс, 16 пок.). При $p_m=0.2$ решение часто не находится за 200 поколений. - \item Рост $N$ не гарантирует ускорения: число поколений может уменьшаться, но суммарное время часто растёт из-за большей стоимости одной итерации. + \item При небольших популяциях ($N=10$) лучший результат достигается при $p_c=0.7$, $p_m=0.1$ (1.1 мс, 9 пок.). Многие комбинации с низкой мутацией ($p_m \leq 0.01$) и высокой мутацией ($p_m=0.2$) не сходятся за 200 поколений. + \item Для $N=25$ оптимальные параметры: $p_c=0.5$, $p_m=0.001$ (1.9 мс, 10 пок.) — лучший результат среди всех экспериментов. Большинство комбинаций с $p_m \geq 0.05$ показывают плохую сходимость. + \item Для $N=50$ минимальное время при $p_c=0.4$, $p_m=0.001$ (3.3 мс, 11 пок.). Почти все комбинации с $p_m \geq 0.05$ не сходятся, что указывает на чувствительность к избыточной мутации. + \item Для $N=100$ лучший результат при $p_c=0.8$, $p_m=0.001$ (7.0 мс, 10 пок.). Только комбинации с очень низкой мутацией обеспечивают сходимость. + \item С ростом размера популяции диапазон работающих параметров сужается: для больших $N$ критична минимальная мутация ($p_m=0.001$). \end{itemize} Практические выводы: \begin{itemize} - \item Для умеренных затрат времени и стабильной сходимости разумно выбирать $N\approx25\text{--}50$, $p_c\approx0.5\text{--}0.6$, $p_m\approx0.01\text{--}0.05$. - \item Оптимальное $p_m$ снижается с ростом $N$: при малых популяциях полезна более агрессивная мутация, при больших — слабая. - \item Слишком большие значения $p_m$ и $p_c$ могут разрушать хорошие решения и ухудшать сходимость; стоит избегать $p_m\ge 0.2$ и высоких $p_c$ при больших $N$. + \item Для данной задачи axis parallel hyper-ellipsoid function оптимальная стратегия — использование очень низких значений мутации ($p_m=0.001$) для популяций $N \geq 25$. + \item Малые популяции ($N=10$) требуют умеренной мутации ($p_m=0.1$) для обеспечения достаточного разнообразия. + \item Функция показывает высокую чувствительность к параметрам: большинство неоптимальных комбинаций приводят к отсутствию сходимости за 200 поколений. + \item Лучшее соотношение скорости и надёжности показывает $N=25$ с минимальной мутацией — компромисс между вычислительными затратами и качеством решения. \end{itemize} \newpage @@ -585,7 +586,7 @@ \section*{Заключение} \addcontentsline{toc}{section}{Заключение} - В ходе первой лабораторной работы: + В ходе второй лабораторной работы: \begin{enumerate} \item Был изучен теоретический материал, основная терминология ГА, генетические операторы,