Skip to content

Commit

Permalink
Update Genetic Algorithm theory
Browse files Browse the repository at this point in the history
  • Loading branch information
fuodorov committed Mar 18, 2024
1 parent d0b0867 commit 3097940
Show file tree
Hide file tree
Showing 7 changed files with 174 additions and 147 deletions.
49 changes: 1 addition & 48 deletions issc.tex
Original file line number Diff line number Diff line change
@@ -1,53 +1,6 @@
\documentclass{beamer}

% Тема презентации
\usetheme{Madrid}
% Цветовая схема
\usecolortheme{default}

% Кодировка и локализация
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

% Для математических символов
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

% Для вставки изображений
\usepackage{graphicx}

\usepackage{tikz}

% Путь к папке с изображениями (опционально)
\graphicspath{{src/figures/}}

% Настройка подписей к фигурам и таблицам
\usepackage{caption}

\renewcommand{\epsilon}{\ensuremath{\varepsilon}}
\renewcommand{\phi}{\ensuremath{\varphi}}
\renewcommand{\kappa}{\ensuremath{\varkappa}}
\renewcommand{\le}{\ensuremath{\leqslant}}
\renewcommand{\leq}{\ensuremath{\leqslant}}
\renewcommand{\ge}{\ensuremath{\geqslant}}
\renewcommand{\geq}{\ensuremath{\geqslant}}
\renewcommand{\emptyset}{\varnothing}

\makeatletter
\AtBeginPart{%
\beamer@tocsectionnumber=0\relax
\setcounter{section}{0}
\frame{
\partpage
}
\frame{
\frametitle{Содержание}
\tableofcontents
}
}
\makeatother
\input{preamble_presentation}

% Информация о презентации
\title[KENV \& REDPIC]{Создание программного комплекса для расчета динамики частиц во~внешних~электромагнитных~полях}
Expand Down
48 changes: 48 additions & 0 deletions preamble_presentation.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
% Тема презентации
\usetheme{Madrid}
% Цветовая схема
\usecolortheme{default}

% Кодировка и локализация
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

% Для математических символов
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

% Для вставки изображений
\usepackage{graphicx}

\usepackage{tikz}

% Путь к папке с изображениями (опционально)
\graphicspath{{src/figures/}}

% Настройка подписей к фигурам и таблицам
\usepackage{caption}

\renewcommand{\epsilon}{\ensuremath{\varepsilon}}
\renewcommand{\phi}{\ensuremath{\varphi}}
\renewcommand{\kappa}{\ensuremath{\varkappa}}
\renewcommand{\le}{\ensuremath{\leqslant}}
\renewcommand{\leq}{\ensuremath{\leqslant}}
\renewcommand{\ge}{\ensuremath{\geqslant}}
\renewcommand{\geq}{\ensuremath{\geqslant}}
\renewcommand{\emptyset}{\varnothing}

\makeatletter
\AtBeginPart{%
\beamer@tocsectionnumber=0\relax
\setcounter{section}{0}
\frame{
\partpage
}
\frame{
\frametitle{Содержание}
\tableofcontents
}
}
\makeatother
49 changes: 1 addition & 48 deletions presentation.tex
Original file line number Diff line number Diff line change
@@ -1,53 +1,6 @@
\documentclass{beamer}

% Тема презентации
\usetheme{Madrid}
% Цветовая схема
\usecolortheme{default}

% Кодировка и локализация
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

% Для математических символов
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

% Для вставки изображений
\usepackage{graphicx}

\usepackage{tikz}

% Путь к папке с изображениями (опционально)
\graphicspath{{src/figures/}}

% Настройка подписей к фигурам и таблицам
\usepackage{caption}

\renewcommand{\epsilon}{\ensuremath{\varepsilon}}
\renewcommand{\phi}{\ensuremath{\varphi}}
\renewcommand{\kappa}{\ensuremath{\varkappa}}
\renewcommand{\le}{\ensuremath{\leqslant}}
\renewcommand{\leq}{\ensuremath{\leqslant}}
\renewcommand{\ge}{\ensuremath{\geqslant}}
\renewcommand{\geq}{\ensuremath{\geqslant}}
\renewcommand{\emptyset}{\varnothing}

