
- •1. Задачи структурного синтеза: понятие, формальная постановка, пример.
- •2. Исходные данные для решения задач структурного синтеза.
- •3. Этапы решения прикладной задачи структурного синтеза.
- •4. Содержательная постановка и анализ задачи структурного синтеза. Результат анализа (рассмотреть пример). Пример постановки и формализации задачи структурного синтеза
- •5. Выбор аппарата формализации задач структурного синтеза. Разработка моделей объекта и результата проектирования, доказательство их адекватности (приведите пример перехода от объекта к модели).
- •6. Формальная постановка комбинаторно-оптимизационной задачи структурного синтеза на графах. Рассмотреть пример для задачи поиска остовного дерева минимальной длины.
- •8. Представление схемы неориентированным графом и гиперграфом. Неориентированный граф.
- •9. Стратегии декомпозиции пространства решений.
- •10. Отсечение и выбор перспективной вершины дерева решений. Верхняя и нижняя границы целевой функции. Пример.
- •Некоторые особенности оценочных функций
- •11. Метод поиска в глубину. Пример точного алгоритма, основанного на этом методе.
- •12. Метод поиска в глубину с возвращением. Привести пример применения.
- •13. Метод поиска в ширину. Привести пример применения.
- •14. Идея метода ветвей и границ. Основные способы отсечения ветвей.
- •15. Основные способы ветвления при построении дерева решений в методе ветвей и границ.
- •Разбиение множества вариантов на подмножества по методу в ширину и выбор вершины по min(max).
- •Разбиение множества вариантов по методу поиска в глубину с возвращением – последовательное построение ветвей с заданным порядком их развития.
- •Комбинация декомпозиции в глубину и в ширину
- •16. Конструирование оценочной функции для верхней и нижней границ целевой функции. (Рассмотрите на примере задачи поиска простой цепи графа).
- •17. Метод итерационного улучшения
- •18. Метод параллельно-последовательной свертки. Алгоритм сортировки слиянием. Оценка его вычислительной сложности.
- •19. Точность алгоритма. Докажите, что алгоритм Прима является точным.
- •20. Оценка точности алгоритма. Определение оценок в лучшем и в худшем для алгоритма решения задачи коммивояжора по методу поиска в глубину.
- •21. Вычислительная и емкостная сложность алгоритма
- •22. Основные этапы построения алгоритма. Сущность алгоритма решения задачи на графах.
- •23. Разработка алгоритмической модели процесса решения задачи. Пример модели для решения задачи декомпозиции схемы по методу неуравновешенной двоичной свёртки.
- •Пример модели для решения задачи декомпозиции схемы по методу неуравновешенной двоичной свёртки
- •24. Определение операций преобразования исходного графа в граф результата. Выбор способа представления графов и его реализация в памяти эвм.
- •25. Детальная проработка алгоритма. Способы снижения вычислительной сложности алгоритмов. (Проиллюстрировать примерами).
- •26. Последовательный алгоритм разрезания гиперграфа схемы.
- •27. Итерационный алгоритм улучшения начального разрезания гиперграфа схемы.
- •28. Методика оценки вычислительной сложности алгоритма. Рассмотрите пример.
- •Асимптотическая оценка вычислительной сложности алгоритма
- •29. Управляющий граф алгоритма.
- •30. Граф «оператор - данные».
- •Оглавление
24. Определение операций преобразования исходного графа в граф результата. Выбор способа представления графов и его реализация в памяти эвм.
Операции преобразования исходного графа в граф результата необходимы для реализации метода решения задачи в виде алгоритма, для выбора способа представления графа и структур данных. Выбор операций должен быть направлен на обеспечение высокой эффективности алгоритма, низкой емкостной и вычислительной сложности и высокой точности результатов. Совокупность этих операций определяется по результатам анализа математической постановки задачи. Из нее нам известны:
граф, являющийся моделью математического описания объекта, его характеристики и свойства
вид, характеристики и свойства графа результата
целевая функция и ограничения задачи, зависящие от управляющих параметров, т.е. характеристик графа результата
Анализируя эту информацию и зная элементарные теоретико-множественные и алгебраические операции над графами, мы можем определить возможность операций преобразования исходного графа в граф результата.
Основные элементарные операции преобразования:
удаление
добавление
разбиение
стягивание или свертка
установление соответствия и раскраски вершин или ребер
Пример:
Дано – полный граф со взвешенными
ребрами
.
Найти – остовное дерево минимального веса, т.е. сделать преобразования:
Ограничение -
и
- связанный граф:
Решение – т.к.
,
то
- это суграф. Т.о. суграф получается путем
удаления из графа части ребер. Значит
для построения
надо из
удалить часть ребер. Т.к. нам нужно
получить
минимального веса предполагаем, что
удалять надо последовательно ребра
максимального веса. Примем без
доказательства, что удаляя ребра
максимальной длины, получим точное
решение. Количество таких операций:
k=m–n+1.
При любом удалении ребра надо определить
остается ли граф связным. Но точный
алгоритм Прима и Краскала используют
другую операцию – добавление ребер
минимального веса. Выполним сравнительную
оценку алгоритма, использующего операцию
удаления, и алгоритм Краскала.
Алгоритм Краскала – ребра упорядочиваются
по увелечению длины, т.е. начальное
значение
Ø) имеется
компонент связности, далее из множества
упорядоченных ребер выбираются те,
которые имеют меньший вес и не образуют
частных циклов. Количество операций
добавления ребер равно k=n-1.
При включении нового ребра надо проверять
не образовался ли новый цикл.
-
Алгоритм удаления ребер максимальной длины
Алгоритм Краскала
1) Предварительное упорядочивание
По убыванию
По возрастанию
2) Количество операций
m-n+1
n-1
3) Проверяемые свойства (характеристика)
Из 1) и
2) можно сделать вывод
Пр(х) |
1 |
2 |
3 |
4 |
5 |
6 |
1 шаг |
1 |
2 |
3 |
4 |
4 |
6 |

