Классификация алгоритмов: различия между версиями
Перейти к навигации
Перейти к поиску
| [досмотренная версия] | [досмотренная версия] |
Frolov (обсуждение | вклад) |
Dolganov (обсуждение | вклад) Перенаправление на Служебная:Pma tree |
||
| (не показано 16 промежуточных версий 4 участников) | |||
| Строка 1: | Строка 1: | ||
#redirect [[Special:Pma_tree]] | |||
__TOC__ | __TOC__ | ||
=Векторные операции= | = Задачи алгебры = | ||
==Матричные и векторные операции== | |||
===Векторные операции=== | |||
# {{level|Суммирование сдваиванием}} | # {{level|Суммирование сдваиванием}} | ||
## {{level|Нахождение суммы элементов массива сдваиванием}} | ## {{level|Нахождение суммы элементов массива сдваиванием}} | ||
| Строка 7: | Строка 10: | ||
# {{level|Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант}} | # {{level|Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант}} | ||
# {{level|Последовательно-параллельный метод суммирования}} | # {{level|Последовательно-параллельный метод суммирования}} | ||
= | === Умножения матриц на вектор === | ||
== Умножения неособенных матриц на вектор == | ==== Умножения неособенных матриц на вектор ==== | ||
# {{level|Умножение плотной неособенной матрицы на вектор (последовательный вещественный вариант)}} | # {{level|Умножение плотной неособенной матрицы на вектор (последовательный вещественный вариант)}} | ||
== Умножения матриц специального вида на вектор == | ==== Умножения матриц специального вида на вектор ==== | ||
# {{level|Преобразование Фурье}} | # {{level|Преобразование Фурье}} | ||
## {{level|Быстрое преобразование Фурье для составной размерности}} | ## {{level|Быстрое преобразование Фурье для составной размерности}} | ||
| Строка 18: | Строка 21: | ||
### {{level|Быстрое преобразование Фурье для составной размерности с небольшими простыми делителями (2,3,5,7)}} | ### {{level|Быстрое преобразование Фурье для составной размерности с небольшими простыми делителями (2,3,5,7)}} | ||
## {{level|Быстрое преобразование Фурье для простой размерности}} | ## {{level|Быстрое преобразование Фурье для простой размерности}} | ||
===Матричные операции=== | |||
=Матричные операции= | |||
# {{level|Умножение плотных матриц}} | # {{level|Умножение плотных матриц}} | ||
## {{level|Перемножение плотных неособенных матриц (последовательный вещественный вариант)}} | ## {{level|Перемножение плотных неособенных матриц (последовательный вещественный вариант)}} | ||
## {{level|Метод Штрассена}} | ## {{level|Метод Штрассена}} | ||
=Разложения матриц= | ==Разложения матриц== | ||
{{level|Задача разложения матриц}} | {{level|Задача разложения матриц}} | ||
# {{level|Треугольные разложения}} | # {{level|Треугольные разложения}} | ||
| Строка 56: | Строка 58: | ||
### {{level|Метод Гивенса (вращений) QR-разложения хессенберговой матрицы (вещественный вариант)}} | ### {{level|Метод Гивенса (вращений) QR-разложения хессенберговой матрицы (вещественный вариант)}} | ||
### {{level|Метод Хаусхолдера (отражений) QR-разложения хессенберговой матрицы (вещественный вариант)}} | ### {{level|Метод Хаусхолдера (отражений) QR-разложения хессенберговой матрицы (вещественный вариант)}} | ||
# {{level| | # {{level|Разложения, содержащие матрицу, подобную исходной}} | ||
## {{level| | ## {{level|Разложения, содержащие хессенбергову матрицу, унитарно подобную исходной}} | ||
### {{level|Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}} | ### {{level|Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}} | ||
#### {{level|Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}} | #### {{level|Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}} | ||
### {{level|Метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}} | ### {{level|Метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}} | ||
#### {{level|Классический точечный метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}} | #### {{level|Классический точечный метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}} | ||
## {{level| | ## {{level|Разложения, содержащие трёхдиагональную матрицу, унитарно подобную исходной}} | ||
### {{level|Метод Хаусхолдера (отражений) приведения к трёхдиагональному виду}} | ### {{level|Метод Хаусхолдера (отражений) приведения к трёхдиагональному виду}} | ||
#### {{level|Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду}} | #### {{level|Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду}} | ||
| Строка 68: | Строка 70: | ||
### {{level|Метод Гивенса (вращений) приведения матрицы к трёхдиагональной форме}} | ### {{level|Метод Гивенса (вращений) приведения матрицы к трёхдиагональной форме}} | ||
## {{level|Спектральное разложение (нахождение собственных значений и векторов)}} | ## {{level|Спектральное разложение (нахождение собственных значений и векторов)}} | ||
# {{level| | # {{level|Разложения с использованием унитарных преобразований, не содержащие матриц, подобной исходной}} | ||
## {{level| | ## {{level|Разложения на две унитарные и одну двухдиагональную матрицы}} | ||
### {{level|Метод Хаусхолдера (отражений) приведения матрицы к двухдиагональной форме}} | ### {{level|Метод Хаусхолдера (отражений) приведения матрицы к двухдиагональной форме}} | ||
### {{level|Метод Гивенса (вращений) приведения матрицы к двухдиагональной форме}} | ### {{level|Метод Гивенса (вращений) приведения матрицы к двухдиагональной форме}} | ||
## {{level|Разложения на унитарные и | ## {{level|Разложения на две унитарные и одну диагональную матрицы}} | ||
### {{level|Сингулярное разложение (нахождение сингулярных значений и векторов)}} | ### {{level|Сингулярное разложение (нахождение сингулярных значений и векторов)}} | ||
#### {{level|Методы нахождения сингулярных чисел двухдиагональных матриц}} | #### {{level|Методы нахождения сингулярных чисел двухдиагональных матриц}} | ||
##### {{level|Алгоритм dqds нахождения сингулярных чисел двухдиагональной матрицы}} | ##### {{level|Алгоритм dqds нахождения сингулярных чисел двухдиагональной матрицы}} | ||
###### {{level|Итерация алгоритма dqds}} | ###### {{level|Итерация алгоритма dqds}} | ||
=Решение систем линейных уравнений= | |||
==Решение систем линейных уравнений== | |||
# {{level|Прямые методы решения СЛАУ}} | # {{level|Прямые методы решения СЛАУ}} | ||
## {{level|Linpack benchmark}} | ## {{level|Linpack benchmark}} | ||
## {{level|Методы решения СЛАУ с матрицами специального вида}} | ## {{level|Методы решения СЛАУ с матрицами специального вида}} | ||
### {{level|Методы решения СЛАУ с треугольными матрицами}} | ### {{level|Методы решения СЛАУ с треугольными матрицами}} | ||
#### {{level|Прямая подстановка (вещественный вариант) | #### {{level|Прямая подстановка (вещественный вариант)}} | ||
#### {{level|Обратная подстановка (вещественный вариант) | #### {{level|Обратная подстановка (вещественный вариант)}} | ||
#### {{level|Методы решения СЛАУ с двудиагональными матрицами}} | #### {{level|Методы решения СЛАУ с двудиагональными матрицами}} | ||
##### {{level|Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей}} | ##### {{level|Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей}} | ||
| Строка 128: | Строка 131: | ||
## {{level|Стабилизированный метод бисопряженных градиентов (BiCGStab)}} | ## {{level|Стабилизированный метод бисопряженных градиентов (BiCGStab)}} | ||
## {{level|Алгоритм_Качмажа}} | ## {{level|Алгоритм_Качмажа}} | ||
= | |||
==Решения спектральных задач== | |||
=Решения спектральных задач= | |||
# {{level|Спектральное разложение (нахождение собственных значений и векторов)}} | # {{level|Спектральное разложение (нахождение собственных значений и векторов)}} | ||
## {{level|QR-алгоритм}} | ## {{level|QR-алгоритм}} | ||
| Строка 155: | Строка 157: | ||
### {{level|Метод Якоби для нахождения сингулярных значений со специальным подбором вращений}} | ### {{level|Метод Якоби для нахождения сингулярных значений со специальным подбором вращений}} | ||
## {{level|QR-алгоритм в приложении к сингулярному разложению}} | ## {{level|QR-алгоритм в приложении к сингулярному разложению}} | ||
= | ==Алгебра многочленов== | ||
# {{level| | # {{level|Схема Горнера, вещественная версия, последовательный вариант}} | ||
= | = Алгоритмы на списках и массивах = | ||
# {{level| | ==Алгоритмы поиска== | ||
= | # {{level|Линейный поиск - находит элемент в любом списке|Линейный поиск}}, <math>O(n)</math> | ||
# {{level| | # {{level|Двоичный поиск - находит элемент в отсортированном списке|Двоичный поиск}}, <math>O(\log(n))</math> | ||
# {{level| | ==Алгоритмы сортировки== | ||
# | # {{level|Сортировка с помощью двоичного дерева}} | ||
# {{level|Сортировка пузырьком}} | |||
# {{level|Сортировка слиянием (последовательный и параллельный варианты)}} | |||
==Алгоритмы на графах== | |||
=Алгоритмы на графах= | |||
# Обход графа | # Обход графа | ||
## {{level|Поиск в ширину (BFS)}} | ## {{level|Поиск в ширину (BFS)}} | ||
## {{level|Поиск в глубину (DFS)}} | ## {{level|Поиск в глубину (DFS)}} | ||
# {{level|Поиск кратчайшего пути от одной вершины (SSSP)}} | # {{level|Поиск кратчайшего пути от одной вершины (SSSP)}} | ||
## {{level|Поиск в ширину (BFS)}} (для невзвешенных графов) | ## {{level|Поиск в ширину (BFS)}} (для невзвешенных графов) | ||
## {{level|Алгоритм Дейкстры}} | ## {{level|Алгоритм Дейкстры}} | ||
## {{level|Алгоритм Беллмана-Форда}} | ## {{level|Алгоритм Беллмана-Форда}} | ||
## {{level|Алгоритм Δ-шагания}} | ## {{level|Алгоритм Δ-шагания}} | ||
# {{level|Поиск кратчайшего пути для всех пар вершин (APSP)}} | # {{level|Поиск кратчайшего пути для всех пар вершин (APSP)}} | ||
## {{level|Алгоритм Джонсона}} | ## {{level|Алгоритм Джонсона}} | ||
## {{level|Алгоритм Флойда-Уоршелла}} | ## {{level|Алгоритм Флойда-Уоршелла}} | ||
| Строка 210: | Строка 210: | ||
## {{level|Алгоритм Гопкрофта-Карпа}} | ## {{level|Алгоритм Гопкрофта-Карпа}} | ||
# {{level|Вычисление betweenness centrality|Вычисление центральности вершин}} | # {{level|Вычисление betweenness centrality|Вычисление центральности вершин}} | ||
=Вычислительная геометрия= | =Вычислительная геометрия= | ||
# {{level|Поиск диаметра множества точек}} | # {{level|Поиск диаметра множества точек}} | ||
| Строка 223: | Строка 216: | ||
# {{level|Диаграмма Вороного}} | # {{level|Диаграмма Вороного}} | ||
# {{level|Принадлежность точки многоугольнику}} | # {{level|Принадлежность точки многоугольнику}} | ||
# {{level|Пересечения выпуклых многоугольников}} | # {{level|Пересечения выпуклых многоугольников}} | ||
# {{level|Пересечение звёздных многоугольников}} | # {{level|Пересечение звёздных многоугольников}} | ||
=Компьютерная графика= | ==Компьютерная графика== | ||
# {{level|Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности}} | # {{level|Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности}} | ||
# {{level|Алгоритм определения видимых частей трёхмерной сцены}} | # {{level|Алгоритм определения видимых частей трёхмерной сцены}} | ||
# {{level|Трассировка лучей - рендеринг реалистичных изображений}} | # {{level|Трассировка лучей - рендеринг реалистичных изображений}} | ||
# {{level|Глобальное освещение - рассматривает прямое освещение и отражение от других объектов}} | # {{level|Глобальное освещение - рассматривает прямое освещение и отражение от других объектов}} | ||
= | |||
# {{level| | =Исследование и моделирование компьютеров= | ||
=Нейронные сети= | ==Тесты производительности компьютеров== | ||
# {{level| | # {{level|High Performance Conjugate Gradient (HPCG) benchmark}} | ||
## {{level| | # {{level|Linpack benchmark}} | ||
## {{level| | ==Алгоритмы моделирования квантовых систем== | ||
## {{level| | # {{level|Алгоритмы моделирования квантовых вычислений}} | ||
=Алгоритмы оптимизации= | ## {{level|Однокубитное преобразование вектора-состояния}} | ||
## {{level|Двухкубитное преобразование вектора-состояния}} | |||
## {{level|Моделирование квантового преобразования Фурье}} | |||
==Алгоритмы машинного обучения== | |||
# {{level|Алгоритм k средних (k-means)}} | |||
===Нейронные сети=== | |||
# {{level|Распознавание образов}} | |||
## {{level|Распознавание текста}} | |||
## {{level|Распознавание речи}} | |||
## {{level|Распознавание лиц}} | |||
===Алгоритмы теории игр=== | |||
= Прикладные задачи из разных областей = | |||
==Алгоритмы оптимизации== | |||
# {{level|Линейное программирование}} | # {{level|Линейное программирование}} | ||
# {{level|Симплекс-метод}} | # {{level|Симплекс-метод}} | ||
| Строка 245: | Строка 251: | ||
# {{level|Комбинированные алгоритмы}} | # {{level|Комбинированные алгоритмы}} | ||
# {{level|Стохастическое двойственное динамическое программирование (SDDP)}} | # {{level|Стохастическое двойственное динамическое программирование (SDDP)}} | ||
= | ==Решение систем нелинейных уравнений== | ||
# {{level| | # {{level|Метод Ньютона для систем нелинейных уравнений}} | ||
= | ==Численные методы интегрирования== | ||
= | # {{level|Квадратурные формулы}} | ||
# {{level| | # {{level|Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)}} | ||
## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод прямоугольников|Метод прямоугольников]] | |||
## | ## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод трапеций|Метод трапеций]] | ||
## | ## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод парабол (метод Симпсона)|Метод парабол (метод Симпсона)]] | ||
=Алгоритмы решения уравнений математической физики= | ## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод Гаусса|Метод Гаусса]] | ||
==Алгоритмы решения уравнений математической физики== | |||
# {{level|Уравнение Пуассона, решение дискретным преобразованием Фурье}} | # {{level|Уравнение Пуассона, решение дискретным преобразованием Фурье}} | ||
=Криптографические алгоритмы= | |||
# {{level|Метод встречи посередине}} | |||
=Другие алгоритмы= | =Другие алгоритмы= | ||
Текущая версия от 19:20, 25 декабря 2018
Перенаправление на:
Задачи алгебры
Матричные и векторные операции
Векторные операции
Суммирование сдваиванием
Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант
Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант
Последовательно-параллельный метод суммирования
Умножения матриц на вектор
Умножения неособенных матриц на вектор
Умножения матриц специального вида на вектор
- Преобразование Фурье
Матричные операции
Разложения матриц
Треугольные разложения
Метод Гаусса (нахождение LU-разложения)
Метод Холецкого (нахождение симметричного треугольного разложения)
Разложение Холецкого (метод квадратного корня) базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
- Известные треугольные разложения для матриц специального вида
Унитарно-треугольные разложения
Разложения, содержащие матрицу, подобную исходной
Разложения, содержащие хессенбергову матрицу, унитарно подобную исходной
Разложения, содержащие трёхдиагональную матрицу, унитарно подобную исходной
Спектральное разложение (нахождение собственных значений и векторов)
- Разложения с использованием унитарных преобразований, не содержащие матриц, подобной исходной
Решение систем линейных уравнений
- Прямые методы решения СЛАУ
Linpack benchmark- Методы решения СЛАУ с матрицами специального вида
- Методы решения СЛАУ с треугольными матрицами
Методы решения СЛАУ с трёхдиагональными матрицами
- Методы решения СЛАУ с блочно-треугольными матрицами
- Блочная прямая подстановка (вещественный вариант)
- Блочная обратная подстановка (вещественный вариант)
- Методы решения СЛАУ с блочно-двухдиагональными матрицами
- Методы решения СЛАУ с блочно-трёхдиагональными матрицами
- Методы, основанные на стандартном LU-разложении матрицы
- Другие методы
- Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы
- Итерационные методы решения СЛАУ
Решения спектральных задач
Спектральное разложение (нахождение собственных значений и векторов)
- Частичная спектральная задача
Сингулярное разложение (нахождение сингулярных значений и векторов)
Алгебра многочленов
Алгоритмы на списках и массивах
Алгоритмы поиска
- Линейный поиск - находит элемент в любом списке, [math]\displaystyle{ O(n) }[/math]
- Двоичный поиск - находит элемент в отсортированном списке, [math]\displaystyle{ O(\log(n)) }[/math]
Алгоритмы сортировки
- Сортировка с помощью двоичного дерева
- Сортировка пузырьком
- Сортировка слиянием (последовательный и параллельный варианты)
Алгоритмы на графах
- Обход графа
Поиск кратчайшего пути от одной вершины (SSSP)
Поиск в ширину (BFS) (для невзвешенных графов)
Алгоритм Дейкстры
Алгоритм Беллмана-Форда
Алгоритм Δ-шагания
Поиск кратчайшего пути для всех пар вершин (APSP)
Поиск транзитивного замыкания орграфа
Определение диаметра графа
Построение минимального остовного дерева (MST)
Поиск изоморфных подграфов
Связность в графах
Алгоритм Шилоаха-Вишкина поиска компонент связности
Система непересекающихся множеств
Алгоритм Тарьяна поиска компонент сильной связности
Алгоритм DCSC поиска компонент сильной связности
Алгоритм Тарьяна поиска компонент двусвязности
Алгоритм Тарьяна-Вишкина поиска компонент двусвязности
Алгоритм Тарьяна поиска «мостов» в графе
Определение вершинной связности графа
Алгоритм Габова определения рёберной связности графа
Поиск максимального потока в транспортной сети
Поиск потока минимальной стоимости в транспортной сети
Задача о назначениях
- Вычисление betweenness centrality
Вычислительная геометрия
- Поиск диаметра множества точек
- Построение выпуклой оболочки набора точек
- Триангуляция Делоне
- Диаграмма Вороного
- Принадлежность точки многоугольнику
- Пересечения выпуклых многоугольников
- Пересечение звёздных многоугольников
Компьютерная графика
- Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности
- Алгоритм определения видимых частей трёхмерной сцены
- Трассировка лучей - рендеринг реалистичных изображений
- Глобальное освещение - рассматривает прямое освещение и отражение от других объектов
Исследование и моделирование компьютеров
Тесты производительности компьютеров
Алгоритмы моделирования квантовых систем
Алгоритмы машинного обучения
Нейронные сети
Алгоритмы теории игр
Прикладные задачи из разных областей
Алгоритмы оптимизации
- Линейное программирование
- Симплекс-метод
- Метод ветвей и границ
- Генетические алгоритмы
- Муравьиные алгоритмы
- Комбинированные алгоритмы
Стохастическое двойственное динамическое программирование (SDDP)
Решение систем нелинейных уравнений
Численные методы интегрирования
Квадратурные формулы
Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)