[presentation] Add content

This commit is contained in:
AVAtarMod 2023-10-18 21:49:33 +03:00
parent b8636adb4c
commit ef87c08cb5
Signed by: stud128245
GPG Key ID: 43198AE4D0774328

View File

@ -1,6 +1,4 @@
\documentclass{beamer}
\usepackage[russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[outputdir=cache]{minted}
@ -14,7 +12,7 @@
\title[]{\cwtitle}
\institute[]{ФГБОУ ВО «Вятский государственный университет»}
\date{\null}
\author[ ]{Студент ПМИб-3301-52-00 \cwauthor\\ \and к.п.н. А.Н.~Соколова}
\author[ ]{Студент ПМИб-3301-52-00 \cwauthor \newline \and к.п.н. А.Н.~Соколова}
\newcommand\frametitleSpec[1]{%
\frametitle{#1}
@ -27,43 +25,145 @@
\begin{document}
\begin{frame}
\centering\includegraphics[width=0.4\textwidth]{files/vyatsu_logo.png}\\
\centering\includegraphics[width=0.4\textwidth]{assets/vyatsu_logo.png}\\
\titlepage
\end{frame}
\begin{frame}
\frametitle{План доклада}
\tableofcontents
\end{frame}
\begin{frame}
\frametitleSpec{Введение}
Активное внедрение компьютеров во всевозможные отрасли жизни человека привело к тому, что при решении прикладных задач требование к скорости и дешевизне разработки стало выше требований производительности и ресурсоемкости разрабатываемой программы.
Для языка Python разработаны библиотеки numpy и scipy
математической направленности.
Они включают в себя множество алгоритмов решения разнообразных задач, в том числе для интегрирования функций, осуществления операций над массивами и
матрицами.
\begin{enumerate}
\item Проблема состоит в том, что на данный момент ОС, которая бы могла более эффективно использовать текущее АО устройств, не разработана.
\item Целью данной работы является рассмотрение архитектуры и разработка части прототипа данной ОС.
\item Проблема состоит в том, что на данный момент особенности
библиотек, полнота их возможностей с точки зрения решения
задач численными методами недостаточно исследованы.
\item \textbf{Целью} данной работы является исследование
вышеприведенных характеристик данных библиотек.
\item Для достижения цели курсового проекта необходимо выполнить
следующие \textbf{задачи}:
\begin{itemize}
\item Изучить архитектуру и требования прототипа ОС.
\item Определить перечень сервисов обеспечения целостности и оптимизации экосистемы устройств.
\item Разработать БД и сервисы обеспечения целостности и оптимизации прототипа экосистемы устройств.
\item Изучить распространенные численные методы решения
основных классов задач.
\item Изучить документацию библиотек numpy и scipy на
предмет реализации рассмотренных методов.
\item Экспериментально исследовать возможности
реализаций рассмотренных численных методов данных
библиотек.
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitleSpec{О программной реализации}
Реализация сервисов написана на языке C++ в виде отдельных компонентов.
\frametitleSpec{Рассмотренные численные методы}
Всего было рассмотрено 20 численных методов, каждый из которых
решает свой класс задач:
\begin{enumerate}
\item Решение нелинейных уравнений
\begin{itemize}
\item Метод деления отрезка пополам
\item Метод касательных (Ньютона)
\item Метод простой итерации
\end{itemize}
\item Решение СЛУ:
\begin{itemize}
\item Метод Гаусса
\item Метод обратной матрицы
\item Метод прогонки
\item Метод простой итерации
\item Метод Зейделя
\end{itemize}
\item Решение систем нелинейных уравнений, с помощью метода Ньютона, и модифицированных версий методов Зейделя и простой итерации.
\end{enumerate}
\end{frame}
\begin{frame}
\begin{enumerate}
\item Аппроксимация функций
\begin{itemize}
\item Интерполяционные полиномы Лагранжа, Ньютона
\item Сплайн-интерполяция
\item Сглаживание. Метод наименьших квадратов
\end{itemize}
\item Численное интегрирование
\begin{itemize}
\item Метод трапеций
\item Метод парабол
\end{itemize}
\item Решение задачи Коши ОДУ
\begin{itemize}
\item Метод Эйлера, и его модифицированная версия
\item Метод Рунге-Кутта
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitleSpec{Экспериментальное исследование библиотек}
Была разработана программа на языке Python, использующая
возможности scipy и numpy для решения задач.
\begin{figure}[h]
\centering
\includegraphics[width=0.25\textwidth]{files/cpp-logo.png}
\includegraphics[width=0.25\textwidth]{assets/python-logo.png}
\end{figure}
В программе были приведены примеры решения СЛУ, нелинейных уравнений
и задач аппроксимации функций с помощью описанных в данной работе
методов. Программа не интерактивная.
\end{frame}
\begin{frame}
\frametitleSpec{Результаты работы программы}
\begin{figure}
\includegraphics[width=0.5\textwidth]{assets/bisect}
\end{figure}
\begin{figure}
\includegraphics[width=0.65\textwidth]{assets/Gauss}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}
\includegraphics[width=1\textwidth]{assets/lagrange.png}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}
\includegraphics[width=1\textwidth]{assets/CubicSpline}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}
\includegraphics[width=1\textwidth]{assets/Akima1DInterpolator.png}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}
\includegraphics[width=1\textwidth]{assets/curve_fit.png}
\end{figure}
\end{frame}
\begin{frame}
\frametitleSpec{Заключение}
При реализации прототипа экосистемы был разработан один из возможных вариантов деления на подсистемы, и рассмотрены возможные пути реализации.
Из недостатков текущей реализации можно отметить отсутствие компонента, отвечающего за безопасность и разделения прав доступа пользователей к вычислительным ресурсам сервера.
Таким образом, задачи проекта выполнены, цель проекта достигнута.
В ходе выполнения работы были выполнены поставленные задачи, цель
достигнута. В ходе исследования возможностей библиотек выяснилось,
что они не содержат реализаций численных методов для
решения систем нелинейных уравнений.
В целом, в ходе работы с библиотеками стоит отметить положительные
стороны: гибкость интерфейсов, высокое качество решений, большое
количество доступной информации о результатах работы алгоритма.
Из недостатков интерфейса библиотек можно отметить его
неоднородность --- некоторые численные методы реализованы с помощью
классов, другие с помощью функций, что может незначительно
увеличить время на освоение интерфейса библиотек и ее возможностей
пользователями.
\end{frame}
\begin{frame}
\begin{center}