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