Главная » Просмотр файлов » Virt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s)

Virt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s) (522393), страница 32

Файл №522393 Virt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s) (Алгоритмы + структуры данных = программы) 32 страницаVirt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s) (522393) страница 322013-09-14СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

(346) т=- ! !к 1 Решение с наименьшим значением гт называется устойчивым решением, оптимальным для мужчин, а с наименьшим гш — устойчивым решением, оптимальным для женшин. При избранной стратегии поиска первыми вычисляются решения, хорошие с точки зрения мужчин, а благоприятные для женщин решения даются в конце работы. В этом смысле алгоритм ориентирован на сильный пол. Но его можно быстро 8. Рекурсивные алгоригиы 182 изменить, систематически поменяв ролями мужчин и женшин, т.

е. заменив тшг на штг и гтш на гшт. Здесь мы не будем далее обобщать эту программу, а оставим поиск оптимального решения в качестве очередного и последнего примера алгоритма с возвратом. З.У. ЗАДАЧА ОПТИМАЛЬНОГО ВЫВОРА Наш последний пример алгоритма с возвратом — это логическое обобщение двух предыдуших алгоритмов, которые строятся по обшей схеме (3.35). Вначале мы использовали принцип возврата для нахождения одного решения данной задачи.

Это было показано на примерах хода коня и задачи о восьми ферзях. Затем мы задались целью найти все решения задачи; примерами были восемь ферзей н устойчивые браки. Теперь мы хотим найти оптимальное решение. Для этого нужно получить все возможные решения и в процессе их получения оставлять только то, которое в некотором смысле является оптимальным.

Если предположить, что оптимальность определена с помощью некоторой функции )'(з), принимающей положительные значения, то алгоритм можно получить из схемы (3.35) заменой оператора «печать решению> па оператор И 1(зо1и11оп) ) )(ор11тит) Яеп ор11тит:= зо1и11оп (3.47) В переменной орбтит хранится лучшее нз полученных до сих пор решений. Разумеется, ее нужно должным образом инициировать; кроме того, значение 1(ор11тит) принято хранить в другой переменной, чтобы избежать ее частого перевьшисления. В качестве примера об1цей задачи поиска оптимального решешгя мы выбираем следующую важную н часто встречающуюся задачу: найти оптимальную выборку из заданного множества объектов, подчиненную некоторым ограничениям. Выборки, составляющие приемлемые решения, строятся постепенно, с помощью исследования отдельны.', объектов базового множества.

Процедура 1гу описывает процесс исследования пригодности объекта для включения в выборку; она вызывается рекурсивно при переходе к следующему объекту, пока все объекты не будут рассмотрены. Мы видим, что нз рассмотрения каждого объекта могкно сделать два возможных вывода: либо включить объект в текущую выборку, либо не включать его, Поэтому здесь не удастся использовать операторы цикла; вместо этого нужно явно описать оба случая. Это показано в (3.48); предполо- 8,7. Задача аатамальнога аьчеара !!з э1ой схемы видно, что всего имеются 2" возможные выварки; поэтому ясно, что критерии приемлемости должны значительно ограничить количество рассматршаасмых возможностей, Для пояснении возьмем конкретный пример: и;сть каждый пз и обьектов аь ..., ач обладает весом ю и ценностью о.

Оптимальным пусть считается множество с наибольшей суммарной ценностью компонент, а ограничением п) сть служит и: предельный общий вес. Эта задача хорошо знакома всем отправляющимся в путешествие, которые упаковывают чемоданы, стараясь так выбрать и предметов, чтобы нх общая ценность была максимальной, а общий вес нс превышал какого-то допустимого предела. (еперь мы можем решить, как представить известные факты в виде данных. )4з вышесказанного легко получаются такие описания: 1уре тг)ех = ! ..

и; оЪ)ест =- гесогй ы,е: Ьпеяег еп4 чаг а: аггау (тч)ех) о1 оЪ|ес1; 1)ппа, гоге, тахе: 1п1ееет; в, оргг: зс1 о1 ии)ех (349) Переменные (~тго и 1ого обозначают предельный вес и общую ценность всех и объектов, Фактически эти два значения в течение всего процесса отбора постоянны; через з обозначается текущая выборка объектов, где каждый объект представлен свопы именем (индексом); ор)в есть оптнмальпая выборка, пол)ченная до сих пор, а тахо — се ценность. Теперь посмотрим, каковы критерии приемлемости объекта для текущей выборки. Когда речь ндст о включении, объект можно включить в выборку, если ои удовлетворяет допустимому весу. Если же не удовлетворяет, то можно прекратить попытки добавлять новые обьекты в текущей выборке. Но если рассматривать невключение, то критерием приемлемости, т, с.

