
- •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. Граф «оператор - данные».
- •Оглавление
22. Основные этапы построения алгоритма. Сущность алгоритма решения задачи на графах.
Разработка алгоритма – итерационный процесс, не всегда удается выбрать метод решения задачи до разработки алгоритма. Нередко предварительно можно лишь определить круг возможных методов, а сам метод приходится выбирать в ходе разработки алгоритма. Поэтому рассмотрим этапы и порядок их выполнения (их следует воспринимать как общее руководство).
Основные этапы разработки алгоритма
Определение операций выполнения преобразований исходного графа в граф результата.
Определяются по результатам анализа математической постановки задачи. Исходные данные: граф, его характеристики и свойства, целевая функция и ограничения. Анализируя эту информацию, определяем элементарные теоретико-множественные и алгебраические операции над графами, необходимые для преобразования исходного графа в граф результата.
Выбор способа представления графа и его представления в памяти ЭВМ, т.е. структур данных.
Организация данных в памяти ЭВМ должна обеспечить высокую эффективность их обработки и экономное использование объема. От способа представления графа и его реализации в значительной степени зависят как вычислительная, так и емкостная сложность алгоритма. Выбор способа представления графа определяется главным образом видом операций его преобразования.
Конструирование или выбор решающих правил, обеспечивающих удовлетворение оценочной функции.
Осуществляется исходя из критериев оценки оптимальности решения.
Анализ возможных способов решения задачи и выбор или модификация приемлемого.
Анализ опирается на априорные представления о вычислительной и емкостной сложности и точности алгоритмов, построенных на их основе, и должен учитывать максимальную размерность задачи.
Разработка алгоритмической модели процесса решения задачи.
Алгоритмическая модель – описание процесса решения задачи, отражающее основные этапы. Главная идея алгоритмической модели – описать идею алгоритма с такой полнотой и степенью детализации, которая позволила бы оценить ожидаемую вычислительную и емкостную сложность алгоритма, возможно доказать его точность и получить ее оценки.
Доказательство точности алгоритма оценка погрешности разработанного алгоритма.
Оценка вычислительной и емкостной сложности.
Детальная проработка алгоритма.
Детальное описание алгоритма отличается от алгоритмической модели, в нем нельзя опускать операции, которые не существенны с точки зрения вычислительной и емкостной сложности. Форма записи операций над графами должна быть в максимальной степени приближена к конструкциям выбранного языка программирования, а алгоритм должен строится в соответствии с принципами структурного программирования. Структуру алгоритма рекомендуется представлять в виде блок-схем. Выбираются методы снижения вычислительной сложности:
- использование рекуррентных процедур для определения состава таких множеств некоторых объектов, состав которых в результате преобразований меняется частично
- применение рекуррентных формул или процедур для определения новых критериев и оценочных функций
- исключение повторного расчета значений критериев / оценочных функций для тех подмножеств, для которых они не меняются
- заблаговременное исключение вариантов решений, не отвечающих ограничениям задачи
Сущность алгоритма решения задачи на графах
С теоретико-множественной точки зрения алгоритм решения задачи на графах – это определенная последовательность операций, описывающая процесс преобразования исходного графа в граф результата или генерации последнего на основании данных об исходном графе (графах), целевой функции и ограничений задачи и в соответствии с выбранным методом решения.
Т.к. теория графов оперирует с множествами (следует из определения графа: «Графом называется объект, состоящий из двух множеств, между элементами которых задан набор отношений»), то при формализации используются основные операции теории множеств, такие как:
операции отношения (принадлежность, равенство, объединение …),
двуместные отношения множеств (бинарное отношение, однозначное отображение, многозначное отображение, взаимнооднозначное соответствие, отношение эквивалентности, образ многозначного отображения элемента, упорядочивание множеств),
основные операции математической логики,
элементарные операции над графами:
- удаление вершины
- удаление ребра
- добавление вершины и инцендентного ему ребра
- добавление вершины в гиперграф
- добавление ребра
- свертка вершин
- свертка ребра инцендентного вершинам
- подразбиение ребра инцендентного вершинам