Обсуждение участницы:Sannikovats
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK) В работе нет исследования масштабируемости алгоритма. К содержанию есть несколько замечаний (отмечены моей подписью), помимо необходимости выполнения основных требований к работе.
Содержание
1 Статья Участница:Sannikovats/Вычисление определенного интеграла с использованием адаптивно сгущающейся сетки (1)
- Не указан вклад обоих авторов
- Информационный граф выглядит странно
- Изображённое на рисунке в разделе 1.7 не является информационным графом. Александр Сергеевич Антонов (обсуждение) 10:38, 8 ноября 2016 (MSK)
- В разделе 1.4 требуется привести описание алгоритма на верхнем уровне (на основе макроопераций), а не то, что там сейчас. Александр Сергеевич Антонов (обсуждение) 18:15, 1 ноября 2016 (MSK)
- В разделе 1.5 кроме кода нужны также текстовые пояснения. Александр Сергеевич Антонов (обсуждение) 18:15, 1 ноября 2016 (MSK)
- Отсутствуют заголовки пунктов 2.2-2.6, соответственно пункт 2.1 должен иметь нумерацию 2.4, а пункт 2.2 должен иметь нумерацию 2.7. Александр Сергеевич Антонов (обсуждение) 10:39, 8 ноября 2016 (MSK)
- Не заполнен раздел 2.4 описания. Александр Сергеевич Антонов (обсуждение) 16:00, 16 ноября 2016 (MSK)
2 Пункт 1.1
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
Существуют различные последовательные методы построения адаптивных подвижных сеток, которые позволяют значительно повысить точность вычисления определенного интеграла за счет учета характера изменения подынтегральной функции.
Что подразумевается под «подвижностью сеток» для данного алгоритма?
3 Пункт 1.1.1
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
Но при распараллеливании этого алгоритма (т.е. при запуске попарно подпрограмм, обрабатывающих половинки разбиваемого интервала) можно столкнуться со следующей проблемой: в реальной системе число процессоров ограничено и время, необходимое для порождения параллельных процессов существенно не равно нулю.
Это утверждение сильно зависит от того, как реализована рекурсия. Можно столкнуться с такой проблемой, а можно и не столкнуться.
Основная сложность построения параллельного алгоритма на основе рассмотренного последовательного алгоритма, кроется в том, что, хотя несколько ветвей программы могли бы одновременно обрабатывать разные части интервала интегрирования, координаты концов этих отрезков хранятся в программном стеке процесса и фактически недоступны программисту.
Нужно пояснить, что за программный стек, который недоступен программисту? В чем заключается проблема, если эти данные доступны только одному процессу.
4 Пункт 1.1.2
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
Стек выбран исключительно из соображений простоты реализации. Времена выполнения рассмотренных алгоритмов отличаются примерно на 5% в пользу локального стека, таким образом, алгоритм "локального стека" будем считать наилучшим из имеющихся в нашем распоряжении последовательных методов и на его примере построим дальнейшее описание.
Каких алгоритмов и где они рассмотрены? За счет чего образуется выигрыш в 5%? Чем, с точки зрения простоты реализации, стек лучше, по сравнению с очередью?
Все, что написано в разделах 1.1.1 и 1.1.2 сводится к тому, что для реализации рекурсии можно использовать стек. А такую реализацию рекурсии можно (относительно просто) адаптировать под параллельную архитектуру. Разделы написаны крайне путанно, поэтому хорошо бы их переписать.
5 Пункт 1.4
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
[math] |sAB - sACB|\leq \epsilon * |sACB| [/math], что обеспечивает проверку условия устойчивости.
Не отличается ли здесь условие на деление отрезка от того, что приведено в пункте 1.2?
6 Пункт 1.5
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
//проверка выполнения условия на порядок точности: if(abs(sAB - sACB) >= eps*abs(sACB)) {
См. замечание к пункту 1.4
7 Пункт 1.6
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
В качестве примера нужно привести хотя бы оценки, определяя некоторое разбиение (по возможности в наиболее общем виде) без учета функции.
8 Пункт 1.8
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
См. п. 1.6.
9 Пункт 1.9
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
Как задается функция или возможность расчета ее значений в алгоритме и реализации? Нужно привести размер входных и выходных данных.
10 Пункт 1.10
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
Рассмотренный алгоритм обладает свойством детерминированности, поскольку при определенных входных данных мы будем получать одинаковый результат.
Влияют ли на свойство детерминированности алгоритма выполнение свойства ассоциативности для операции сложения, а также свойства входной функции?
Кроме того, алгоритм обладает внутренним параллелизмом, так как является численно устойчивым как в последовательной, так и в параллельной версиях.
Как из численной устойчивости следует «обладание внутренним параллелизмом»? Является ли алгоритм устойчивым для любой входной функции?
11 Пункт 2.4
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
Нет исследования масштабируемости.
12 Пункт 2.7
--Evgeny Mortikov (обсуждение) 05:37, 3 декабря 2016 (MSK)
В настоящее время проблемой вычисления определенного графа на адаптивной сетке по нашим сведениям занимались только М.В. Якобовский и Е.Ю. Кулькова, рассматривавшие в своей работе "РЕШЕНИЕ ЗАДАЧ НА МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ С РАЗДЕЛЯЕМОЙ ПАМЯТЬЮ" методы локального и глобального стеков.
Наверное, определенного интеграла на адаптивной сетке?