\makeatletter
\AtBeginPart{%
\beamer@tocsectionnumber=0\relax
\setcounter{section}{0}
\frame{
\partpage
}
\frame{
\frametitle{Содержание}
\tableofcontents
}
}
\makeatother
\input{preamble_presentation}

% Информация о презентации
\title[KENV \& REDPIC]{Создание программного комплекса для расчета динамики частиц во~внешних~электромагнитных~полях}
Expand Down
51 changes: 2 additions & 49 deletions skif_ml_meetup.tex
Original file line number Diff line number Diff line change
@@ -1,56 +1,9 @@
\documentclass{beamer}

% Тема презентации
\usetheme{Madrid}
% Цветовая схема
\usecolortheme{default}

% Кодировка и локализация
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

% Для математических символов
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

% Для вставки изображений
\usepackage{graphicx}

\usepackage{tikz}

% Путь к папке с изображениями (опционально)
\graphicspath{{src/figures/}}

% Настройка подписей к фигурам и таблицам
\usepackage{caption}

\renewcommand{\epsilon}{\ensuremath{\varepsilon}}
\renewcommand{\phi}{\ensuremath{\varphi}}
\renewcommand{\kappa}{\ensuremath{\varkappa}}
\renewcommand{\le}{\ensuremath{\leqslant}}
\renewcommand{\leq}{\ensuremath{\leqslant}}
\renewcommand{\ge}{\ensuremath{\geqslant}}
\renewcommand{\geq}{\ensuremath{\geqslant}}
\renewcommand{\emptyset}{\varnothing}

\makeatletter
\AtBeginPart{%
\beamer@tocsectionnumber=0\relax
\setcounter{section}{0}
\frame{
\partpage
}
\frame{
\frametitle{Содержание}
\tableofcontents
}
}
\makeatother
\input{preamble_presentation}

