Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Answers v.1.0.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
501.37 Кб
Скачать

31. Задача коммивояжера. Алгоритм поиска субоптимального решения.

Задача: Коммивояжер должен совершить поездку по городам и вернуться обратно, побывав в каждом городе ровно один раз, сведя при этом затраты на передвижение к минимуму.

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

Для сложных сетей число гамильтоновых циклов непомерно велико. В полном графе с 20-ю вершинами существует приблизительно 6,1*1016 ЦГ

Применяют алгоритм поиска субоптимального решения - Алгоритм ближайшего соседа

Дан нагруженный граф с множ. вершин V. Цикл, полученный в результате работы, будет совпадать с конечным значением переменной маршрут, а его длина — конечное значение переменной w.

ПРИМЕР (Лекция 6(25))

32. Теория алгоритмов. Вычислительная сложность алгоритмов. Классификация алгоритмов по функции сложности (эффективность алгоритмов). Распознавательные задачи. Сложностные классы задач P, NP, NP- полные задачи. Соотношение классов P, NP и NP-полные.

__Теория алгоритмов - классифицирует задачи по сложности. При этом классифицируются лишь распознавательные задачи.

ВЫЧИСЛ СЛОЖНОСТЬ АЛГОР(оценка сложности алгоритм):::::

__Предположим, что функции f(n) и g(n) измеряют эффективность двух алгоритмов, их обычно называют функциями временной сложности. Будем говорить, что порядок роста функции f(n) не больше, чем у g(n), если найдется такая положительная константы С, что | f(n) | <= С | g(n) |. Этот факт обозначают как f(n) = O(g(n))

Например: сложность алгоритма О(n3)

ЭФФЕКТИВНОСТЬ АЛГОРИТМОВ:::

РИСУНОК(Лекция 5 12 слайд)

РАССПОЗНАВАТЕЛЬНые ЗАДАЧи:::

___Распознавательная задача – это задача отвечающая на вопрос: обладают ли входные данные некоторым свойством. В нашем случае: входные данные – граф, свойство – явл. ли граф Гамильтоновым?

СЛОЖНОСТНЫЕ КЛАССЫ:

__Сложностный класс P: существует алгоритм A, решающий задачу за полиномиальное время.

__Сложностный класс NP — существует алгоритм А проверяющий предложенное решение, за полиномиальное время.

__Задача о гамильтоновом цикле состоит в выяснении, имеет ли заданный граф G гамильтонов цикл относится к NP-классу.

NP-gлные задачи :::::

__Наиболее серьезная причина полагать, что P ≠ NP — существование NP полных задач.

__Неформально!!!, задача Q сводится к задаче Q, если задачу Q можно решить за полиномиальное время для любого входа, считая известным решение задачи Q′ для какого-то другого входа. Например, задача решения линейного уравнения сводится к задаче решения квадратного уравнения.

__NP-полная задача — это такая задача из класса NP, к которой можно свести любую другую задачу из класса NP.

__NP-полные задачи образуют подмнож. «самых сложных» задач в классе NP. Если для любой NP-полной задачи будет найден полиномиальный алгоритм решения, то и любая другая задача из класса NP может быть решена за полиномиальное время.

__Все перечисленные NP-задачи явл. NP-полными. В том числе задача о цикле Гамильтона.

СООТНОШЕНИЕ P и NP :::::

__Всякая задача из P принадлежит NP.

__Таким образом, класс NP включает в себя класс P. В данное время, неизвестно совпадают ли классы P и NP, но большинство специалистов полагает, что нет.

__Если окажется, что Р= NP

1) NP задачи окажутся решаемы за разумное время.

2) Существует ряд задач, которые намеренно используют задачи экспоненциальной сложности (т.е. предполагая, что задачу решить не возможно). Например, В криптографии существует раздел о шифровании с открытым ключом, расшифровать которые практически не возможно. Если вдруг P = NP, то многие секреты перестанут быть таковыми.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]