# Лабораторная работа №6 
#### ПИбд-42. Мочалов Данила.

#### Выполнение
Реализованы два алгоритма вычисления определителя квадратной матрицы: обычный (рекурсивный) и параллельный. Параллельный алгоритм использует multiprocessing.Pool для разделения вычислений миноров между несколькими процессами.

#### Результаты бенчмарков:

Тесты проведены для матриц размером 9x9, 10x10 и 11x11 с разным количеством процессов (1, 2, 4).  Большие размеры не использовались из-за высокой вычислительной сложности рекурсивного алгоритма. Результаты представлены в таблице:

| Размер матрицы | Алгоритм   | Кол-во процессов | Время (сек.) |
|----------------|------------|------------------|-------------|
| 9x9           | Обычный     | -                 | 0.24        |
| 9x9           | Параллельный | 1                 | 0.39        |
| 9x9           | Параллельный | 2                 | 0.25        |
| 9x9           | Параллельный | 4                 | 0.20        |
| 10x10         | Обычный     | -                 | 2.37        |
| 10x10         | Параллельный | 1                 | 2.47        |
| 10x10         | Параллельный | 2                 | 1.42        |
| 10x10         | Параллельный | 4                 | 0.85        |
| 11x11         | Обычный     | -                 | 26.02       |
| 11x11         | Параллельный | 1                 | 25.90       |
| 11x11         | Параллельный | 2                 | 14.15       |
| 11x11         | Параллельный | 4                 | 7.21        |


#### Анализ
- Рекурсивный алгоритм имеет экспоненциальную сложность, что делает его очень медленным для матриц больших размеров.
- Параллельный алгоритм с одним процессом работает примерно с той же скоростью (или чуть медленнее), что и последовательный, из-за накладных расходов на создание и управление процессами.
-  С увеличением размера матрицы и количества процессов  эффективность параллельного алгоритма  возрастает. Наиболее заметное ускорение достигается при использовании 4 процессов для матрицы 11x11.
- Для маленьких матриц параллелизм может быть неэффективен из-за накладных расходов.


#### Демонстрация
Доступна по [ссылке](https://drive.google.com/file/d/1XkkIvRzfLpiqzkJjBeTQHF-VMr9KhkeA/view?usp=sharing)