
- •Міністерство Освіти і Науки України Національний Університет “Львівська Політехніка”
- •Алгоритми та методи обчислень
- •Параметрична модель алгоритму
- •Лабораторна робота №1.
- •Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота №2.
- •Порядок виконання роботи
- •Лабораторна робота № 3. "Формальні алгоритмічні системи (фас). Машина Тьюрінга (мт)".
- •Математичні фас
- •Структура мт.
- •Способи зменшення часової складності мт .
- •Обмеженність використання мт.
- •Послідовність розв’язання задач на мт.
- •Порядок виконання роботи
- •Лабораторна робота № 4. " Побудова алгоритмів ефективних за часовою складністю. Задача квадратичного призначення".
- •Фіксуємо елемент х1 в позиції р3
- •Фіксуємо елемент х2 в позиції р5
- •Фіксуємо елемент х3 в позиції р4
- •Фіксуємо елемент х4 в позиції р1 Фіксуємо елемент х5 в позиції р2
- •Підраховуємо сумарну довжину з'єднань
- •Порядок виконання роботи
- •Лабораторна робота № 5. "Використання способів зменшення часової складності алгоритму на прикладі алгоритму швидкого перетворення Фурье".
- •Перетворення Фурье
- •Застосування дискретного перетворення фурье (дпф)
- •К омплексне дискретне перетворення фурье (дпф)
- •П еретворення дійсних та уявних компонент дпф в амплітуду ( mag ) і фазу ( φ )
- •Швидке перетворення Фурье
- •Властивості симетрії і періодичності повертаючих множників wn r
- •Швидке перетворення фурье (шпф) в порівнянні з дискретним перетворенням фурье (дпф)
- •Базова операція метелик в алгоритмі шпф з проріджуванням за часом
- •Обчислення 8-точкового дпф в трьох каскадах з використанням проріджування за часом
- •Розширення спектрУ сигналу
- •Шпф синусоїдального сигналу з цілим числом періодів у вибірці
- •Шпф синусоїдального сигналу з нецілим числом періодів у вибірці
- •Методи зменшення часової складності
- •Порядок виконання роботи
- •Лабораторна робота № 6.
- •Порядок виконання роботи
- •Навчально-методичні матеріали
- •Навчальне видання Методичні вказівки
- •" Алгоритми та методи обчислень "
Способи зменшення часової складності мт .
Часова складність МТ задається послідовністю миттєвих станів машини. Місткісна складність вимірюється кількістю комірок стрічки, яка необхідна для реалізації алгоритму. Складність програми визначається кількістю команд.
Мінімізація часової складності МТ пов’язана з використанням наступних способів:
· зміна розташування початкових даних на стрічці;
· вибір місця розташування проміжних результатів;
· вибір стратегії руху головки;
· вибір початкового положення головки;
· збільшення символів зовнішнього алфавіту;
· застосування паралелізму ( багатострічкова МТ ).
Обмеженність використання мт.
Наведені способи мінімізації часової складності, крім останньго, не мають практичного значення для комп’ютерної реалізації. МТ є ідеалізованою моделлю алгоритму. Основним пунктом її ідеалізації, як і всіх інших математичних ФАС, є неврахування апаратних витрат, необхідних для реалізації алгоритму. Ця особливість математичних ФАС не дозволяє у повній мірі використовувати досягнення теорії ФАС у проектуванні апаратно-програмних засобів. А у деяких випадках цей недолік приводить до практично неприйнятних висновків. Прикладом тому є теорема про лінійне прискорення.
Послідовність розв’язання задач на мт.
Розміщуються дані на стрічці
Визначається необхідність використання додаткових символів і місця їх розташування
Розробляється стратегія розв’язання задачі (слід машина Тюрінга )
Будується таблиця програми.
У відповідності до сліду машина Тюрінга розробляється набір команд, які розміщуються в клітинах таблиці.
Мінімізується кількість станів (команд) не змінюючи стратегії розв’язання задачі
Основна гіпотеза теорії алгоритмів: уточнення змісту алгоритму за допомогою рекурсивних функцій, моделей алгоритму: машини Тюрінга, нормальних алгоритмів Маркова – еквівалентні один одному. Основу гіпотези складають наступні тези:
Теза Чьорча: клас рекурсивно – примітивних функцій співпадає з класом обчислювальних функцій.
Теза Тюрінга: будь-яка обчислювальна функція може бути реалізована на відповідній машині Тюрінга.
Теза Маркова: будь-який довільний потенційно-здійснюваний процес перероблення слів в деякому алфавіті може бути представлений у вигляді певного нормальних алгоритму.
Приклади.
1. Виконати операцію (Х mod 3), де Х= 100111.
Визначити часову (L), програмну (P) та місткісну (M) складність алгоритму.
Q A |
q0 |
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
q9 |
q10 |
q11 |
m |
Lq0 |
|
Rq2 |
Lq3 |
Rq4 |
Rq5 |
|
|
Rq8 |
|
|
|
1 |
xLq1 |
yLq0 |
Rq2 |
Lq3 |
|
Rq5 |
|
|
|
|
|
|
0 |
Lq1 |
Lq0 |
Rq2 |
Lq3 |
Rq4 |
Rq5 |
xLq3 |
yLq3 |
Rq8 |
|
|
|
a0 |
Rq2 |
Rq2 |
Lq3 |
Rq8 |
Lq6 |
Lq7 |
|
|
0Rq11 |
1Rq11 |
0Rq11 |
|
x |
|
|
Rq2 |
0Rq4 |
Rq4 |
Rq5 |
yLq3 |
0Lq3 |
0Rq9 |
|
|
|
y |
|
|
Rq2 |
0Rq5 |
Rq4 |
Rq5 |
0Lq3 |
xLq3 |
1Rq10 |
|
|
|
# |
|
|
|
|
|
|
|
|
|
|
|
qf |
P = 44
В алгоритмі використано наступну властивість :
Якщо С = А + В , то С mod3 =(A mod3 + B mod3) mod3
2. Виконати операцію кон’юнкції: (Х Ù Y), де Х= 0101, Y = 0110.
Визначити часову (L), програмну (P) та місткісну (M) складність алгоритму.
Q A |
q0 |
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
a0 |
Lq1 |
|
|
|
Lq4 |
Lq5 |
1Rq8 |
0Rq8 |
Rq8 |
0 |
Rq0 |
a0Lq3 |
Lq2 |
Lq3 |
a0Lq7 |
a0Lq7 |
Lq6 |
Lq7 |
Rq8 |
1 |
Rq0 |
a0Lq2 |
Lq2 |
Lq3 |
a0Lq6 |
a0Lq7 |
Lq6 |
Lq7 |
Rq8 |
^ |
Rq0 |
qf |
Lq4 |
Lq5 |
|
|
|
|
Rq0 |
P = 29
3. Виконати операцію переводу формата числа із десяткового в унарний : Х(10) à Y(1), де Х= 10.
Визначити часову (L), програмну (P) та місткісну (M) складність алгоритму.
Q A |
q0 |
q1 |
q2 |
q3 |
0 |
9Lq0 |
|
|
|
1 |
Lq0 |
|
a0Rq1 |
a0Rq1 |
2 |
|
|
1Rq1 |
|
3 |
|
|
2Rq1 |
|
4 |
|
|
3Rq1 |
|
5 |
|
|
4Rq1 |
|
6 |
|
|
5Rq1 |
|
7 |
|
|
6Rq1 |
|
8 |
|
|
7Rq1 |
|
9 |
|
|
8Rq1 |
|
a0 |
Rq3 |
|Lq2 |
qf |
|
| |
Rq1 |
Rq1 |
Lq2 |
|