% Информация о презентации
\title[KENV \& REDPIC]{Оптимизация и восстановление огибающей пучка с помощью генетического алгоритма}
\title[KENV \& Genetic Algorithm]{Оптимизация и восстановление огибающей пучка с помощью генетического алгоритма}
\author[В.В. Федоров]{Федоров Вячеслав Васильевич}
\institute[НГУ \& ИЯФ]{
Новосибирский государственный университет \and
Expand Down
1 change: 1 addition & 0 deletions src/slides/genetic_algorithms/introduction.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ \section{Введение в генетические алгоритмы}
\item Они используют операции, подобные биологической эволюции, такие как селекция, кроссовер и мутация.
\item Генетические алгоритмы часто применяются для решения сложных задач оптимизации, где традиционные методы неэффективны.
\item Благодаря своей способности эффективно исследовать большие пространства поиска, они находят широкое применение в различных областях науки и инженерии.
\item Генетические алгоритмы скорее язык описания перебора.
\end{itemize}
\end{frame}
121 changes: 120 additions & 1 deletion src/slides/genetic_algorithms/scheme.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
\section{Процесс работы генетического алгоритма}
\subsection*{Схема работы генетического алгоритма}
\begin{frame}
\frametitle{\insertsection}
\frametitle{\insertsubsection}
\begin{figure}
\centering
\begin{tikzpicture}[node distance=1cm]
Expand All @@ -19,4 +20,122 @@ \section{Процесс работы генетического алгоритм
\draw[->] (newpop.west) -- ++(-1.5,0) |- (eval.west);
\end{tikzpicture}
\end{figure}
\end{frame}

\subsection*{Расшифровка терминов}
\begin{frame}
\frametitle{\insertsubsection}
\begin{itemize}
\item Особь "--- пробное решение.
\item Популяция/поколение "--- текущий набор особей.
\item Приспособленность "--- целевая функция.
\item Кроссовер/скрещивание "--- порождение "детей" от "родителей".
\item Мутация "--- случайное изменение "гена".
\item Ген "--- компонент решения.
\end{itemize}
\end{frame}

\subsection*{Создание начальной популяции}
\begin{frame}
\frametitle{\insertsubsection}
Как любые переборные методы генетический алгоритм существенно зависим от начальных позиций.

Возможные способы:
\begin{itemize}
\item Сводят пространство решений в $[0, 1]^n$ и берут равномерно рандомные точки.
\item Сводят к $\{0, 1\}^k$ с помощью бинаризации и берут орты.
\item Делают предварительное сэмплирование.
\end{itemize}
\end{frame}

\subsection*{Выбор подходящих особей для размножения}
\begin{frame}
\frametitle{\insertsubsection}
Возможные способы:
\begin{itemize}
\item Выбирать с вероятностью, пропорциональной "приспособленности".
\item Предварительно делать shuffle "приспособленности".
\item От "приспособленности"зависит очередность.
\item Можно выбирать равномерно из популяции.
\item Любые комбинации.
\end{itemize}
\end{frame}

\subsection*{Процесс скрещивания}
\begin{frame}
\frametitle{\insertsubsection}
Нужно сохранить лучшие черты, однако какие лучшие не ясно.
Следовательно, нужно устроить случайный процесс.

Возможные способы:
\begin{itemize}
\item Потомок имеет связанные "куски" ДНК родителей.
\begin{itemize}
\item N-point crossover.
\item Cut’n’splice.
\item Равномерное скрещивание.
\end{itemize}
\item Родители влияют на направление развития.
\item Много родителей.
\end{itemize}
\end{frame}

\subsection*{Процесс мутации}
\begin{frame}
\frametitle{\insertsubsection}
Нужен процесс мутации, т.к. использование только скрещивания может привести к вырождению популяции (genetic drift).
Мутация очень похожа на фазу выбора новой точки в случайном блуждании.

Возможные способы:
\begin{itemize}
\item Элементарные строковые преобразования.
\item Инвертирование бита.
\item Случайная мутация компонента.
\end{itemize}
\end{frame}

\subsection*{Мутация vs Скрещивание}
\begin{frame}
\frametitle{\insertsubsection}
Мутация "--- это способ "вылезти" из локальных экстремумов.
Скрещивание "--- глубину "влезания"в экстремумы.

Есть несколько паттернов поведения:
\begin{itemize}
\item Скрещивание круче, так как быстро бежит.
Мутация нужна только, чтобы убедиться, что других хороших направлений нет.
\item Мутация круче, так как обходит всё.
Скрещивание только немного ускоряет процесс.
\end{itemize}
\end{frame}

\subsection*{Процесс создания новой популяции}
\begin{frame}
\frametitle{\insertsubsection}
Возможные способы:
\begin{itemize}
\item Меняем процент "худших" стариков.
\item Вводим "penalty" за старость и меняем только если потомок лучше.
\item Старикам здесь не место.
\end{itemize}
\end{frame}

\subsection*{Преимущества и недостатки генетического алгоритма}
\begin{frame}
\frametitle{\insertsubsection}
Легко сделать, но сложно понять как оно работает.

Плюсы:
\begin{itemize}
\item Очень много вариантов отобразить наше понимание области.
\item Легко понять непрофессионалу.
\item Легко программируется.
\end{itemize}

Минусы:
\begin{itemize}
\item Когда не работает, непонятно за что хвататься.
\item Результаты зачастую не повторяются на другом множестве.
\item Большое поле для псевдонауки.
\end{itemize}
\end{frame}
2 changes: 1 addition & 1 deletion src/slides/thanks.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ \section{Благодарности}
\begin{frame}
\frametitle{\insertsection}
\begin{itemize}
\item Выражаю благодарность всем коллегам и научным руководителям за поддержку и ценные советы в ходе работы над проектом.
\item Выражаю благодарность всем коллегам и научному руководителю за поддержку и ценные советы в ходе работы над проектом.
\end{itemize}
\end{frame}

Expand Down

0 comments on commit 3097940

Please sign in to comment.