Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО / Материалы по ТП / tech_pro_lek_IVANOVA.doc
Скачиваний:
593
Добавлен:
12.03.2015
Размер:
19.47 Mб
Скачать

4.6. Математические модели задач, разработка или выбор методов решения

Для задач, алгоритм решения которых не очевиден, используют разного рода математические модели. Процесс построения такой модели включает:

• анализ условия задачи;

• выбор математических абстракций, адекватно,т.е. с требуемойточ­ностьюиполнотойпредставляющих исходные данные и результаты;

• формальную постановку задачи;

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

Для многих задач, которые часто встречаются на практике, в математи­ке определены как модели, так и методы решения. К таким задачам, напри­мер, относится большинство задач аналитической геометрии на плоскости и в пространстве, задачи моделирования дискретных систем и т. д.

Основная проблема в подобных случаях - обоснование применимости той или иной математической модели для решения конкретной задачи.

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

• особенности данных конкретной задачи, связанные с предметной об­ластью (погрешность, возможные особые случаи и т. п.);

• требования к результатам (допустимую погрешность);

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

Пример4.8.Выполнить формальную постановку задачи поиска цикла минимальной длины (задачи коммивояжера).

Вспомним, что задача коммивояжера или поиска цикла минимальной длины в простейшем варианте формулируется следующим образом. Задан список городов и дорог, соединяющих данные города. Известны расстояния между городами. Необходимо объехать все города, не заезжая ни в какой го­род дважды, и вернуться в исходный город так, чтобы суммарная длина пу­ти была минимальной.

Анализ условия задачи показывает, что математической моделью объек­тов системы и существующих или возможных связей между ними может яв­ляться взвешенный ориентированный или неориентированный граф G(X, <U,L>), где X,U,L- множества вершин, ребер и весов ребер соответ­ственно.

Для перехода от объектов задачи к их математическим моделям необхо­димо [55]:

• сформулировать правила соответствия компонентов объекта компо­нентам модели;

• определить вид этих соответствий (взаимно однозначные, однознач­ные, многозначные);

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

Все это определяется, исходя из отношений, существующих между ком­понентами объекта, а также свойств объекта и характеристик его компо­нентов.

В графе Gмножество Э объектов системы (городов) поставлено во вза­имно однозначное соответствие множеству X, а множеству связей С между парами объектов (дорог) поставлено в такое же соответствие множество ре­берU. Расстояние между городами (эi , эj) интерпретируется как вес соответ­ствующего ребраw(xi ,xj).

Таким образом, в терминах теории графов рассматриваемая задача - это поиск в ориентированном или неориентированном графе гамильтонова цик­ла минимальной длины.

Формальная постановка задачи имеет вид - выполнить преобразование исходного графа G в граф результата Gc:

так что

причем

где p(xi) - количество ребер, подходящих к вершине;aS(xi,xj) - маршрут между вершинамиxi,xj, т. е. последовательность смежных ребер, связываю­щих эти вершины.

Следует иметь в виду, что граф имеет гамильтонов цикл, если сумма ло­кальных степеней любой пары вершин больше или равна числу его вершин:

Впротивном случае граф может не иметьгамильтонова цикла,что для нас означает, что в некоторых случаяхзадача может не иметь решения.

Задача относится к классу NP-сложных задач, вычислительная сложность, которых не выражается и виде полинома от размерности ее входа (количества городов), а носит экспоненциальный характер, т.е. очень быстро возрастает при увеличении размерности задачи. Известно, что точное реше­ние задачи коммивояжера может быть получено алгоритмами, реализующими полный перебор или метод ветвей и границ. Приближенное решение да­ют методы поиска в глубину и двоичной свертки.

Поскольку по техническому заданию необходимо обеспечить получение точного решения, следует реализовать хотя бы по одному методу из указан­ных групп. Для выбора методов нужно провести дополнительные исследова­ния.

Определив методы решения, целесообразно для некоторых вариантов исходных данных вручную, на калькуляторе или с использованием других средств подсчитать ожидаемые результаты. Эти данные в дальнейшем будут использованы при тестировании программного обеспечения. Кроме того, вы­полнение операций вручную позволяет точно уяснить последовательность действий, что упростит разработку алгоритмов.

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