Любая вершина – один компонент связности. 4,4 – а можно было написать 0,0 – безразлично.
Проверка реализуется проверкой принадлежат ли вершины ребра разным компонентам связности. Вычислительная сложность О(1).
ВЫБОР СПОСОБА ПРЕДСТАВЛЕНИЯ ГРАФОВ И ЕГО РЕАЛИЗАЦИЯ В ПАМЯТИ ЭВМ.
Способы представления графов:
неориентированный граф
гиперграф
Базовые структуры для хранения массивов данных:
вектор
матрица
линейный односвязный список
Основные варианты реализации графов в памяти:
матрица смежности и инцидентности
массив статических векторов
массив статических векторов с указателями начала каждого вектора
вектора с граничными условиями
массив динамических векторов
массив списков
список векторов
список списков
массив n-связных списков
список n-связных списков
Основное положение – от способа представления графа и его реализации в ЭВМ в значительной степени зависит его вычислительная и емкостная сложность алгоритма. В общем случае обработка данных включает в себя операции их преобразования в целях получения графа результата и их коррекцию. Выбор способа представления графа определяет операции его преобразования.
Возможные способы представления
гиперграфа
:
1)
2)
3)
4)
5)
Определяем множество элементов,
соединенных цепью
:
,
К- количество операций. Для
все аналогично.
При разработке алгоритма решения задачи мы исходим из того, что коррекция данных уже выполнена (ошибки исправлены). Но эта посылка не означает, что в ходе работы алгоритма не может возникнуть необходимость в выполнении операций удаления, добавления вершин или ребер исходного графа или промежуточного результата решения задачи. Это зависит от существа задания и метода решения, т.е. от операции выполняемой над графом.
Для ряда заданий эта коррекция может выполняться после применения алгоритма (например, последовательный алгоритм разбивания гиперграфа). В других алгоритмах, например, реализующих метод свертки, операции коррекции надо выполнять на любом шаге алгоритма.
Например, в алгоритме свободной
декомпозиции схемы по методу
неуравновешенной двоичной свертки
после факторизации вершин
надо выполнить коррекцию аналитического
представления гиперграфа:
Из Х удалить и добавить
Из U удалить ребра
Из ГХ удалить ребра , удалить
, добавить
Из ГU удалить , удалить , добавить