Студопедия — Математическая модель алгоритма
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Математическая модель алгоритма






Для автоматизации анализа вычислительной и емкостной сложности, а также выполнения оптимизирующих преобразований и проверки правильности трансляции алгоритма, написанного на некотором формальном языке высокого уровня, необходимо иметь его математическую модель. Со структурной и процедурной точек зрения алгоритм – совокупность операций, выполняемых в заданной или вычисляемой последовательности и обрабатывающих набор структурированных данных. Таким образом компонентами структуры алгоритма являются операции преобразования данных, операции управления и связи между ними. Для выполнения потокового анализа алгоритмов и формального выполнения эквивалентных преобразований необходимо знать порядок выполнения операторов, т. е. существенным является отношение преемник-предшественник, вероятности переходов от предшественника к преемнику и значение предиката условия, по которому происходит этот переход.

Помимо операций и их связей, компонентами алгоритма, отражающими процедурный подход, являются входные и получаемые данные, а также связи данные-операции и наоборот.

Оценка вычислительной и емкостной сложности требует следующей информации:

• вид операций, их вычислительная сложность в функции от базисных и количество повторений этих операций;

• характеристики входа задачи, промежуточных и окончательных данных, типы структур, в которые эти данные организованы, вычислительную сложность базовых операций над используемыми структурами данных.

Для оценки количества операций и вычислительной сложности алгоритма необходимы также сведения о связях между операциями и вероятностях передач управления.

Таким образом в математической модели должны быть отражены следующие компоненты алгоритма, связи между ними, характеристики компонентов и свойства связей:

• операторы управления и преобразования данных, их типы и вычислительная сложность;

• управляющие связи между операторами - отношения достижимости Д1(О, О) с учетом вероятности их реализации;

• исходные, промежуточные и окончательные данные, их размерности и, возможно, типы структур;

• связи данные-операторы и наоборот, их типы, вычислительная сложность операций чтения-записи данных для различных структур.

Для отображений компонентов 1-го вида и отношений между ними используется управляющий граф G (< X, p 0, q 0>, F 1 X) с двумя выделенными вершинами p 0 и q 0 (начало и конец).

Управляющий граф называется правильным, если все его вершины принадлежат хотя бы одному пути из p 0 в q 0.

Правила перехода от алгоритму к управляющему графу

1. Множество операторов поставим во взаимнооднозначное соответствие множеству вершин: O «X.

2. Тип (вычислительную сложность) оператора отобразим, задав однозначные, возможно, взаимно однозначные отображения:

R 1 - X R 1 T, R 2 - X R 2 Q.

3. Отношение достижимости операторов Д1(О, О) будет соответствовать двуместному предикату смежности F1(Х, Х) множества вершин:

Д1(О, О) ~ F1(Х, Х).

4. Вершинам, принадлежащим образам F 1 xi вершин разветвления потока управления, присвоим вес из множества L = { true, false }, определяющий связь со значением предиката, вычисленным в вершине проверки условия, и вес из множества Е – вероятностей переходов. Для чего, зададим однозначные отображения R 3 и R 4 подмножеств F 1 xi во множества L и E:

F 1 xi R 3 L, F 1 xi R 4 E.

5. Вершинам прообразов F 1-1 xi вершин разветвления потока управления, присвоим аналогичные веса:

F 1-1 xi R 5 L, F 1-1 xi R 6 E.

Получим ориентированный управляющий граф с взвешенными вершинами в множестве Х и в подмножествах, представляющих их образы и прообразы,

G у (< Х, T, Q >, {< F 1 Х, L, E >, < F 1 - 1 Х, L, E >})

В модели «оператор-данные» нет необходимости задавать связи между операторами, типы операторов (их вычислительную сложность), функциональные и предикатные символы или их интерпретацию, так как они уже отображены в графе G У.

Вторая часть модели алгоритма должна отображать связи данных с операторами. Компоненты алгоритма, которые будут сопоставляться вершинам графа, распадаются на два непересекающихся множества: данные и операторы: C ={ D, O }. Для связей операторов и данных существенно являются ли последние входными или выходными. Обозначим отношение операторы-данные и данные-операторы через Д2(О, D) и Д3(D, О) соответственно. Правила перехода к этой модели:

1. Множеству операторов алгоритма О поставим во взаимно однозначное соответствие подмножество вершин X Ì Z, а множеству данных D (символов переменных базиса DB) – подмножество вершин Y Ì Z:

O «X, D «Y, причем X Ç Y = Æ, X È Y = Z.

Здесь во множество данных D включены и промежуточные результаты работы алгоритма.

2. Отношения Д2(О, D) и Д3(D, О) будут соответствовать двуместным предикатам смежности F 2(Х, Y) и F 3(Y, Х):

Д2(О, D) ~ F 2(Х, Y) и Д3(D, О) ~ F 3(Y, Х).

В качестве второй модели класса алгоритмов, отображающей данные, операторы и отношения между ними, получаем ориентированный двудольный граф:

G o.д ({ X, Y }, F 2 Х, F 2-1 Х, F 3 Y, F 3-1 Y).

Связи «данные-данные», задающие их зависимость, могут быть определены, используя образы и прообразы вершин этого графа. Пусть ykdk – промежуточный или окончательный результат. Множество Yk, на основании которого он был получен, определяется по схеме:

xk = F 3-1 yk, Yk = F 2 xk.

Интегральная модель Интегральной моделью алгоритма может служить граф:

G = G у È G o.д.

G (< Х,T, Q >, Y,< F 1 Х, L, E >,< F 1 - 1 Х, L, E >, F 2 Х, F 2-1 Х, F 3 Y, F 3-1 Y) =

= G у(< Х,T, Q >,< F 1 Х, L, E >,< F 1 - 1 Х, L, E >) È

G o.д ({ X, Y }, F 2 Х, F 2-1 Х, F 3 Y, F 3-1 Y).








Дата добавления: 2015-04-19; просмотров: 425. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия