Участник:Greno4ka/Вычисление определенного интеграла с использованием адаптивно сгущающейся сетки: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
 
Строка 1: Строка 1:
 
= ЧАСТЬ. Свойства и структура алгоритмов =
 
= ЧАСТЬ. Свойства и структура алгоритмов =
Свойства
 
  
 
== Общее описание алгоритма ==
 
== Общее описание алгоритма ==
  
 +
На примере задачи вычисления определенного интеграла от аналитически заданной функции рассматриваются алгоритмы, минимизирующие время решения задачи на многопроцессорной вычислительной системе. Их использование обеспечивает снижение времени решения задачи относительно «наилучшего» доступного последовательного алгоритма. Определение эффективности параллельного алгоритма относительно собственной же последовательной версии, как правило, не корректно. Обладающий высокой эффективностью параллельный алгоритм может по времени выполнения проигрывать лучшему из доступных последовательных алгоритмов решения той же задачи. Далее рассматриваются алгоритмы, минимизирующие именно
 +
время решения задачи, оперирующей относительно небольшим объемом данных. Применяемые подходы могут быть полезны при решении
 +
широкого круга проблем.
  
 
== Математическое описание алгоритма ==
 
== Математическое описание алгоритма ==
  
 +
В качестве модельной задачи рассматривается проблема вычисления с точностью ε значение определенного интеграла:
 +
 +
<math>I(a,b) = \int_a^b{f(x)dx}</math>
 +
 +
Пусть на отрезке <math> [a,b] </math> задана равномерная сетка, содержащая <math> n+1 </math> узел:
 +
 +
<math> x_{i} = a + \frac{(b - a)} {n} i,  i = 0,...,n </math>
 +
 +
Тогда, согласно методу трапеций, можно численно найти определенный интеграл от функции <math> f (x) </math> на отрезке <math>[a,b]</math>:
 +
 +
формула
 +
 +
Будем полагать значение I найденным с точностью ε, если выполнено условие
  
 
== Вычислительное ядро алгоритма ==
 
== Вычислительное ядро алгоритма ==
Строка 12: Строка 27:
  
 
== Макроструктура алгоритма ==
 
== Макроструктура алгоритма ==
 +
 +
Последовательные алгоритмы
 +
 +
Метод трапеций
 +
 +
Метод рекурсивного деления
 +
 +
Метод локального стека
 +
 +
  
  

Версия 00:09, 12 октября 2016

1 ЧАСТЬ. Свойства и структура алгоритмов

1.1 Общее описание алгоритма

На примере задачи вычисления определенного интеграла от аналитически заданной функции рассматриваются алгоритмы, минимизирующие время решения задачи на многопроцессорной вычислительной системе. Их использование обеспечивает снижение времени решения задачи относительно «наилучшего» доступного последовательного алгоритма. Определение эффективности параллельного алгоритма относительно собственной же последовательной версии, как правило, не корректно. Обладающий высокой эффективностью параллельный алгоритм может по времени выполнения проигрывать лучшему из доступных последовательных алгоритмов решения той же задачи. Далее рассматриваются алгоритмы, минимизирующие именно время решения задачи, оперирующей относительно небольшим объемом данных. Применяемые подходы могут быть полезны при решении широкого круга проблем.

1.2 Математическое описание алгоритма

В качестве модельной задачи рассматривается проблема вычисления с точностью ε значение определенного интеграла:

[math]I(a,b) = \int_a^b{f(x)dx}[/math]

Пусть на отрезке [math] [a,b] [/math] задана равномерная сетка, содержащая [math] n+1 [/math] узел:

[math] x_{i} = a + \frac{(b - a)} {n} i, i = 0,...,n [/math]

Тогда, согласно методу трапеций, можно численно найти определенный интеграл от функции [math] f (x) [/math] на отрезке [math][a,b][/math]:

формула

Будем полагать значение I найденным с точностью ε, если выполнено условие

1.3 Вычислительное ядро алгоритма

1.4 Макроструктура алгоритма

Последовательные алгоритмы

Метод трапеций

Метод рекурсивного деления

Метод локального стека



1.5 Схема реализации последовательного алгоритма

1.6 Последовательная сложность алгоритма

1.7 Информационный граф

1.8 Ресурс параллелизма алгоритма

1.9 Входные и выходные данные алгоритма

1.10 Свойства алгоритма

2 ЧАСТЬ. Программная реализация алгоритма

2.1 Масштабируемость алгоритма и его реализации

2.2 Существующие реализации алгоритма