Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 105

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 105 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1052019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 105)

Заметим, что Хо(А) = О для любого множества А. Лемма 16.12 Для любого множества заданий А сформулированные ниже утверждения эквива- лентны. 1. Множество А независимое. 2. Неравенство Юс (А) < 1 справедливо для всех г = О, 1, 2,..., и. 3. Если в расписании задания из множества А расположены в порядке неубывания конечных сроков выполнения, то ни одно из них не является просроченным. Доказательство. Чтобы показать, что нз (1) следует (2), докажем обращенное утверждение: если Хс(А) ) 1 для некоторого 1, то невозможно составить расписание таким образом, чтобы в множестве А не оказалось просроченных заданий, поскольку до наступления момента с остается более с незавершенных заданий. Таким образом, утверждение (1) предполагает выполнение утверждения (2).

Если выполняется утверждение (2), то г-й по порядку срок завершения задания не превышает з, так что при расстановке заданий в этом порядке все сроки будут соблюдены. Наконец из утверждения (3) тривиальным образом следует справедливость утверждения (1). С помощью свойства 2 леммы 16.12 легко определить, является ли независимым заданное множество заданий (см. упр. 16.5.2). Задача минимизации суммы штрафов за просроченные задания — это то же самое, что задача по максимизации суммы штрафов, которых удалось избежать бла- 4В1 Глава 1й Жадные алгоритмы годара своевременному выполнению заданий. Таким образом, приведенная ниже теорема гарантирует, что с помощью жадного алгоритма можно найти независимое множество заданий А с максимальной суммой штрафов. Теорема 1б.13 Если 5 — множество единичных заданий с конечным сроком выполнения, а Х— семейство всех независимых множеств заданий, то соответствующая система (5, 1) является матроидом.

Доказателастоо. Каждое подмножество независимого множества заданий также независимо. Чтобы доказать, что выполняется свойство обмена, предположим, что В н А — независимые множества заданий, и что )В) ) (А~. Пусть и — наибольшее 1, такое, что Хт(В) < 1ч;(А) (такое значение 1 существует, поскольку Уо(А) = Ио(В) = О). Поскольку №(В) = /В/ и №(А) = /А/, но )В! ) (А), получается, что и < п, и для всех з в диапазоне Й + 1 < з < и должно выполняться соотношение 1ч' (В) > Гч',(А). Следовательно, в множестве В содержится больше заданий с конечным сроком выполнения 1с+ 1, чем в множестве А. Пусть а; — задание из множества  — А с конечным сроком выполнения 1с + 1 и пусть А'= А1л(а,).

Теперь с помощью второго свойства леммы 16.12 покажем, что множество А' должно быть независимым. Поскольку множество А независимое, для любого 0 < 1 < lс выполняется соотношение Хе(А') = гт'т(А) < 1. Для 1с < 1 < и, посюльку  — независимое множество, имеем Хт(А') < Ле(В) < 1. Следовательно, множество А' независимое, что и завершает доказательство того, что (Я, Т)— мвтроид. Согласно теореме 16.11 для поиска независимого множества заданий А с максимальным весом можно использовать жадный алгоритм. После этого можно будет создать оптимальное расписание, в ютором элементы множества А будут играть роль своевременных заданий.

Этот метод дает эффективный алгоритм планирования единичных заданий с конечным сроюм выполнения и штрафом для одного процессора. Время работы этого алгоритма, в котором используется процедура 1лкбепу, равно 0(п~), поскольку каждая из 0(п) проверок независимости, выполняющихся в этом алгоритме, требует времени 0(п) (см. упр. 16.5.2). Более быструю реализацию этого алгоритма предлагается разработать в задаче 16А. На рис. 16.7 приведен пример задачи по планированию единичных заданий с конечным сроком выполнения и штрафом для одного процессора. В этом при- Задание Рис. ПК7.

