From b573569a97551fa31c11a6baad1fb1ce2e99ebcb Mon Sep 17 00:00:00 2001
From: pgirl111 <Prodigygirl1.0@yandex.ru>
Date: Sat, 19 Oct 2024 10:46:15 +0400
Subject: [PATCH] borschevskaya_anna_lab_6 is ready

---
 borschevskaya_anna_lab_6/README.md            |  26 +++
 borschevskaya_anna_lab_6/images/results.PNG   | Bin 0 -> 63248 bytes
 .../matrix-det/.gitignore                     |  38 +++++
 borschevskaya_anna_lab_6/matrix-det/pom.xml   |  17 ++
 .../src/main/java/ru/uni/rvip/Main.java       | 155 ++++++++++++++++++
 5 files changed, 236 insertions(+)
 create mode 100644 borschevskaya_anna_lab_6/README.md
 create mode 100644 borschevskaya_anna_lab_6/images/results.PNG
 create mode 100644 borschevskaya_anna_lab_6/matrix-det/.gitignore
 create mode 100644 borschevskaya_anna_lab_6/matrix-det/pom.xml
 create mode 100644 borschevskaya_anna_lab_6/matrix-det/src/main/java/ru/uni/rvip/Main.java

diff --git a/borschevskaya_anna_lab_6/README.md b/borschevskaya_anna_lab_6/README.md
new file mode 100644
index 0000000..4869b36
--- /dev/null
+++ b/borschevskaya_anna_lab_6/README.md
@@ -0,0 +1,26 @@
+# Отчет. Лабораторная работа 6
+
+## Описание
+В рамках лабораторной работы была реализована программа, которая производит вычисление детерминанта матрицы
+с применением последовательного и паралелльного алгоритма.
+
+В качестве способа нахождения определителя матрицы был выбран алгоритм нахождения путем разложения по столбцу (строке). 
+При данном подходе определитель находится как сумма произведений элементов выбранной строки на их алгебраические дополнения.
+Была произведена небольшая оптимизация алгоритма - выбор строки для разложения основывался на количестве нулевых элементов в ней. 
+Чем больше нулей в строке - тем меньше будет выполняться подзадач в алгоритме.
+
+Результаты представлены на следующих изображениях:
+
+![results](images/results.PNG)
+
+Как мы можем увидеть, производительность паралелльной реализации на маленьких матрицах ниже, чем у последовательного подхода, 
+это связано с дополнительными действиями по созданию и управлению потоками. Однако с увеличением размера матриц мы можем 
+наблюдать увеличение производительности. Но на больших размерах (от 12х12) матриц алгоритм становится довольно медленным 
+вне зависимости от применения многопоточности.
+
+## Как запустить
+Необходимо иметь установленную JDK 21. Можно воспользоваться встроенным в нее компилятором (javac), а затем запустить исполняемый файл (java)
+или запускать из среды разработки.
+
+## Видео-отчет
+Работоспособность лабораторной работы можно оценить в следующем [видео](https://disk.yandex.ru/i/-sWDKdW3Q-vbHg).
\ No newline at end of file
diff --git a/borschevskaya_anna_lab_6/images/results.PNG b/borschevskaya_anna_lab_6/images/results.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..df739dd41cec7079170cb7ae1b8b3d1ab01a22a5
GIT binary patch
literal 63248
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
Hb-e!%g#TF{

literal 0
HcmV?d00001

diff --git a/borschevskaya_anna_lab_6/matrix-det/.gitignore b/borschevskaya_anna_lab_6/matrix-det/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/borschevskaya_anna_lab_6/matrix-det/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/borschevskaya_anna_lab_6/matrix-det/pom.xml b/borschevskaya_anna_lab_6/matrix-det/pom.xml
new file mode 100644
index 0000000..f034aac
--- /dev/null
+++ b/borschevskaya_anna_lab_6/matrix-det/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>ru.uni.rvip</groupId>
+    <artifactId>matrix-det</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <properties>
+        <maven.compiler.source>21</maven.compiler.source>
+        <maven.compiler.target>21</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>
\ No newline at end of file
diff --git a/borschevskaya_anna_lab_6/matrix-det/src/main/java/ru/uni/rvip/Main.java b/borschevskaya_anna_lab_6/matrix-det/src/main/java/ru/uni/rvip/Main.java
new file mode 100644
index 0000000..db3f997
--- /dev/null
+++ b/borschevskaya_anna_lab_6/matrix-det/src/main/java/ru/uni/rvip/Main.java
@@ -0,0 +1,155 @@
+package ru.uni.rvip;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Random;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.stream.IntStream;
+
+public class Main {
+
+    private static final ExecutorService executor = Executors.newFixedThreadPool(8);
+
+    public static void main(String[] args) {
+        int size = 12;
+
+        for (int i = 5; i <= size; i += 2) {
+            System.out.printf("Размер матриц %dx%d\n", i, i);
+
+            var matrix = createRandomMatrix(i);
+
+            var startTime = System.currentTimeMillis();
+            var result = findDeterminant(matrix);
+            var timeOfExecution = System.currentTimeMillis() - startTime;
+            System.out.printf("Детерминант матрицы = %f\n", result);
+            System.out.printf("Время нахождения детерминанта с помощью последовательного алгоритма: %d ms\n", timeOfExecution);
+
+            startTime = System.currentTimeMillis();
+            findDeterminantParallel(matrix);
+            timeOfExecution = System.currentTimeMillis() - startTime;
+            System.out.printf("Время нахождения детерминанта с помощью параллельного алгоритма: %d ms\n", timeOfExecution);
+        }
+        executor.shutdown();
+    }
+
+    private static double findDeterminant(double[][] matrix) {
+        int rows = matrix.length;
+        int n = matrix[0].length;
+        if (rows == n && rows == 1) {
+            return matrix[0][0];
+        }
+        if (rows == n && rows == 2) {
+            return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];
+        }
+
+        if (rows == n && rows == 3) {
+            return matrix[0][0] * matrix[1][1] * matrix[2][2] + matrix[0][1] * matrix[1][2] * matrix[2][0] + matrix[0][2] * matrix[1][0] * matrix[2][1]
+                    - (matrix[0][2] * matrix[1][1] * matrix[2][0] + matrix[1][0] * matrix[0][1] * matrix[2][2] + matrix[0][0] * matrix[1][2] * matrix[2][1]);
+        }
+        double[][] temporary;
+        double det = 0;
+        // поиск наиболее подходящей строки
+        int indexWithMaxZeros = IntStream.range(0, matrix.length)
+                .boxed()
+                .max(Comparator.comparingInt(i ->
+                        (int) Arrays.stream(matrix[i]).filter(x -> x == 0).count()))
+                .orElse(-1);
+
+        double[] maxZerosCountRow = matrix[indexWithMaxZeros];
+
+
+        for (int i = 0; i < n; i++) {
+            if (maxZerosCountRow[i] > 0) {
+                temporary = getSubmatrix(matrix, rows, n, i, indexWithMaxZeros);
+                det += maxZerosCountRow[i] * Math.pow(-1, i) * findDeterminant(temporary);
+            }
+        }
+
+        return det;
+    }
+
+    private static double findDeterminantParallel(double[][] matrix) {
+        int rows = matrix.length;
+        int n = matrix[0].length;
+        if (rows == n && rows == 1) {
+            return matrix[0][0];
+        }
+        if (rows == n && rows == 2) {
+            return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];
+        }
+        if (rows == n && rows == 3) {
+            return matrix[0][0] * matrix[1][1] * matrix[2][2] + matrix[0][1] * matrix[1][2] * matrix[2][0] + matrix[0][2] * matrix[1][0] * matrix[2][1]
+                    - (matrix[0][2] * matrix[1][1] * matrix[2][0] + matrix[1][0] * matrix[0][1] * matrix[2][2] + matrix[0][0] * matrix[1][2] * matrix[2][1]);
+        }
+        double det = 0;
+        // поиск наиболее подходящей строки
+        int indexWithMaxZeros = IntStream.range(0, matrix.length)
+                .boxed()
+                .max(Comparator.comparingInt(i ->
+                        (int) Arrays.stream(matrix[i]).filter(x -> x == 0).count()))
+                .orElse(-1);
+
+        double[] maxZerosCountRow = matrix[indexWithMaxZeros];
+        var futures = new ArrayList<Future<Double>>();
+        for (int i = 0; i < n; i++) {
+            // нахождение подматрицы
+            final var finalRow = i;
+
+            futures.add(executor.submit(() -> {
+                final var temporary = getSubmatrix(matrix, rows, n, finalRow, indexWithMaxZeros);
+                return maxZerosCountRow[finalRow] * Math.pow(-1, finalRow) * findDeterminant(temporary);
+            }));
+        }
+
+        try {
+            for (var future : futures) {
+                det += future.get();
+            }
+        } catch (InterruptedException | ExecutionException e) {
+            System.out.println("Возникла ошибка во время многопоточного нахождения определителя матрицы");
+            return -1;
+        }
+        return det;
+    }
+
+    private static double[][] getSubmatrix(double[][] matrix, int rows, int n, int col, int row) {
+        final var temporary = new double[rows - 1][n - 1];
+        for (int j = 0; j < rows; j++) {
+            if (j == row) continue;
+
+            for (int k = 0; k < n; k++) {
+                if (k == col) continue;
+
+                //temporary[j][k] = matrix[j][k];
+                temporary[j < row ? j : j - 1][k < col ? k : k - 1] = matrix[j][k];
+            }
+        }
+        return temporary;
+    }
+
+    private static double[][] createRandomMatrix(Integer size) {
+        var matrix = new double[size][size];
+        var random = new Random();
+        for (var i = 0; i < size; i++) {
+            for (var j = 0; j < size; j++) {
+                matrix[i][j] = random.nextInt(50);
+            }
+        }
+        return matrix;
+    }
+
+    private static void printMatrix(double[][] matrix) {
+        for (double[] ints : matrix) {
+            for (double elem : ints) {
+                System.out.printf("%5f\t", elem);
+            }
+            System.out.println();
+        }
+    }
+}
+
+