Анализ вычислительной сложности ФС (547593), страница 2
Текст из файла (страница 2)
Ответ: C0(factorial) = 106.597.
Сложность последовательного выполнения предлагается вычислить самостоятельно.
2. Целенаправленные эквивалентные преобразования функциональных программ
При разработке функциональной программы обычно встает вопрос, каким образом, преобразовывая программу при сохранении ее эквивалентности исходной программе, улучшить ее характеристики (время параллельного выполнения, др.).
В [1] предложена система целенаправленных эквивалентных преобразований функциональных программ по их схемам, которая для ациклических схем (схем, не содержащих рекурсивных определений) позволяет получать эквивалентную схему с минимальным временем параллельного вычисления значений соответствующих ей в интерпретации функций.
При этом принципиальное значение при приведении функциональных схем к оптимальной форме с точки зрения минимизации времени параллельного вычисления значений представленных в интерпретации функций имеет эквивалентность (AB)C = ABC (здесь A, B и C – функциональные термы). Легко показать, что время вычисления значений функций, имеющих функциональную схему справа в этой эквивалентности, не больше времени вычисления значений тех же функций по схеме слева.
Приведем список основных аксиом, используемых для целенаправленных эквивалентных преобразований ФС к виду с минимальным временем параллельного вычисления.
-
(A B)C = A BC;
-
A(B C) = AB AC;
-
(AB)*( AC) = A(B*C);
-
A(id*id) = A*A.
Список литературы:
1) Кутепов В.П. Организация параллельных вычислений на системах. М.: МЭИ, 1988.