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

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

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





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

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

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

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

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

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

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

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

• управляющие связи между операторами - отношения достижимости Д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; просмотров: 452. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

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

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

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