Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2)

Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (1119454), страница 85

Файл №1119454 Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2)) 85 страницаД. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (1119454) страница 852019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

15. Известная наилучшая верхняя оценка, равная 0(п(!об п)~ !ой1об и), предложена М. Дж. Физлером (М. 3. Рыс)зег) и Л. Дж. Штокмейером (1.. 1. Я»ос)зшеуег) (Х Сошр. аозт Яузе, Яс»1 9 (1974), 317-331]. Рассматриваемая ими конструкция ориентирована на машину Тьюринга с множеством лент: для маппзи с указателямн эта оценка равна 0(н!обп), М. С.

Патерсон (М. Б Расегзоп), М. Дж. Фишер (М. 3. Рыс!зег) и А. Р. Мейер (А. Н. Меуег) получили наилучшую нижнюю оценку порклка и !об и/зок !об и, опубликованную в ЯАМ/АМЯ Ргосеез(зпбз 7 (1974), 97-111. Она применима только к машинам Тьюринга с множеством лент. -Ро 16. Пусть 2" — наименьшая степень 2, которая превышает 2К. Присвоим а~ о-ы '!око и Ь| +- ы, где во = 0 для 1 > К. Нужно вычислить свертки с„= 2„"", о а;Ь., для Ы» -ь- цоуз г = 2К вЂ” 2 — о при 0 < в с К. Свертки можно найти при помощи трех бйстрых преобразовамий Фурье порядка 2~, как описано в разделе.

[Заметим, что такой способ, который иногда называют»с)пгр-преобразование«, пригоден для оперирования любыми комплексмымм числами ы, а не талька корнями из единицы. [См. Ь. 1. В!повсе!и, Хаггбсаог Е!вягаокя йеа олд Епб. Меейвб йесоЫ 10 (1968), 218-219; П, Н. ВМ!еУ апд Р. Х, БвызсгавЬег, ЯЬ4М йео!ем 33 (1991), 369-404,) 17. Зиачемие Р = К«ы — К„удовлетворяет Р1 = 2, Рз« = 20» и Рз«тг = Р . Следовательно, Р = 2«1-'+з, есля и имеет указаммый вид. Отсюда по иидукции ошедует, что К = 3'1+ ~,'»,3«~2«1-«~-'+о, Между прочим, К нечетко я можно умножать и-разрядиое целое число иа (и+ 1)- разрядное целое число, умиожив (К„+ К„+,)/2 1-разрядмых чисел.

Производящая функция К(о) = 2 „, К л«удовлетворяет уравнению зК(з) + о~ = К(о~)(х + 1)(о + 2): отсюда К( — 1) = 1 и К(1) = -. 16. В следующей схеме используется ЗХ+ Я» позиций в рабочем пространстве. Здесь в обозначениях предыдущего упражнения Я~ = О, Ят = Я„и Ят -1 = Я» + 1, т. е. Я» = г~ — е~ -!+ 2- [4 = 1[. Пусть Х = 2и-е, где е равно 0 или 1, и предположим, что Х > 1. Для зэдамиых Х разрядмых чисел и = 2" (/г+ (/о и е = 2" У1 + Уо смачала формируются [Ьо — (/~ [ и [Уо — !) [ в двух и-разрядных областя, начиная с позиций 0- и и-й (ЗХ+ Я» )-разрядной рабочей области.

После этого произведение помещается в рабочую область, мачимая с позиции Зи+ Я . Следующий шаг заключается в формировапии 2(и — е)-разрядмога произведения (/~ Уп начиная с позиции О. С помощью этого произведения изменяем Зи — 2о разрядов, начиная с позиции Зи+ Я», и записываем в них значение (/1 У) — (Ро — Ьг|)((зов У1) + 2"Ь11ь (Заметим, чта Зи — 2е+ Зи+ Я» ы ЗХ+ Я».) В итоге формируется 2и-разрядмое произведение ЫоУо, иачимая с позиции О. Омо добавляется к частичному результату, начиная с позиций 2и + Я» и Зи + Я„. Кроме того, необходимо переместить 2Х-ркорядпый результат иа его окончательное место, сдвинув его вниз ма 2и+Я„позиций. Окончательное перемещение может быть запрещено при помощи оригимальиого способа, который циклически сдвигает выхадмое значение ма заданную величину внутри сформированной рабочей области.

Если 2Х-разрядмое произведение ме должно присоедимятьгя к вспомогательной рабочей области, необходимо иметь еще около Х разрядов памяти (т. е. общее количество разрядов для ввода, вывода и временного храпения должно в этом случае равняться примерно 6Х разрядам вместо ЬХ). См. й. Мэепег, ЬесГвгс Хапм (и Сотар. Яс!. 722 (1993)„69-6Ь, 19. Пусть т = от + г при — о < г < о.

Можно использовать (2) мри (/1 = [и/о), По = и шобо, 1'г = [е/о), Уо = е шайо, а о предоставить роль 2". Если известны знаки чисел Ь'1 — Ьо и 1 о — 16, то известно также, как вычислить произведение [!й — Го[ ['г) — Уо[, которое < ш и нужно ли добавлять его или вычитать. Остается только умпажить результат на о и о~ щ -г. Каждая из этих операций может быть выполнена путем четырех умиажемий и/или делений при помощи способа, оимсамиого в упр, 3,2.1.1-9, мо при этом потребуется талька семь операций, твк как адио из умножений, необходимых для вычисления ос шой ги,— это умножение иа г или г + в.

Таким образом, достаточно 14 операций умножения и/или деления (либо 12 в случае, если и ж е или если и — константа). Не имея возможности сравнивать операнды, мы смогли выполнить работу без едимого дополнительного умножения за счет раздельного вычиглеиия По У! и Ь| 1'о. РАЗДЕЛ 8.4 1. Выполнив сложеиие и умножение в системе счисления с основанием Вз, получаем (...(а Ь, ~ + а ~)Ь т + .. + а~)Ье + аев. (Операции сложения и умножения иа константу в системе счисления со смешанным основанием легко выполияются при помощи простого обобщения обычиого правила переноса; см. упр.

4.3,1-9.) 2. Вычислим (и/Вв), ((и/Ве) /Щ и т. дд остатки суть Ап, А~ и т. д. Деление выполнено в системе счисления с основанием Ьу. Начать с и Разделить иа 16 Разделить на 14 Разделить ца 8 Разделить на 20 Разделить на оо 3 0 О 0 О 0 Остаток = 5 Остаток = 2 Остаток = 1 Остаток = 3 Остаток = 8 Рсзулыпапь 8 длиииых тонн, 3 ющдредвейта, 1 стоун, 2 фунта, 5 унций. 3.

Прсдложеииая Г. Л. Стилом (мл.) (О. Е, бсее)е, Лг.) и Йоиом Л, Уайтом (Лов 1. ЖЫсе) и впервые опубликованная в журнале САСМ 2,7 (1п1у, 1959), 27, процедура обобщает алгоритм Д. Тараито для В = 2. А1. (Начальная установка.) Присвоить М с- О, бо +- О. А2. (Выполнено?) Если и < г или и > 1 — с, то перейти к шаху А4. (В противном случае М-разрядная дробь будет удовлетворять заданным условиям.) А3. (Преобразовать,) Присвоить М +- М+ 1, 11-м +- 1Ви), и+- Вищоб1„с +- Вс и возвратиться к шагу А2. (Это преобразование возвращает иас, по сути, в предыдущее состояние.

Остается решить проблему преобразования дроби и в дробь 1/ по осиоваиию В с минимальным числом разрядов, ио таким, чтобы удовлетворилось неравенство (1/ — и) < г. Заметим, однако, что теперь с может быть > 1; в таком случае можно сразу перейти к шагу А4 и ие сохранять новое значение а) А4. (Округлить.) Если и > -', то увеличить (/-м иа 1. (Если равенство и = -' выпалняетсв точно, то предпочтительнее пользоваться другим правилом округлеиия: 'увеличить П м на 1 только тогда, когда оцо нечетио".

См. раздел 4.2.2.) $ ' й таблице приняты следующие обозначения: Т. — длинные тонны, сюь — яаидредвейты, гав стоуны, 1Ь. — фунты, ою — уники, — Ирам. вере». Начать с нуля Прибавить 3 Умиожить на 24 Прибавить 9 Умножить па 60 Прибавить 12 Умножить иа 60 Прибавить 37 Т. о О о о 0 0 8 8 = 20(сит. 0 о о о 2 2 3 3 = 24(Ь. 9 5 0 0 О 0 = 8(вФ. о о о О 5 5 1 1 = 60(ш. 12 4 21 2 0 О ы 14(!Ь. о о 4 5 9 10 о 2 = 60 в.)) 37 32 45 43 8 0 = 16 оз.))) О 3 8 1 12 8 О 5 Число (/ и ив нате А4 никогда ие будет увеличиваться с  — 1 до В. В этом случае, если (П-и =  — 1) должио бьггь М > О, ии одна из (М -1)-разрядиых дробей ие обеспечивает достаточной точности.

Стил и Уайт в работе ЯОР(.АУ Мог(сая 25,6 (Липе, 1990), 112-126, продолжили анализ преобразоваиий в формате с плавающей точкой. (См. также работу д. Э, Кнута в сборнике Веаису )а Оиг Виилиа, еб1себ Ьу %. Н. Л. реОеп ес а1. (Хну уог)с брппбег, 1990), 233 — 242.) 4. (в) 1/2ь = бь/10ь. (Ь) Все простые делители числа 5 делят В. б. Это возможио только в том случае, когда 10" — 1 < с < ич см, (3). 7. аи < их < аи+ и/н < аи+ 1; следжателъио, (аи) < (их) < (аи+ Ц. Далее, для частного случая, оговоренного выше, имеем их < аи+а и (аи) = (аи+а-с) для 0 < с < а.

(3(ожет случиться только иа первой итерации согласна упр. 7.) (Может быть минус нуль,) якм 9. Пусть Х = 2 . При выполиеиия вычислеиий происходит присвоеиие о+- — —...— (и+1) = ~- — (и+1)~. ) (2я 1) (2ь + 1) (2в + 1) (2я" + 1) ( ) 3 )у' 1 2в ''' 2вь 15 Ю Поэтому ц = '1и/10+с„), где с„= ~ (1 — (и+ 1)/)ь). Так как /9 пки1 10 = 6 и О < с < 1/10 при 0 < и < Х, то д = (и/10) при О < и < /у'+4. Когда и принадлежит этому интервалу, получаем г = и пюб 10+ ) 1 — (и+ 1+ 56 )/Х~, где В„= ьу1(и+ 1) шов( лв. Если 6 велико (к примеру, д„= Ф/8 — 1, где 0 < Г < Х/40), получаем и + 1 ш 51 (по модулю Ж)/8. Таким образом, и + 1 + 56„< К при и < ьУ/2.

В противном случае 6„< Р//8 — Х/40 = М/10, и снова получаем и+ 1+ 6 < Х при и < /У/2. Случаи, когда им Х/2, Х/2+1, Х/2+2 и Ж/2+3, как легко видеть, ие создают проблем. Ио когда и = )у'/2+ 4, иаходим и шоб 10 = 2 и г = 1. (Альтериативиый вариант г ь- и — 86, г ь- г — 29 будет выполияться в ббльшем интервале, ио иа 8-битовом компьютере немного медленнее. Это упражнение освоввио иа идеях Р. А. Воувелса (В, А. Уоие1я), Аивггайап Сошр. Х 24 (1992), 31-85.) 10.

(1) Сдвинуть вправо иа один разряд; (й) извлечь левый бит каждой группы; (п|) сдаииуть иа два разряда результат, получеииый в (Н); (гг) сдвинуть этот результат вправо иа один разряд и сложить сто с результатом (ш); (у) Вычесть результат (! у) из результата (1). 8. ЕИТ1 104 1Н ИШ. ЗЕ ЗТА ИШ 3113 400 14ИИ ЫМ ОЕС1 ЛИР 2Н ЗТЕ Ий П1С1 ЛЕР О О ь1//10ь ТЕИР -10" 6 0 2Р ТЕИР 1 33 433983.1 ТБИР 1 1В 11. 5.778 1 — 1 О 47.781 94 38 3.81 766 ЗО66.1 61З2 24529 Результат: (24529) 1е. 12, Сначала преобразуем число, представленное а троичной системе, е деаятеричиую систему, а затем поступаем так же, как при преобразовании числа из восьмеричной системы счисления и десятичную, но без удаоений. Преобразонаине из десятичной системы а девятеричиую выполняется аналогично. В данном примере имеем следующее. 1219з.гз 1219З 109739 10973 з 9 4 Результатз (987654)~е.

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

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

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