Классификация алгоритмов: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[выверенная версия][непроверенная версия]
м
м
Строка 52: Строка 52:
 
##### Методы, основанные на стандартном LU-разложении матрицы
 
##### Методы, основанные на стандартном LU-разложении матрицы
 
###### {{level|Прогонка}}
 
###### {{level|Прогонка}}
####### {{level|Прогонка, точечный вариант|Классическая монотонная прогонка}}
+
####### {{level|Классическая монотонная прогонка|Прогонка, точечный вариант}}
####### {{level|Повторная прогонка, точечный вариант|Повторная прогонка для новой правой части, классическая схема}}
+
####### {{level|Повторная прогонка для новой правой части, классическая схема|Повторная прогонка, точечный вариант}}
 
###### {{level|Метод сдваивания Стоуна}}
 
###### {{level|Метод сдваивания Стоуна}}
 
###### {{level|Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками}}
 
###### {{level|Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками}}

Версия 16:50, 10 декабря 2016

  1. Векторные операции
    1. Суммирование сдваиванием
      1. Уровень алгоритма Нахождение суммы элементов массива сдваиванием
      2. Уровень алгоритма Нахождение частных сумм элементов массива сдваиванием
    2. Уровень алгоритма Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант
    3. Уровень алгоритма Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант
    4. Уровень алгоритма Последовательно-параллельный метод суммирования
  2. Матрично-векторные операции
    1. Уровень задачи Умножение плотной матрицы на вектор
  3. Матричные операции
    1. Уровень задачи Умножение плотных матриц
  4. Разложения матриц
    1. Треугольные разложения
      1. Метод Гаусса (нахождение LU-разложения)
        1. Метод Гаусса без перестановок
          1. LU-разложение методом Гаусса
          2. Компактная схема метода Гаусса и её модификации
            1. Компактная схема метода Гаусса для плотной матрицы
            2. Уровень метода Компактная схема метода Гаусса для трёхдиагональной матрицы и её модификации
              1. Уровень алгоритма Компактная схема метода Гаусса для трёхдиагональной матрицы, последовательный вариант
              2. Уровень алгоритма Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы
              3. Уровень метода Последовательно-параллельный алгоритм для LU-разложения трёхдиагональной матрицы
        2. Метод Гаусса с перестановками
          1. Метод Гаусса с выбором ведущего элемента по столбцу
          2. Метод Гаусса с выбором ведущего элемента по строке
          3. Метод Гаусса с выбором ведущего элемента по главной диагонали
          4. Метод Гаусса с выбором ведущего элемента по всей матрице
      2. Уровень метода Метод Холецкого (нахождение симметричного треугольного разложения)
        1. Уровень алгоритма Разложение Холецкого (метод квадратного корня) базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
      3. Известные треугольные разложения для матриц специального вида
    2. Унитарно-треугольные разложения
      1. Уровень метода Метод Гивенса (вращений) QR-разложения матрицы
      2. Уровень метода Метод Хаусхолдера (отражений) QR-разложения матрицы
    3. Разложения на унитарные и хессенберговы матрицы
      1. Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (двухдиагональной) форме
      2. Метод Гивенса (вращений) приведения матрицы к хессенберговой (двухдиагональной) форме
    4. Разложения на унитарные и диагональные матрицы
      1. Уровень задачи Спектральное разложение (нахождение собственных значений и векторов)
      2. Уровень задачи Сингулярное разложение (нахождение сингулярных значений и векторов)
  5. Решение систем линейных уравнений
    1. Прямые методы решения СЛАУ
      1. Уровень алгоритма Linpack benchmark
      2. Методы решения СЛАУ с матрицами специального вида
        1. Методы решения СЛАУ с треугольными матрицами
          1. Уровень алгоритма Прямая подстановка (вещественный вариант)
          2. Уровень алгоритма Обратная подстановка (вещественный вариант)
          3. Методы решения СЛАУ с двухдиагональными матрицами
            1. Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей
            2. Метод сдваивания Стоуна для решения двухдиагональных СЛАУ
            3. Последовательно-параллельный вариант обратной подстановки
        2. Уровень задачи Методы решения СЛАУ с трёхдиагональными матрицами
          1. Методы, основанные на стандартном LU-разложении матрицы
            1. Уровень метода Прогонка
              1. Классическая монотонная прогонка
              2. Повторная прогонка для новой правой части, классическая схема
            2. Уровень метода Метод сдваивания Стоуна
            3. Уровень метода Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками
          2. Другие методы
            1. Метод редукции
              1. Полный метод редукции
              2. Повторный метод редукции для новой правой части
            2. Встречная прогонка
              1. Уровень алгоритма Встречная прогонка, точечный вариант
              2. Уровень алгоритма Повторная встречная прогонка, точечный вариант
            3. Метод циклической редукции
              1. Уровень алгоритма Полный метод циклической редукции
              2. Повторный метод циклической редукции для новой правой части
            4. Метод окаймления
        3. Методы решения СЛАУ с блочно-треугольными матрицами
          1. Блочная прямая подстановка (вещественный вариант)
          2. Блочная обратная подстановка (вещественный вариант)
          3. Методы решения СЛАУ с блочно-двухдиагональными матрицами
            1. Прямая и обратная подстановка в СЛАУ с блочно-двухдиагональной матрицей
            2. Метод сдваивания Стоуна для решения блочно-двухдиагональных СЛАУ
            3. Блочный последовательно-параллельный вариант обратной подстановки для решения блочно-двухдиагональных СЛАУ
        4. Методы решения СЛАУ с блочно-трёхдиагональными матрицами
          1. Методы, основанные на стандартном LU-разложении матрицы
            1. Уровень алгоритма Блочная прогонка
            2. Блочный последовательно-параллельный вариант решения с LU-разложением и обратными подстановками
          2. Другие методы
            1. Уровень алгоритма Встречная прогонка, блочный вариант
            2. Блочный метод циклической редукции
            3. Блочный метод окаймления
      3. Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы
    2. Итерационные методы решения СЛАУ
      1. Уровень алгоритма High Performance Conjugate Gradient (HPCG) benchmark
  6. Решения спектральных задач
    1. Уровень задачи Спектральное разложение (нахождение собственных значений и векторов)
      1. Уровень метода QR-алгоритм
      2. Метод Гивенса (вращений) для решения спектральной задачи у симметричных матриц
    2. Уровень задачи Сингулярное разложение (нахождение сингулярных значений и векторов)
  7. Тесты производительности компьютеров
    1. Уровень алгоритма High Performance Conjugate Gradient (HPCG) benchmark
    2. Уровень алгоритма Linpack benchmark
  8. Преобразование Фурье
    1. Уровень метода Быстрое преобразование Фурье для степеней двойки
  9. Алгебра многочленов
    1. Уровень алгоритма Схема Горнера, вещественная версия, последовательный вариант
  10. Численные методы интегрирования
    1. Уровень алгоритма Квадратурные формулы
    2. Уровень алгоритма Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)
      1. Метод прямоугольников
      2. Метод трапеций
      3. Метод парабол (метод Симпсона)
      4. Метод Гаусса
  11. Алгоритмы на графах
    1. Обход графа
      1. Уровень алгоритма Поиск в ширину (BFS)
      2. Уровень алгоритма Поиск в глубину (DFS)
    2. Уровень задачи Поиск кратчайшего пути от одной вершины (SSSP)
      1. Уровень алгоритма Поиск в ширину (BFS) (для невзвешенных графов)
      2. Уровень алгоритма Алгоритм Дейкстры
      3. Уровень алгоритма Алгоритм Беллмана-Форда
      4. Уровень алгоритма Алгоритм Δ-шагания
    3. Уровень задачи Поиск кратчайшего пути для всех пар вершин (APSP)
      1. Уровень алгоритма Алгоритм Джонсона
      2. Уровень алгоритма Алгоритм Флойда-Уоршелла
    4. Уровень задачи Поиск транзитивного замыкания орграфа
      1. Уровень алгоритма Алгоритм Пурдома
    5. Уровень алгоритма Определение диаметра графа
    6. Уровень задачи Построение минимального остовного дерева (MST)
      1. Уровень алгоритма Алгоритм Борувки
      2. Уровень алгоритма Алгоритм Крускала
      3. Уровень алгоритма Алгоритм Прима
      4. Уровень алгоритма Алгоритм GHS
    7. Уровень задачи Поиск изоморфных подграфов
      1. Уровень алгоритма Алгоритм Ульмана
      2. Уровень алгоритма Алгоритм VF2
    8. Уровень задачи Связность в графах
      1. Уровень алгоритма Алгоритм Шилоаха-Вишкина поиска компонент связности
      2. Уровень алгоритма Система непересекающихся множеств
      3. Уровень алгоритма Алгоритм Тарьяна поиска компонент сильной связности
      4. Уровень алгоритма Алгоритм DCSC поиска компонент сильной связности
      5. Уровень алгоритма Алгоритм Тарьяна поиска компонент двусвязности
      6. Уровень алгоритма Алгоритм Тарьяна-Вишкина поиска компонент двусвязности
      7. Уровень алгоритма Алгоритм Тарьяна поиска «мостов» в графе
      8. Уровень алгоритма Определение вершинной связности графа
      9. Уровень алгоритма Алгоритм Габова определения рёберной связности графа
    9. Уровень задачи Поиск максимального потока в транспортной сети
      1. Уровень алгоритма Алгоритм Форда-Фалкерсона
      2. Уровень алгоритма Алгоритм проталкивания предпотока
    10. Уровень задачи Поиск потока минимальной стоимости в транспортной сети
    11. Уровень задачи Задача о назначениях
      1. Уровень алгоритма Венгерский алгоритм
      2. Уровень алгоритма Алгоритм аукциона
      3. Уровень алгоритма Алгоритм Гопкрофта-Карпа
    12. Вычисление betweenness centrality
  12. Алгоритмы поиска
    1. Линейный поиск - находит элемент в любом списке, [math]O(n)[/math]
    2. Двоичный поиск - находит элемент в отсортированном списке, [math]O(log(n))[/math]
  13. Алгоритмы сортировки
    1. Сортировка с помощью двоичного дерева
    2. Сортировка пузырьком
    3. Сортировка слиянием (последовательный и параллельный варианты)
  14. Вычислительная геометрия
    1. Поиск диаметра множества точек
    2. Построение выпуклой оболочки набора точек
    3. Триангуляция Делоне
    4. Диаграмма Вороного
    5. Принадлежность точки многоугольнику
    6. Пересечения выпуклых многоугольников - трудоёмкость [math]O(n_1 + n_2)[/math]
    7. Пересечение звёздных многоугольников - трудоёмкость [math]O(n_1 * n_2)[/math]
  15. Компьютерная графика
    1. Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности
    2. Алгоритм определения видимых частей трёхмерной сцены
    3. Трассировка лучей - рендеринг реалистичных изображений
    4. Глобальное освещение - рассматривает прямое освещение и отражение от других объектов
  16. Криптографические алгоритмы
  17. Нейронные сети
  18. Алгоритмы оптимизации
    1. Линейное программирование
    2. Симплекс-метод
    3. Метод ветвей и границ (последовательный и параллельный варианты)
    4. Генетические алгоритмы
    5. Муравьиные алгоритмы
    6. Комбинированные алгоритмы
    7. Нахождение экстремума функции
  19. Алгоритмы теории игр
  20. Алгоритмы моделирования квантовых систем
    1. Алгоритмы моделирования квантовых вычислений
      1. Уровень алгоритма Однокубитное преобразование вектора-состояния
      2. Уровень алгоритма Двухкубитное преобразование вектора-состояния
      3. Моделирование квантового преобразования Фурье
  21. Алгоритмы решения уравнений математической физики
    1. Уровень алгоритма Уравнение Пуассона, решение дискретным преобразованием Фурье
  22. Другие алгоритмы