Пример задачи по планированию единичных заданий с конечным сроком выполнения и штрафом на одном процессоре. ~в звх зтгв 4Вг Часть!и усовертенствованные методы разработки и аназиза мере жадный алгоритм поочередно выбирает задания ам аз, аз и а4, затем отвеРгает заданил оа (посколькУ зи4((аз,аз,аз,а4,аь1) = 5) и ае (посколькУ Ж4((аз,аз,аз,а4, ае)) = 5) и наконец выбирает задание аз. В результате получается оптимальное расписание (пз п4, п11аз пз, пб, оа) котоРомУ соответствУет общаЯ сУмма штРафа, РавнаЯ вз + зсб = 50.

Упражяеиия 16.5.1 Решите задачу планирования, параметры которой приведены на рис. 16.7, но каждый штраф ид в которой заменен величиной 80 — а ь 16.5.2 Покажите, как с помощью второго свойства леммы 16.12 в течение времени 0(~А~) определить, независимо ли заданное множество заданий А. Задачи 16.1. Размен монезн Рассмотрим задачу по выдаче сдачи, сумма которой составляет п копеек, использовав как можно меньше монет. Предполагается, что номинал каждой монеты выражается целым числом. зь Опишите жадный алгоритм, в котором сдача выдастся монетами номиналом 25 копеек, 1О копеек, 5 копеек и 1 копейка.

Докажите, что алгоритм позволяет получить оптимальное решение. 6. Предположим, что номинал монет выражается степенями некоторого целого числа с > 1, т.е. номиналы представляют собой числа со, с,..., ск, где Й > 1. Покажите, что жадный алгоритм всегда дает оптимальное решение. в. Приведите пример множества номиналов монет, для которого жадный алгоритм не выдает оптимального решения. В зто множество должна входить монета номиналом 1 копейка, чтобы решение существовало для любого значения п.

* Разработайте алгоритм, позволяющий вьщать сдачу с помощью любого набора монет, множество номиналов в котором состоит из зс различных номиналов. Предполагается, что один из номиналов обязательно равен 1 копейке. Время работы алгоритма должно быть равно 0(п)с). Глава !д Жадные алгоритмы 483 ла2. Рвснисвние, минимизируюибее среднее время выналнения Предположим, имеется множество заданий Я = (аыаз,...,а„), в котором для выполнения задания а; требуется рг единиц времени. Имеется один компьютер, на котором будут выполняться эти задания и который способен одновременно выполнять не более одного задания.

Пусть с, — время зввертения задания а,, т.е. момент времени, когда прекращается его выполнение. Задача заключается в том, чтобы минимизировать среднее время завершения, т.е. величину (1/и) 2'," г с;. Например, предположим, что имеется два задания, аг и аз, которым соответствуют два значения времени выполнения: рг = 3 и рз = 5.

Рассмотрим расписание, в котором сначала выполняется задание аз, а затем — задание аг. Тогда сз = 5, сг = 8 и среднее время завершения равно (5+ 8)/2 = 6.5. Если же первым выполняется задание аы то сг = 3, сз = 8, а среднее время завершения равно (3 + 8)/2 = 5.5. а Сформулируйте алгоритм, который планирует задания таким образом, чтобы минимизировать среднее время завершения.

Каждое задание должно выполняться без прерываний, т.е., будучи запушенным, задание а, должно непрерывно выполняться в течение р, единиц времени. Докажите, что ваш алгоритм минимизирует среднее время завершения, и определите время его работы. 6. Предположим, что не все задания доступны сразу. Другими словами, с квкдым заданием связано время выпуски (ге!еазе гппе) г,, раньше которого оно недоступно для обработки. Предположим также, что допускаются нрерыввння, т.е. что задание может быть приостановлено и возобновлено позже. Например, задание ао время обработки которого равно р, = 6, может быть запущено в момент времени 1 и приостановлено в момент времени 4.

Затем оно может быть возобновлено в момент времени 10, еще раз приостановлено в момент времени 11, снова возобновлено в момент времени 13 и наконец завершено в момент времени 15. Таким образом, задание а; в общей сложности выполняется в течение шести единиц времени, но время его выполнения разделено на три фрагмента. Время завершения задания а; равно при таком расписании 15. Сформулируйте алгоритм, планирующий задания таким образом, чтобы минимизировать среднее время завершения в этом новом сценарии. Докажите, что ваш алгоритм минимизирует среднее время завершения, и найдите время его работы.

1аЗ. Ациклические иодграфы а Для неориентированного графа С = (1г,Е) метрицей инцидентнвсти (шсЫепсе шап(х) называется матрица М размером ))Г! х (Е), такая, что Мае = 1, если ребро е инцидентно вершине е, и Мае = 0 в противном случае. Докажите, что множество столбцов матрицы М линейно независимо над полем целых чисел по модулю 2 тогда и только тогда, когда соответствующее множество ребер ациклично. 484 Часть гц усовершенствованные методы разработки и анализа б. Предположим, что с каждым ребром неориентированного графа С = (у; Е) связан неотрицательный вес зо(е). Разработайте эффективный алгоритм поиска ациклического подмножества множества Е с максимальным общим весом.

в. Пусть С = ($л, Е) — произвольный ориентированный граф и пусть (Е,Х) определено так, что А Е Х тогда и только тогда, когда А не содержит ориентированных циклов. Приведите пример ориентированного графа С, таиэго, что связанная с ним система (Е,1) не является матроидом. Укажите, какое условие из определения матроида не соблюдается. и Для ориентированного графа С = ( н; Е) матрицей инцидентности ((псЫепсе шацтх) называется матрица М размером ~Ъ'! х (Е), такая, что Мв, = — 1, если ребро е исходит из вершины о, Мсв = +1, если ребро е входит в вершину о, иначе Мов = О. Докажите, что если множество столбцов матрицы М линейно независимо, то соответствующее множество ребер не содержит ориентированных циклов.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6556
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее