Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритмы в дискретной математике

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

Если размерность задачи задается числом n (например n чисел или n вершин графа), то будем говорить, что трудоемкость алгоритма есть (О большое от), если число операций не превосходит , где с – некоторая константа. Для функции есть две существенно различные возможности. Либо это степенная функция, т.е. , где k – константа. Либо это функция, растущая быстрее любой степени n, например, . Алгоритмы, трудоемкость которых есть , принято считать эффективными. Большая размерность задач не может служить препятствием для решения их на компьютере. Наоборот, экспоненциально растущее число операций ограничивает размеренность решаемых задач даже при использовании самых быстродействующих компьютеров.

Рассмотрим в качестве примера часто встречающуюся на практике задачу линейного упорядочивания массива действительных чисел. Пусть задано n действительных чисел которые будем для простоты считать различными. Требуется переписать массив так, чтобы элементы были расположены в возрастающем порядке . В качестве элементарной операции алгоритма будем рассматривать операцию сравнения двух элементов массива.

Тривиальный алгоритм решения задачи, состоящий в генерировании всех n! перестановок и проверке условия монотонности, требует сравнений в наихудшем случае и сравнений в среднем. Такое число элементарных операций не позволяет осуществить его уже при .

Более разумным представляется нахождение минимального элемента массива и помещение его на первое место, затем нахождение минимального элемента в оставшейся части массива и помещение его на второе место и т.д. Данный алгоритм требует сравнений.

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

Спрашивается, возможно ли линейное упорядочивание массива за меньшее число сравнений? Ответ положителен. Существуют алгоритмы выполняющие упорядочивание за сравнений. Одним из них является метод слияния. Пусть имеется два линейно упорядоченных подмножества исходного массива . Для нахождения наименьшего элемента в этих двух подмножествах достаточно сравнить с . Затем также с помощью одного сравнения находится следующий по порядку элемент и т.д. Этим достигается упорядочивание за сравнений.

Будем для простоты считать число n степенью двойки n =2m. Разобьем n элементов на пары и упорядочим каждую пару. Затем сольем пары в четверки и упорядочим каждую четверку. Затем четверки сольем в восьмерки и т.д. На каждом уровне при слиянии всего требуется сравнений. Умноженное на число уровней , это дает сравнений.

Для некоторых экстремальных задач в теории графов известны эффективные алгоритмы решения. К таким задачам относятся, в частности, рассматриваемые ниже задачи о минимальном остовном дереве и о минимальном пути между двумя вершинами. Для ряда других задач, в частности, задачи нахождения гамильтонова цикла минимальной длины (задача коммивояжера) эффективных алгоритмов неизвестно. Широко распространенным является мнение, что широкий класс дискретных экстремальных задач не допускает эффективного решения, хотя это и не удалось доказать. В тех случаях, когда эффективный алгоритм неизвестен, задачи небольшой размерности могут быть решены с помощью метода «ветвей и границ», т.е. сокращенного перебора. Этот метод будет ниже продемонстрирован на примере задачи коммивояжера.

 

Тест

1. Какое из следующих соотношений имеет место а) ; б) ; в) ни то, ни другое.

2. Какое из следующим соотношений имеет место а) ; б) ; в) .

3. Пусть - размерность задачи, - константа. Алгоритм считается эффективным, если его трудоемкость есть а) ; б) ; в) .

 

<== предыдущая лекция | следующая лекция ==>
Основные понятия теории графов | Минимальное остовное дерево
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 694; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.