возможности продолжазь построение текущей жим, что объекты пронумерованы 1, 2, ..., п: ргосеч(иге 1гр(1: )п1еоег); Ьец!п 1: И включение приемлемо 1Ьеп Ьен!и включить 1-и' объект; И г' < п 1Ьеп )гу(1+ 1) е1зе проверить оптимальность; Молить 1-и' объект (3.48) епб; 2: И невключение приемлемо 1Ьеп И 1 < п 1Ьец )гу(1+ 1) е!ае проверить апти.яальность епб ргопгаа ве!всИоп (!при«,ои«рв); (поиск оптимальной вьсборки обьсюпов при ограничениях) сепе! и = 10; Фуре гобсх = 1 .. и; ой!ес! тесогй е,!г! !и!вас«епв; ча' 1: !по!сх; а: актау 1йиуех) еу ой!ее!1 !!т!г, гот, тахо: уи«ваег! п1, !г2, !гЗ: !и!вкег! кч ар!в: веФ оу упйех! гл актау (йоо!сап) е! сйаг; увосебпге !гу(!! йнусх; !ь',ае: й!!еусг); час ае1: инсбсг; ЬеФп ! попытка включения объекта !) Ы М+ аЩ .!Г, !!тЫ !ЬЕП Ьеп)п в:= в+ Я; Ы ! < и !Ьеп ггу(!+1, гн+а[!)я«, аг) с)ве Ы аю = тахе !Ьеп Ьеп)п тахе:= ае; ар!я:= в епб; в:= в — И епб; (попытка исключения обьвкта !) ог1.; — ае — оТ е1 Ы ае! > тахе Йеп Ьеа!пЫ ! ( и !Ьепну(!+1, !!е, ао1) сЫе Ьеп1п тахе:= ае1; ор!г: - в епв епб епй (ггу); Ьеп!п го!е ! 0; !ег 1: 1 1о и йо п1!Ь а(!) ао Ьек!п гсвг!(чр)! !ого 1= йбе + е епй; геаб(ь10«2,нЗ) ! х(ггие);= 'е'; в(уа!ге):=-- ' '; и«!гв( ччеинг )! Хо« 1:- 1 1о и йо п'«!!в (а!!) лг: 4)1 ь г«!в!и; !ег!!в (' чиле '); уог 1:=- 1 1о и бо н'г!гс (аД л'; 4); нпгс!и; кереа$ !йпп:=- !«1; !«кохе:= 0; в .= ", ); ар!в:= 1); 1вб 3.7.

Задача оп»анального выбора ггу(1,0, гоп 7.' нтйв((йпи); (ог 1':== 1 1о и йо ипгг(' итйг(п; и1:= ьг1 + ьо2 ив1П нг1 > тгЗ евй ', г(1 1п оры)); Программа 3.7. Оптимальная амбарам Эти два значения удобно представить в виде параметров процедуры (гу. Условие «включение приемлемо» в (3.48) теперь можно еформулировать как !ге+а Ц.гв«йтгв (3.50) а последующую проверку оптимальности — как П ао > тахо 1Ьеп Ьеп)п (запись нового оптимума) орИ:=з; тахо:=ао епб (3.51) Последнее присванвание связано с тем соображением, что достижимое значение будет получено после просмотра всех л объектов.

Условие «невключение приемлемо» в (3.48) выражается как ао — а Ц. о > тахо (3.52) Так как позднее оно снова используется, значение ав— — а и м присваивается переменной ао!, чтобы избежать повторного вычисления. Всю программу полностью теперь можно получить нз (3.48) с помощью (3.52), добавив соответствующие операторы инициации глобальных переменных, Следует отметить, что здесь удобно используются операции над множествами, выборки, будет возможность получить без этого объекта такую общую ценность выборки, которая была бы не меньше получен~ого до снх пор оптимума. Ведь иначе продолжение поиска, хотя и будет давать какие-то решения, никогда не приведет к оптимальному, следовательно, на этом пути бесполезен какой-либо дальнейший поиск. С учетом зтнх двух условий мы определяем, какие существенные величины нужно вычислять для каждого шага в процессе отбора: 1.

Общий вес 1ш выборки з, полученной до сих пор. 2. Общую ценность ао текущей выборки з, которой еще можно достичь. 8. Рекурсивные алгоритмы 186 Результат выполнения нрггграммы 3 7 с заданными предельными весами от 1О до 120 показан в табл. 3.5. Таблица 8.5. Пример результата работы программы оптимальной выборки Вес 10 11 12 13 14 15 16 17 18 1Э Значение 18 20 17 18 25 21 27 23 25 24 10 « 20 30 40 50 е» 60 е е 70 е а 80 а ч 80 а 100 е е 110 « е 120 а УП Р АЖН ЕН ИЯ 3,!. (Хаиойские башни.) Даны три стержня и и дисков разного размера, Диски можно надевать на стержни, строя таким образом «башни». Пусть вначале диски находятсв на стержне Л в порядке убывающего размера, как показано на рис. 3,!О для и = 3.

Нужно переместить п ,УГ д~УУ~1~Й Рис. 3.!О. Ханойские башни, дискон на стержень С так, чтобы они остались в том же порядке. Этого нужно добиться, соблюдая следующие правила: !. На каждом шаге ровно один диск перемещается с одного стержня на другой. 2.

Диск большего размера нельзя помещать па меньший 3. Стержень В можно использовать в качестве промежуточного. Постройте алгоритм, который выполняет эту задачу Заметим, что баозню удобно рассматривать как состоящую из одного диска иа самом верху и из башни, состоящей нз остальных дисков. Опншнте этот алгоритм в виде рекурсивной программы. Упражнения 137 3.2. Напишите процедуру, которая Формирует все и! перестановок и элементов аь ..., а, 'и з((и, т. е без использования другого массива.

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

Тип файла
DJVU-файл
Размер
9,82 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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