Professional Documents
Culture Documents
Khandros Kszi1
Khandros Kszi1
Виконав:
Студент групи ФБ-02
Хандрос Артем
Київ – 2023
1. Напишіть програму, яка буде генерувати матрицю розмірністю 4х5х7 та
заповнювати її по випадковому принципу значеннями q ijk «експертних»
оцінок:
Згенеруємо матрицю А
import numpy as np
matrix_A = np.random.rand(4,5,7)
matrix_A = matrix_A.round(3)
print(matrix_A)
[[[0.857 0.776 0.333 0.681 0.655 0.442 0.487]
[0.386 0.617 0.417 0.715 0.323 0.174 0.182]
[0.966 0.174 0.329 0.233 0.936 0.765 0.343]
[0.56 0.878 0.419 0.747 0.846 0.297 0.685]
[0.657 0.982 0.141 0.339 0.678 0.429 0.37 ]]
[[1 1 0 1 1 1 1]
[0 1 0 0 1 1 1]
[1 0 1 1 1 0 0]
[0 1 0 1 1 1 1]
[0 1 0 1 1 1 0]]
[[1 0 0 1 1 1 1]
[0 0 1 0 0 1 0]
[0 1 0 1 0 1 1]
[0 1 0 1 0 1 0]
[0 0 1 1 0 1 0]]
[[0 1 0 1 1 1 0]
[0 1 1 0 0 1 0]
[0 1 0 1 0 1 0]
[1 1 0 1 1 1 0]
[0 0 0 1 1 1 0]]]
Перетворюємо матрицю А в межі 1-5
matrix_C = np.where(matrix_A >= 0.9, 5, np.where(matrix_A >= 0.7, 4,
np.where(matrix_A >= 0.5, 3, np.where(matrix_A >= 0.3, 2, 1))))
print(matrix_C)
[[[4 4 2 3 3 2 2]
[2 3 2 4 2 1 1]
[5 1 2 1 5 4 2]
[3 4 2 4 4 1 3]
[3 5 1 2 3 2 2]]
[[4 4 1 5 3 4 3]
[2 5 1 2 4 4 3]
[5 1 4 5 5 1 1]
[1 3 1 3 4 4 4]
[2 5 1 4 3 3 1]]
[[5 1 2 3 4 3 5]
[1 2 5 1 1 4 2]
[1 3 1 3 1 3 3]
[1 5 1 4 1 3 2]
[1 1 4 3 1 3 1]]
[[2 4 1 5 5 5 2]
[1 3 4 1 2 4 2]
[1 4 1 4 2 5 2]
[3 5 2 3 4 5 1]
[2 2 2 4 4 4 1]]]
2. Для випадків А),В),С) обчисліть оцінку якості системи захисту інформації,
яка описується відповідною матрицею. Використовуйте ваги для кожного зі
стовпців матриці.
0.8720000000000006
Аналогічно для матриці В: 0.1620000000000001
Аналогічно для матриці А: 0.16492000000000007
flattened_matrix = matrix_A.flatten()
five_lowest_numbers = np.sort(flattened_matrix)[:5]
indices = np.argwhere(np.isin(matrix_A, five_lowest_numbers))
filtered_indices = [tuple(index) for index in indices if
matrix_A[tuple(index)] in five_lowest_numbers]
unique_coordinates = []
for coord in filtered_indices:
if coord not in unique_coordinates:
unique_coordinates.append(coord)
if len(unique_coordinates) == 5:
break
print(unique_coordinates)
[(1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 1), (2, 3, 0)]