Свободные библиотеки интервальных вычислений при подготовке бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском государственном университете (Станислав Гончаров, OSEDUCONF-2022) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Екатерина ЛапшинаСтанислав Гончаров}} <blockquote> Рассмотрены варианты разработки программного кода с использованием свободного программного обеспечения, которое позволяет создать программный продукт с минимальным набором навыков через визуальные интерфейсы и конструкторы с помощью Low-code платформыИзучение интервальных вычислений входит в программу подготовки бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском Государственном Университете. Бакалавры знакомятся с интервальным анализом в курсе «Современные методы обработки числовых данных». Магистранты продолжают изучение интервальных вычислений в рамках курса «Компьютерные технологии в науке и образовании». Используя свободные библиотеки интервальных вычислений, авторы разработали библиотеку решения инженерных задач, которая используется в учебном процессе. </blockquote> {{VideoSection}} {{vimeoembed|917654020|800|450}} {{youtubelink|}} |TRsttECsqzU}} {{SlidesSection}} [[File:Тенденции разработки программного обеспечения с использованием Low-code платформСвободные библиотеки интервальных вычислений при подготовке направления «Математика и компьютерные науки» (Екатерина Лапшина, OSEDUCONF-2022).pdf|left|page=-|300px]] {{----}} == Thesis == Low-code платформы разработки — это приложение, котороеУвеличение вычислительных мощностей современных компьютеров предоставляет графический пользовательский интерфейс для программирования и, таким образом, разрабатывает код с большей скоростью и сокращает затраченные усилия с минимальным количеством кодирования. Подобные платформы реализованы в том числе, как свободное программноевозможность решать сложные научные и инженерные задачи, нередко требующие большого количества операций с плавающей точкой. Решение задач, описывающих реальные высокоточные процессы — есть хороший фундамент подготовки будущих инженеров и программистов. Одним из средств повышения достоверности компьютерных вычислений является интервальный анализ. В Кубанском Государственном Университете изучение интервальных вычислений входит в программу подготовки бакалавров и магистров направления «Математика и компьютерные науки». Бакалавры направления подготовки 02.03.01 «Математика и компьютерные науки» (направленность подготовки «Вычислительные, программные, информационные системы и компьютерные технологии» ) знакомятся с интервальным анализом в курсе «Современные методы обработки числовых данных». Магистранты (направление подготовки 02.04.01 Математика и компьютерные науки, направленность — Вычислительная математика) продолжают изучение интервальных вычислений в рамках курса «Компьютерные технологии в науке и образовании». На лабораторных работах используются следующие свободные программные средства интервальных вычислений(СПО)<ref name="d1">[https://www.hmong.press/wiki/Low-code_development_platform Платформа разработки low-code — определение]</ref>. Такие среды разработки применяются для создания прикладного программного обеспечения через графический интерфейс пользователя вместо стандартного программирования вручную. С помощью платформ Low-code возможно создание полностью рабочего приложения, а в редких случаях — с использованием дополнительного кодирования. Данные среды разработки также помогают сократить объём программирования, что позволяет ускорить создание приложений. Большим преимуществом является то, что расширяется круг людей, которые могут внести свой вклад в разработку приложения. Low-code платформы также могут снизить первоначальные затраты на настройку, обучение и обслуживание. Недавнее исследование бостонской компании Mendix показало, что спрос на разработчиков среди ИТ-специалистов достиг апогея. Почти шесть из десяти (57%) говорят, что количество персонала, необходимого для разработки программного обеспечения, увеличивается, а [https://www.reworked.co/information-management/whats-behind-the-explosion-of-low-code-and-no-code-applications/ стоимость разработки программного обеспечения растёт (61%)]. Также отметим, что в связи с растущими ожиданиями клиентов и изменением потребностей рынка после пандемии предприятия в разных отраслях всё Интервальный анализ и его приложения. Программное обеспечение и языки программирования. url: [http://www.nsc.ru/interval/?page=Programing]</ref>: ;[https://sourceforge.net/p/octave/interval/ci/default/tree/ Interval]: пакет интервальных вычислений для Octave. ;[https://github.com/boostorg/interval Boost interval]: библиотека интервалов на C++. ;[https://github.com/boostorg/interval Libieeep1788]: библиотека интервалов, реализующая интервальную арифметику стандарта IEEE 1788. В бакалавриате студенты в курсе «Современные методы обработки числовых данных» решают стандартные задачи, связанные с высокоточными вычислениями, а также несложные задачи интервального анализа (найти корни нелинейного уравнения, задачи линейной алгебры). Для решения подобных задач большинство студентов пользуется пакетом интервальных вычислений в Octave. В рамках лабораторных работ при изучении интервальных вычислений магистрантам могут быть предложены задачи, имеющие реальное прикладное инженерное значение. Например, * Нестационарная задача теплопроводности<ref name="d2">Ерёмин А. В., Кудинов И. В. Об одном методе решения нестационарных задач теплопроводности Вестник Самарского государственного технического университета. Серия: Технические науки. 2012. № 2 (34). С. 158—164.</ref> <latex> \begin{gather*} \frac{\partial t(x,\tau )}{\partial \tau }=a\frac{\partial ^2t(x,\tau )}{\partial x^2};\\ (\tau >0);0\le x\le \delta;\\ t(x,0)=t_0;\\ \frac{\partial t(0,\tau )}{\partial x}=0;\\ t(\delta ,\tau )=t_{\tilde n\grave o}. \end{gather*} </latex> * Задача Ван-Дер-Поля<ref name="d3">Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жёсткие и дифференциально-алгебраические задачи: пер. с англ. М. : Мир, 1999. 685 с.</ref> <latex> \begin{gather*} \frac{dy_1}{dt}=y_2\\ \frac{dy_2}{dt}=\mu (1-y_1^2)y_2-y_1;\\ y_1(0)=2;\\ y_2(0)=0;\\ 0\le t\le T \end{gather*} </latex> где <m>\mu</m> — коэффициент жёсткости. Причём, чем больше проявляют инициативу в создании цифрового контента для потребителей. Поэтому сегодня одним из актуальных решений является работа с Low-code платформами. Рассмотрим варианты Low-code платформ для различных целей. * [https://nl-значение µ, тем более жёсткой становится задача. * Прямая и обратная геодезические задачи<ref name="d4">Ботнев В. А., Устинов С. М. Методы решения прямой и обратной геодезических задач с высокой точностью Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Информатика. Телекоммуникации. Управление. 2014. № 3 (198). С. 49—58.</ref> Прямая задача:.ru/nla-framework NL!A framework] — российский бесплатный low-code framework, позволяющий создавать полноценные бизнес-приложения. Модели, заложенные в кодогенератор NL!A framework, позволяют за считаные секунды создать полноценное рабочее бизнес-приложение; * [https://www.outsystems.com/ OutSystem] — это надёжная и гибкая low-code платформа для разработки корпоративных мобильных и веб-приложений, которые разворачиваются в локальной или в гибридных средах; * [https://soware.ru/products/mendix Mendix] — это бескодовая (no-code) программная платформа, предоставляющая инструменты для создания, тестирования,развёртывания и проверки программных приложений. Помимо бесплатных версий популярных платформ, также существуют различные варианты Low-code СПО с открытым исходным кодом, таких как Appsemble, Skyve, Baserow и другие. Наличие таких разнообразных платформ говорит о популярности данных решений и их развитии. Есть ряд других причин, по которым предприятиям следует рассматривать Low-code платформы: # Более быстрый выход на рынок; # Повышение удовлетворённости клиентов; # Снижение затрат на ИТ-инфраструктуру; # Более эффективное управление приложениями; # Лучшее управление ИТ; Безусловно, подобные среды разработки — это панацея, а лишь вариант решения для создания программного продукта, поэтому Low-code платформы имеют ряд минусов: # Сложность в выборе подходящего ресурса; # Ограничения в функционале; # Зависимость от платформы; Рассматривая плюсы и минусы Low-code платформ, можно сделать вывод, что они отлично подходят для быстрого создания небольших проектов и увеличениязаданной широте <m>\varphi </m>1 и долготе <m>\lambda </m>1 первой точки требуется найти географические координаты <m>\varphi </m>2 и <m>\lambda </m>2 второй точки, если известны начальный азимут <m>\alpha</m> и расстояние Dреализуемых решений. Они сокращают разрыв между пользователями и разработчиками, что позволяет в короткий срок получить работающий прототип и сформировать видение будущей . Также можно проследить стремительное развитие данного направления в целом и как СПО. См также: Лапшина Е.А., Симонов В.Л. Преимущества информационных систем с веб-интерфейсом // XIX Международная конференция «Современныеэтими точками см рисунок: [[File:2023-oseduconf-4-img001.png|center|640px]] * Жёсткое дифференциальное уравнение первого порядка<ref name="d5">Бандурин Н. Г.Численное решение жёстких нелинейных задач. Вестник Волгоградского государственного архитектурно-строительного университета. Серия: Строительство и архитектура. 2010. № 17 (36). С. 17—23.</ref> <latex> \begin{gather*} \varepsilon{}y'+(1+t)y-t-1=0;\\ y(0)=0; t\in (0,2) \end{gather*} </latex> * Дифференциальное уравнение<ref name="d5"/> <latex> \begin{gather*} y'+y\tan (t)-100t^2\cos (t)^2=0;\\ y(0)=0; t\in (0,\frac{\pi } 2) \end{gather*} </latex> * Краевая задача<ref name="d5"/> <latex> \begin{gather*} \varepsilon y''+xy'+y=0;\\ y(0)=1;\\ y(1)=\exp (-0.5\varepsilon );\\ \varepsilon =1/300 \end{gather*} </latex> Количество часов, отводимых на изучение интервальных задач в магистратуре в рамках курса «Компьютерные технологии в науке и образовании» невелико. Чтобы все магистранты смогли справится с реальными задачами, была разработана библиотека решения задач методом интервальных вычислений. Библиотека использует класс интервалов библиотеки boost interval и свободные компиляторы семейства gcc. В состав библиотеки входят функции, реализующие: # Простейшие матричные операции (сложение, вычитание, умножение матрицы на число, произведение матриц, транспонирование матриц, вычисление обратной матрицы), вычисление определителя матрицы. # Алгоритмы решения систем линейных алгебраических уравнений (метод Гауса, Жордана-Гауса, LU-разложение, QR-разложение). # Алгоритмы решения нелинейных уравнений и систем. # Алгоритмы решения дифференциальных уравнений первого и второго порядков. Набор этих инструментов позволит использовать библиотеку в решении моделей инженерных задач в образовательном процессе. В результате изучения интервальных вычислений в рамках дисциплин «Современные методы обработки числовых данных» и «Компьютерные технологии в науке и образовании» студенты получат не только теоретические знания, но и смогут применить эти знания на практике при решении прикладных инженерных задач. <i>Работа выполнена при финансовой поддержке Кубанского научного фонда в рамках научного проекта № ППН-21.1/10 «Цифровая дидактика для предметного обучения, воспитательной работы учащихся и профессиональной подготовки учителей».</i> технологии в образовании, науке и промышленности» 29—30 апреля 2021 года, г. Москва. {{----}} [[File:{{#setmainimage:Тенденции разработки программного обеспечения с использованием Low-code платформСвободные библиотеки интервальных вычислений при подготовке направления «Математика и компьютерные науки» (Екатерина Лапшина, OSEDUCONF-2022)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> <references/> [[Категория:OSEDUCONF-2022]] [[Категория:Draft]] |
Текущая версия на 10:37, 7 марта 2024
- Докладчик
- Станислав Гончаров
Изучение интервальных вычислений входит в программу подготовки бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском Государственном Университете. Бакалавры знакомятся с интервальным анализом в курсе «Современные методы обработки числовых данных». Магистранты продолжают изучение интервальных вычислений в рамках курса «Компьютерные технологии в науке и образовании».
Используя свободные библиотеки интервальных вычислений, авторы разработали библиотеку решения инженерных задач, которая используется в учебном процессе.
Содержание
Видео
Презентация
Thesis
Увеличение вычислительных мощностей современных компьютеров предоставляет возможность решать сложные научные и инженерные задачи, нередко требующие большого количества операций с плавающей точкой. Решение задач, описывающих реальные высокоточные процессы — есть хороший фундамент подготовки будущих инженеров и программистов.
Одним из средств повышения достоверности компьютерных вычислений является интервальный анализ. В Кубанском Государственном Университете изучение интервальных вычислений входит в программу подготовки бакалавров и магистров направления «Математика и компьютерные науки». Бакалавры направления подготовки 02.03.01 «Математика и компьютерные науки» (направленность подготовки «Вычислительные, программные, информационные системы и компьютерные технологии» ) знакомятся с интервальным анализом в курсе «Современные методы обработки числовых данных». Магистранты (направление подготовки 02.04.01 Математика и компьютерные науки, направленность — Вычислительная математика) продолжают изучение интервальных вычислений в рамках курса «Компьютерные технологии в науке и образовании».
На лабораторных работах используются следующие свободные программные средства интервальных вычислений[1]:
- Interval
- пакет интервальных вычислений для Octave.
- Boost interval
- библиотека интервалов на C++.
- Libieeep1788
- библиотека интервалов, реализующая интервальную арифметику стандарта IEEE 1788.
В бакалавриате студенты в курсе «Современные методы обработки числовых данных» решают стандартные задачи, связанные с
высокоточными вычислениями, а также несложные задачи интервального анализа (найти корни нелинейного уравнения, задачи
линейной алгебры). Для решения подобных задач большинство студентов пользуется пакетом интервальных вычислений в
Octave.
В рамках лабораторных работ при изучении интервальных вычислений магистрантам могут быть предложены задачи, имеющие реальное прикладное инженерное значение. Например,
- Нестационарная задача теплопроводности[2]
- Задача Ван-Дер-Поля[3]
где — коэффициент жёсткости. Причём, чем больше значение µ, тем более жёсткой становится задача.
- Прямая и обратная геодезические задачи[4]
Прямая задача: по заданной широте 1 и долготе 1 первой точки требуется найти географические координаты 2 и 2 второй точки, если известны начальный азимут и расстояние D между этими точками см рисунок:
- Жёсткое дифференциальное уравнение первого порядка[5]
- Дифференциальное уравнение[5]
- Краевая задача[5]
Количество часов, отводимых на изучение интервальных задач в магистратуре в рамках курса «Компьютерные технологии в науке и образовании» невелико. Чтобы все магистранты смогли справится с реальными задачами, была разработана библиотека решения задач методом интервальных вычислений. Библиотека использует класс интервалов библиотеки boost interval и свободные компиляторы семейства gcc. В состав библиотеки входят функции, реализующие:
- Простейшие матричные операции (сложение, вычитание, умножение матрицы на число, произведение матриц, транспонирование матриц, вычисление обратной матрицы), вычисление определителя матрицы.
- Алгоритмы решения систем линейных алгебраических уравнений (метод Гауса, Жордана-Гауса, LU-разложение, QR-разложение).
- Алгоритмы решения нелинейных уравнений и систем.
- Алгоритмы решения дифференциальных уравнений первого и второго порядков.
Набор этих инструментов позволит использовать библиотеку в решении моделей инженерных задач в образовательном процессе.
В результате изучения интервальных вычислений в рамках дисциплин «Современные методы обработки числовых данных» и «Компьютерные технологии в науке и образовании» студенты получат не только теоретические знания, но и смогут применить эти знания на практике при решении прикладных инженерных задач.
Работа выполнена при финансовой поддержке Кубанского научного фонда в рамках научного проекта № ППН-21.1/10 «Цифровая дидактика для предметного обучения, воспитательной работы учащихся и профессиональной подготовки учителей».
Примечания и ссылки
- ↑ Интервальный анализ и его приложения. Программное обеспечение и языки программирования. url: [1]
- ↑ Ерёмин А. В., Кудинов И. В. Об одном методе решения нестационарных задач теплопроводности Вестник Самарского государственного технического университета. Серия: Технические науки. 2012. № 2 (34). С. 158—164.
- ↑ Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жёсткие и дифференциально-алгебраические задачи: пер. с англ. М. : Мир, 1999. 685 с.
- ↑ Ботнев В. А., Устинов С. М. Методы решения прямой и обратной геодезических задач с высокой точностью Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Информатика. Телекоммуникации. Управление. 2014. № 3 (198). С. 49—58.
- ↑ 5,0 5,1 5,2 Бандурин Н. Г.Численное решение жёстких нелинейных задач. Вестник Волгоградского государственного архитектурно-строительного университета. Серия: Строительство и архитектура. 2010. № 17 (36). С. 17—23.