Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Методы построения и анализа алгоритмов. Общая идея структурного синтеза программ

Содержание

Алгоритмы: Анализ и ПостроениеОбщая идея структурного синтеза программ
Методы построения и анализа алгоритмовМалышкин Виктор ЭммануиловичКафедра Параллельных Вычислительных Технологий Новосибирский государственный Алгоритмы: Анализ и ПостроениеОбщая идея структурного синтеза программ Алгоритмы: Анализ и ПостроениеБазой знаний в вычислительных моделях является множество алгоритмов, причем Алгоритмы: Анализ и ПостроениеВ дополнению к этому, так же как массив джунглей Алгоритмы: Анализ и ПостроениеX={x, у, ..., z} конечное множество переменных, F={а, b, Алгоритмы: Анализ и Построение Алгоритмы: Анализ и Построение Алгоритмы: Анализ и ПостроениеМножества термов из T(V,F) обозначается T1, T1⊆T(V,F). Впредь будем Алгоритмы: Анализ и ПостроениеПланирование алгоритма Разработано много различных алгоритмов планирования. Здесь рассматривается Алгоритмы: Анализ и ПостроениеПредставление графа	Пусть задана вычислительная модель С=(X,F), которая после трансляции Алгоритмы: Анализ и ПостроениеВ восходящей части алгоритма строятся множества переменных и операций, Алгоритмы: Анализ и ПостроениеЕсли W⊄Vk, то планирование можно прекращать, так как в Алгоритмы: Анализ и ПостроениеОбозначим F*=    Fi, и определим множества:Построение Алгоритмы: Анализ и ПостроениеПостроение множеств Gi и Hi завершается, когда при некотором Алгоритмы: Анализ и Построение V={x1,x2}, W={x10} Сверху множества Fi и Vi, образовавшиеся Алгоритмы: Анализ и Построение Множества Gi и Hi (сверху) сформировались в нисходя-щей Алгоритмы: Анализ и Построение Таким образом, результатом планирования является ПВМ, оставшаяся от Алгоритмы: Анализ и Построение В случае, когда W⊄Vk, сформулированная задача синтеза оказывается Алгоритмы: Анализ и Построение Из описания алгоритма следует, что проверка условия in(a)⊆ Алгоритмы: Анализ и Построение При реализации алгоритма переменные и операции в ТХ Алгоритмы: Анализ и Построение …. Алгоритмы: Анализ и ПостроениеАхо, Альфред, В., Хопкрофт, Джон, Ульман, Джеффри, Д. Структуры Алгоритмы: Анализ и ПостроениеЧто мы называем алгоритмом? Почему?Сколько существует алгоритмов и программ, Алгоритмы: Анализ и Построение8.Что такое вычислительная сложность алгоритма?9. Время работы алгоритма. От
Слайды презентации

Слайд 2 Алгоритмы: Анализ и Построение
Общая идея структурного синтеза программ


Алгоритмы: Анализ и ПостроениеОбщая идея структурного синтеза программ

Слайд 3 Алгоритмы: Анализ и Построение
Базой знаний в вычислительных моделях

Алгоритмы: Анализ и ПостроениеБазой знаний в вычислительных моделях является множество алгоритмов,

является множество алгоритмов, причем хороших алгоритмов (как тропинки в

джунглях не прокладываются плохо, так и в вычислительных моделях накапливаются только хорошие алгоритмы). И комбинации хороших алгоритмов (путь x0x1z1x2x3 в джунглях) тоже могут быть хороши. Они хотя и не обязательно оптимальны, но и не самые худшие. Задача вывода приемлемого алгоритма становиться простой и сводится к ограниченному управляемому перебору на графе.

Слайд 4 Алгоритмы: Анализ и Построение
В дополнению к этому, так

Алгоритмы: Анализ и ПостроениеВ дополнению к этому, так же как массив

же как массив джунглей разбиваются тропинками на фрагменты, так

и описание предметной области разбивается в вычислительных моделях на множество меньших предметных областей, для которых построение более или менее полных теорий (для каждой подобласти своей) более вероятно. Таким образом, в вычислительных моделях формализованное описание предметной области строится как система теорий, связанных соотношениями модели.
Метод синтеза программ на вычислительных моделях применяется тогда, когда достаточно полная модель предметной области еще не создана, а считать уже надо ‑ обычная на практике ситуация.

Слайд 5 Алгоритмы: Анализ и Построение
X={x, у, ..., z} конечное

Алгоритмы: Анализ и ПостроениеX={x, у, ..., z} конечное множество переменных, F={а,

множество переменных, F={а, b, ..., с} конечное множество функциональных

символов. Пара С=(X,F) называется вычислительной моделью.




Слайд 6 Алгоритмы: Анализ и Построение




Алгоритмы: Анализ и Построение

Слайд 7 Алгоритмы: Анализ и Построение



Алгоритмы: Анализ и Построение

Слайд 8 Алгоритмы: Анализ и Построение



Множества термов из T(V,F) обозначается

Алгоритмы: Анализ и ПостроениеМножества термов из T(V,F) обозначается T1, T1⊆T(V,F). Впредь

T1, T1⊆T(V,F). Впредь будем работать только с термами из

T1. Это конечные множества.
Множество термов ={t∈T1⎜out(t)∩W≠∅}.
Это множество задает все вычисления, которые основаны на V и завершаются в W.
Множество термов R⊆ такое, что ∀x∈W∃t∈R(x∈out(t)) называется (V,W)-планом вычислений. Ясно, что (V,W)-план задает детерминант вычислимой функции, которая вычисляет переменные W из переменных V





Слайд 9 Алгоритмы: Анализ и Построение
Планирование алгоритма

Разработано много различных

Алгоритмы: Анализ и ПостроениеПланирование алгоритма Разработано много различных алгоритмов планирования. Здесь

алгоритмов планирования. Здесь рассматривается хорошо реализуемый алгоритм, который позволяет

строить все термы из и имеет линейную временную сложность относительно числа дуг в графическом представлении ПВМ.




Слайд 10 Алгоритмы: Анализ и Построение

Представление графа
Пусть задана вычислительная модель

Алгоритмы: Анализ и ПостроениеПредставление графа	Пусть задана вычислительная модель С=(X,F), которая после

С=(X,F), которая после трансляции представлена в виде двух таблиц

ТХ и ОП. Каждая строка таблицы ТХ имеет вид (х,А(х),соmр(x)), а таблицы ОП ‑ (a,in(a),out(a)).
Здесь х∈X, a∈F, comp(x)={a∈F⎟x∈out(a)}, A(x)={a∈F⎟x∈in(a)}.
Алгоритм планирования состоит из двух частей: восходящей и нисходящей.




Слайд 11 Алгоритмы: Анализ и Построение

В восходящей части алгоритма строятся

Алгоритмы: Анализ и ПостроениеВ восходящей части алгоритма строятся множества переменных и

множества переменных и операций, используемых в термах из множества

ТV=T(V,F). Обозначим V0=V, тогда
F0={a∈F⎟in(a)⊆V0}= {a∈A(x)⎟in(a)⊆V0}
содержит все операции ПВМ такие, что in(a)⊆V0. Далее формируется множество V1={х∈Х⎮х∈out(а)∧a∈F0}∪V0, на основе V1 строится множество
F1= {a∈А(х)⎪in(a)⊆V1}
и т. д. до тех пор, пока при некотором целом положительном k не окажется, что Fk=∅. На этом завершается восходящая часть алгоритма планирования.
Множества Vi и Fi, i=0,...,k, содержат все переменные и операции, используемые в термах из множества ТV







Слайд 12 Алгоритмы: Анализ и Построение

Если W⊄Vk, то планирование можно

Алгоритмы: Анализ и ПостроениеЕсли W⊄Vk, то планирование можно прекращать, так как

прекращать, так как в этом случае существует переменная в

W, которая не вычисляется никаким термом из множества ТV, и, следовательно, не существует алгоритма решения сформулированной задачи на основе имеющихся знаний о ПО. В этом случае говорим, что сформулированная задача синтеза неразрешима. В противном случае можно начать строить множества переменных и операций, используемых в термах из .








Слайд 13 Алгоритмы: Анализ и Построение

Обозначим F*=

Алгоритмы: Анализ и ПостроениеОбозначим F*=  Fi, и определим множества:Построение множеств

Fi, и определим множества:



Построение множеств Gi и Hi завершается,

когда при некотором целом положительном r окажется Gr = ∅. Множества Gi и Hi, i = 1, ..., r, содержат все переменные и операции, используемые в термах из множества .










Слайд 14 Алгоритмы: Анализ и Построение




Построение множеств Gi и Hi

Алгоритмы: Анализ и ПостроениеПостроение множеств Gi и Hi завершается, когда при

завершается, когда при некотором целом положительном r окажется Gr

= ∅. Множества Gi и Hi, i = 1, ..., r, содержат все переменные и операции, используемые в термах из множества .










Слайд 15 Алгоритмы: Анализ и Построение




























V={x1,x2},
W={x10}
Сверху множества

Алгоритмы: Анализ и Построение V={x1,x2}, W={x10} Сверху множества Fi и Vi,

Fi и Vi, образовавшиеся в результате восходящей части алгоритма

планирования на ПВМ справа

Слайд 16 Алгоритмы: Анализ и Построение



































Множества Gi и Hi

Алгоритмы: Анализ и Построение Множества Gi и Hi (сверху) сформировались в

(сверху) сформировались в нисходя-щей части алгоритма плани-рования. После завершения

планирования остаются лишь переменные и операции из множеств Gi и Hi , остальные удаляются (справа).

Слайд 17 Алгоритмы: Анализ и Построение


































Таким образом, результатом планирования

Алгоритмы: Анализ и Построение Таким образом, результатом планирования является ПВМ, оставшаяся

является ПВМ, оставшаяся от С после удаления “лишних” переменных

и операций. Множество не строится, подходящий в некотором смысле (V,W)-план Т строится в каждом конкретном случае процедурой выбора алгоритма.




Слайд 18 Алгоритмы: Анализ и Построение


































В случае, когда W⊄Vk,

Алгоритмы: Анализ и Построение В случае, когда W⊄Vk, сформулированная задача синтеза

сформулированная задача синтеза оказывается неразрешимой и необходимо изменить формулировку

задачи, т. е. либо уменьшить W, удалив из него невычислимые переменные, либо расширить V, включив в него такие новые переменные, что станут вычислимыми все переменные из W. Для уменьшения затрат на расширение V может быть использован алгоритм планирования. Для этого необходимо выполнить его нисходящую часть из множества переменных W'=W\Vk с использованием всех операций из F. Все переменные из построенных при этом множеств Hi, i=1, 2, ..., r, являются кандидатами на включение в V. Из них человек может выбрать те переменные, значения которых ему доступны.




Слайд 19 Алгоритмы: Анализ и Построение

































Из описания алгоритма следует,

Алгоритмы: Анализ и Построение Из описания алгоритма следует, что проверка условия

что проверка условия in(a)⊆ Vi делается не более одного

раза для каждой входной дуги произвольно взятой операции а, а проверка условия out(a)∩Hi-1≠∅ - не более одного раза для каждой выходной дуги а. Понятно, что алгоритм планирования имеет линейную относительно числа дуг в графическом представлении ПВМ временную сложность, если в качестве элементарных шагов алгоритма взять проверки in(a)⊆Vi и out(a)∩ Hi-1 ≠∅.




Слайд 20 Алгоритмы: Анализ и Построение

































При реализации алгоритма переменные

Алгоритмы: Анализ и Построение При реализации алгоритма переменные и операции в

и операции в ТХ и ОП могут кодироваться целыми

положительными числами. Для представления всевозможных множеств переменных — А(х), in(a), Vi, Fi и т. д., — можно использовать битовые шкалы. Шкала Vi, к примеру, содержит в k-й позиции единицу, если переменная номер k принадлежит Vi. Применение битовых шкал сводит проверку условий in(a)⊆Vi и out(а)∩Hi-1≠∅ к двум логическим операциям.



Слайд 21 Алгоритмы: Анализ и Построение

































….

Алгоритмы: Анализ и Построение ….

Слайд 22 Алгоритмы: Анализ и Построение
Ахо, Альфред, В., Хопкрофт, Джон,

Алгоритмы: Анализ и ПостроениеАхо, Альфред, В., Хопкрофт, Джон, Ульман, Джеффри, Д.

Ульман, Джеффри, Д. Структуры данных и алгоритмы. : Пер.

с англ. : Уч. пос. — М. : Издательский дом "Вильяме", 2000. — 384 с.
Кормен Т., Лейзерсон Ч., Риверс Р., Штайн К. Алгоритмы. Построение и анализ – М.: «Вильямс», 2012
В.Э.Малышкин, В.Д.Корнеев. Параллельное программирование мультикомпьютеров. – В серии «Учебники НГТУ», Новосибирск, изд-во НГТУ, 2011, 296 стр. (есть в библиотеке)

Рекомендуемые учебники


Слайд 23 Алгоритмы: Анализ и Построение
Что мы называем алгоритмом? Почему?
Сколько

Алгоритмы: Анализ и ПостроениеЧто мы называем алгоритмом? Почему?Сколько существует алгоритмов и

существует алгоритмов и программ, вычисляющих вычислимую функцию?
Задача, ее модель,

алгоритм решения
Задача управления движением на перекрестке и ее модель
Три подхода к решению комбинаторной задачи
Задача раскраски графа. Жадный алгоритм раскраски графа
Абстрактные типы данных. Что такое?

ВОПРОСЫ


  • Имя файла: metody-postroeniya-i-analiza-algoritmov-obshchaya-ideya-strukturnogo-sinteza-programm.pptx
  • Количество просмотров: 107
  • Количество скачиваний: 0