Skip to content

Commit

Permalink
Перешёл на шрифт 10pt
Browse files Browse the repository at this point in the history
  • Loading branch information
ai committed Feb 8, 2010
1 parent cb3f88c commit 50085c8
Showing 1 changed file with 24 additions and 16 deletions.
40 changes: 24 additions & 16 deletions Диплом.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\documentclass[utf8,a5paper,portrait,12pt]{eskdtext}
\documentclass[utf8,a5paper,portrait,10pt]{eskdtext}
\usepackage{eskdplain}

\usepackage[T2A]{fontenc}
Expand All @@ -10,7 +10,7 @@
\renewcommand{\ESKDtitleFontI}{\ESKDfontIIsize}
\renewcommand{\ESKDtitleFontIV}{\fontsize{14pt}{14pt}}
\renewcommand{\ESKDtitleFontVIII}{\fontsize{12pt}{12pt}}
\renewcommand{\ESKDtitleFontX}{\ESKDfontIII\upshape}
\renewcommand{\ESKDtitleFontX}{\ESKDfontII\upshape}

\setcounter{tocdepth}{2}

Expand Down Expand Up @@ -123,7 +123,7 @@ \section{Генетические алгоритмы}
оценочной функции популяции, принимается оценочная функция лучшего члена
популяции).

Каждая итерация $G_{ga}(A) = S(Mi(Mu(R(A))))$ состоит из
Каждая итерация $G_{ga}(A) = S(Mi(Mu(R(A))))$ состоит из\\
операций:\cite{reinforcement}
\begin{enumerate}
\item Размножения $R(A)$ — увеличения популяции простым копированием.
Expand All @@ -140,6 +140,7 @@ \section{Генетические алгоритмы}
В конце каждой итерации с помощью функции останова $F(A)$, которую задаёт
разработчик, определяется нужно ли остановить цикл.

\newpage
\section{Анализ проблемы}

В данным момент, при создании программы, разработчики представляют алгоритм в
Expand All @@ -153,6 +154,7 @@ \section{Анализ проблемы}
единственный способ представить алгоритм, то выгоднее представить его в другом,
более эффективном для задачи виде.

\newpage
\section{Обзор имеющихся решений}

\subsection{Нейронная сеть}
Expand Down Expand Up @@ -234,6 +236,7 @@ \subsection{Анализ}
\item переменная имеет значение больше нуля;
\end{itemize}

\newpage
\begin{verbatim}
while (true) {
if (on_siganl('Input')) {
Expand Down Expand Up @@ -300,7 +303,7 @@ \subsection{Описания языка}
Команды в правиле будут выполнены только если все проверки условия будут
истинными. Команды записываются между \texttt{do} и \texttt{end} и могут быть
трёх видов: послать исходящий сигнал (\texttt{send X}), увеличить
(\texttt{up x}) или уменьшить (\texttt{down x}) значение переменной.
(\texttt{up~x}) или уменьшить (\texttt{down x}) значение переменной.

\subsection{Пример программы на $D^2NA$}
\begin{verbatim}
Expand Down Expand Up @@ -401,6 +404,7 @@ \subsubsection{Программа интерпретатора}
названием команды с двумя дефиса вначале (например, \texttt{-help}).
\end{itemize}

\newpage
Чтобы вызвать интерпретатор, нужно в текстовом термина набрать команду вида:

\texttt{d2na-vm} опции файл
Expand Down Expand Up @@ -434,6 +438,7 @@ \subsubsection{Программа интерпретатора}
Программа перестаёт работать получив со стандартного входа (\texttt{STDIN}) код
\texttt{ETX} об окончании текста. Его можно ввести нажав \texttt{Ctrl+C}.

\newpage
Рассмотрим пример работы с виртуальной машиной человеком:
\begin{verbatim}
~$ d2na-vm -p ping-pong.d2na
Expand Down Expand Up @@ -463,6 +468,7 @@ \subsubsection{Программа интерпретатора}
end
\end{verbatim}

\newpage
\subsubsection{Библиотека интерпретации}

Хоть программа-интерпретатор и позволяет работать с $D^2NA$-кодом и человеку,
Expand Down Expand Up @@ -555,6 +561,7 @@ \subsubsection{Библиотека интерпретации}
out #=> [:Output, :Output]
\end{verbatim}

\newpage
\subsection{Генератор}
Разработчик указывает требования к новой программе с помощью оценочной функции и
функции останова, с помощью которых генератор создаёт новый $D^2NA$-код
Expand Down Expand Up @@ -650,6 +657,7 @@ \subsubsection{Настройка генератора}
Вызванный без параметров возвращает текущее значение.
\end{itemize}

\newpage
Так же класс \texttt{D2NA::Evolution} содержит методы для управления ходом
генерации:
\begin{itemize}
Expand All @@ -674,15 +682,14 @@ \subsubsection{Настройка генератора}
e = D2NA::Evolution.new do
worker_count 4
min_population 10
protocode do
# Входящие/исходящие сигналы согласно
# условиям задачи
input :Print
output :Ping, :Pong
end
min_population 10
selection "First" do
# Первая оценочная функция
end
Expand All @@ -696,7 +703,6 @@ \subsubsection{Настройка генератора}
stagnation_limit 20
end
while e.next_step?
e.step!
# Выводим «!» при улучшении результата
Expand Down Expand Up @@ -854,7 +860,7 @@ \subsubsection{Оценочная функция}
значение \texttt{value} получить максимальную оценочную функцию, чтобы
остатся в следующущуй итерации.
\item \texttt{min(value)} — требует, чтобы тестируемая программа имела
минимальное значение \texttt{value}. Например, вызов
минимальное значение \texttt{value}. Например, вызов\\
\texttt{min(out.length)} требует, чтобы $D^2NA$-код посылал минимум
исходящих сигналов.
\end{itemize}
Expand Down Expand Up @@ -898,8 +904,8 @@ \subsubsection{Оценочная функция}
end
\end{verbatim}

Каждый метод проверки (\texttt{should}, \texttt{min}, \texttt{max},
\texttt{out\_should}, \texttt{out\_should\_has}, \texttt{out\_should\_hasnt},
Каждый метод проверки (\texttt{should}, \texttt{min}, \texttt{max}, \\
\texttt{out\_should}, \texttt{out\_should\_has}, \texttt{out\_should\_hasnt},\\
\texttt{out\_should\_be\_empty}) может принимать приоритет проверки с помощью
ключа \texttt{priority}.

Expand All @@ -926,6 +932,13 @@ \subsubsection{Популяция}
Хранится они должны по слоям — программы с одинаковыми результатом оценочной
функции должны иметь один слой.


\begin{figure}
\centering
\input{./images/population.tex}
\caption{Пример обрезки популяции}
\end{figure}

После размещения, программы набравшие минимальное значение оценочной функции
должны быть удалены по следующему алгоритму:

Expand Down Expand Up @@ -958,12 +971,6 @@ \subsubsection{Популяция}
(полученное для всех элементов первого слоя).
\end{itemize}

\begin{figure}
\centering
\input{./images/population.tex}
\caption{Пример обрезки популяции}
\end{figure}

\newpage
\section{Программная реализация}

Expand Down Expand Up @@ -1006,6 +1013,7 @@ \subsection{Средства разработки}

Для поставленных задач лучше всего подходил язык Ruby версии 1.9.

\newpage
\subsection{Язык программирования Ruby}

\subsubsection{Парадигма}
Expand Down

0 comments on commit 50085c8

Please sign in to comment.