МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЕОМ
ЗВІТ
до лабораторної роботи №1
з дисципліни: «Паралельні та розподілені обчислення»
на тему: «Використання функціональної декомпозиції
для розв’язку обчислювальних задач»
Варіант – 4
Мета роботи: вивчити методи декомпозицій задач. Набути навиків розв’язування задач з використанням функціональної декомпозиції.
Завдання: вираз, який слід обрахувати, заданий наступним чином:
Аналіз завдання. Для заданого виразу вхідними даними є:
розмірність матриць – n;
матриці A, A1, A2, B2;
вектори-стовпці b1,c1.
Ці параметри повинні вводитися з клавіатури, або генеруватися випадковим чином (крім розмірності). При чому, елементи всіх матриць та векторів є цілими додатними числами, більшими за нуль.
Вектор-стовпець b та матриця C2 обраховуються, виходячи з уведеної розмірності, зауважимо, що значення їх елементів завжди менші одиниці і різко спадають зі збільшенням розмірності.
При утворенні y1 враховуємо, що результатом множення матриці А на вектор-стовпець b є вектор-стовпець, елементи якого будуть раціональними числами(тобто матимуть значущу дробову частину).
При утворенні y2 враховуємо, що результатом віднімання двох векторівстовпців є вектор-стовпець, елементи якого можуть бути меншими за нуль цілими числами. Далі, при множенні цілочисельної додатної матриці А1 на результат віднімання, отримаємо вектор-стовпець з цілочисельними елементами довільного знаку.
При утворенні Y3 враховуємо, що присутні лише операції додавання та множення, а тому вихідний результат завжди буде додатнім і завжди матиме значущу дробову частину.
Таким чином, згідно поставленої задачі, в обчисленні загального виразу приймають участь три різні елементи – два вектори стовпці y1, y2 та матриця Y3.
Перший доданок загального виразу містить три множники – транспонований вектор-стовпець y2, (тобто вектор-рядок), вектор-стовпець y1 та матрицю Y3 піднесену до квадрату. Оскільки, згідно правил матричних обчислень, добуток не є комутативною операцією, всі множення слід виконувати в тій послідовності, яка задана. Результатом множення рядка на стовпець є число, а матриці на матрицю матриця. Тому, в загальному, перший доданок буде матрицею. Аналогічний аналіз можна застосувати до всіх решти доданків даного виразу. Другий доданок повністю повторює перший, третій доданок – рядок .матрицю=рядок, рядок . стовпець=число, число . матрицю = матриця.
Таким чином, з попереднього випливає, що остаточний результат є вектор-рядок, елементи якого завжди мають дробову частину.
Декомпозиція задачі. Однозначно, всі обчислення безпосередньо залежать від розмірності даних, тому найперше, слід забезпечити ввід змінної n, що визначає цю розмірність. Далі, можна паралельно виконувати обчислення значень вектора b та матриці С2, оскільки вони незалежні від інших параметрів. Крім того, на тому ж рівні декомпозиції слід визначати вхідні дані, тобто вводити з клавіатури, або генерувати випадковим чином матриці A, A1, A2, B2 та вектори-стовпці b1,c1. Наступний рівень декомпозиції – це знаходження елементів виразу. Значення y1 залежить від введеної матриці А та обрахованого вектора b. Значення y2 залежить від введеної А1 та різниці векторів b1 і c1, тому знайти його можна лише після обчислення (b1 -c1). Зауважимо, що множення на константу не є окремою операцією, як і транспонування векторів. Аналогічно, знаходимо Y3. Подальша декомпозиція відбувається згідно заданої послідовності операцій та врахування залежностей отриманих на кожному рівні даних. Повна схема декомпозиції обчислення заданого виразу приведена нижче.
Схема декомпозиції.
Результати виконання:
Висновок: при виконанні даної лабораторної роботи я вивчив методи декомпозицій задач. Також набув навиків розв’язування задач з використанням функціональної декомпозиції.