Главная » Просмотр файлов » 1626435697-9d9ede204f9baad60159c2d6531787c7

1626435697-9d9ede204f9baad60159c2d6531787c7 (844297), страница 70

Файл №844297 1626435697-9d9ede204f9baad60159c2d6531787c7 (Хопкрофт, Ульман 1979 - Построение и анализ вычислительных алгоритмов) 70 страница1626435697-9d9ede204f9baad60159c2d6531787c7 (844297) страница 702021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

8.16. Используйте ваш алгоритм из упр. 8.15, чтобы найти НОД (377, 233). "8.17. Пусть р(х) — разреженный полипом с л мономами. Найдите как функцию от и сложность наилучшего метода вычисления р'(х) при условии, что умножения выполняются по алгоритму 8.8. **8.18. Предлагается следующий метод вычисления ~(х),'д(х) по полнномам г и д в предположении, что д делит 7. пусть | н и нме. ют степень и — 1 или меньше. (1) Вычислить дискретные преобразования Фурье Р и сз полиномов ! и д соответственно. (2) Разделить члены полинома Р на соответствующие члены по. лннома 6; получится последовательность Н.

(3) Взять обратное преобразование от Н. Считаем, что резуль. татом будет )78. Будет ли работать этот алгоритм? *"8.19. Пусть М(п) — время умножения двух л-разрядных двоичных чисел и (~(п) — время нахождения ( )~Т ( для и-разрядного двоичного целого числа !. Предположим, что М(ал))аМ(п) при а-.1 и аналогичное неравенство верно для (~(л). Покажите, что М(п) и Я(л) равны с точностью до постоянного множителя. *8.20. Обобщите упр. 8.19 на (а) полиномы, (б) корни г-й степени при фиксированном г.

*"8.21. Напишите алгоритм сложности ОА(п 1ой и), который вычислял бы полинам степени и — ! и все его производные в данной точке. **8.22. Плотный полипом от г переменных ') можно представить в виде «-~ «-~ «-1 ~ ... ~~.', аць х х,*х,'...х,«. Ь=О Ь=О С =0 ') По мере роста г предположение о плотности поаинома стаиоантсп Осе менее полезным. зи гл. а лги«метичяскив опегкции Покажите, что можно умножать такие полиномы за время Оь(н'1ой и), если аля вычисления значений и интерполяции использовать точки х,=в~', х,=а~', ..., х„=ьр, 0()„с.2а, где гв— примитивный корень степени 2н из единицы. ««8.23.

Покажите, что при разумных допущениях о гладкости функций М(п) и О(л) время умножения и время деления плотных полиномов от г переменных, т. е. М(н) и 0(н), равны с точностью постоянного множителя. **8.24. Найдите алгоритм сложности Ов(п 1ой'и 1оя!ой и), который переводил бы (а) и-разрядные двоичные числа в десятичные; (б) и-разрядные десятичные числа в двоичные.

«"8.25. Наименьшим общим кратным (НОК) целых чисел (полиномов) х и у — называется целое число (некоторый полипом), которое делится на х и у и делит всякое другое целое число (всякий другой полииом), делящееся (делящийся) на х и у. Покажите, что время нахождения НОК двух л-разрядных двоичных чисел не меньше времени их умножения.

8.26. Порождает ли метод умножения целых чисел из разд. 2.6 алгоритм умножения полиномов за время Оа(п'")9 *"8.27. Покажите, что за Ол(л 1ой п) шагов можно вычислить полипом степени л — 1 в точках а', а',..., а" '. Уклпание: Покажи- «-1 л-ь те, что с! — — ~~~Р Ь!аа можно записать какое — — ~'~(!)8(у — 1) для некоток-о ~-« рых функций ~ и д.

**8.28. Покажите, что за Оа(л 1од и) шагов можно вычислить полином степени и — 1 в п точках бае~+са/+е(, 0<1(н. 8.29. Укажите рекурсивные варианты алгоритмов 8.4 и 8,5. Проблемы для исследования 8.30. В этой главе мы показали, что много задач о полиномах и целых числах (1) имекп, по существу, ту же сложность, что и умножение, или (2) сложнее умножения не более чем в логарифмический множитель. Некоторые из этих задач приводятся в упражнениях к данной главе. Упр. 9,9 дает еще одну задачу из группы (2) — задачу о (и/или)-умножении.

Разумно попытаться пополнить множество задач группы (!) или (2). другая область исследования — показать, что некоторые задачи группы (2) должны иметь одинаковые сложности. Например, ЗИ ЗАМЕЧАНИЯ ПО ЛИТЕРАТУРЕ можно предположить, что это верно для задач нахождения НОД и НОК. 8.31. Еще одна проблема, которая кажется обманчиво простой: выяснить, яеляется ли алгоритм 8.8 наилучшим алгоритмом умножения упорядоченных разреженных полиномое и упорядочения результата. Некоторые аспекты этой проблемы рассмотрел Джонсон [1974). 8.32. Значение и, при котором многие из описанных алгоритмов становятся практичными, огромно. Однако их можно было бы тщательно скомбинировать для небольших и с 0(лг ьь)-методами, упомянутыми е равд.

2.6 н упр. 8.26, н для самых малых и с очевидными методами сложности 0(п'). Получите таким путем верхние оценки на те значения и, для которых задачи этой глазы обладают алгоритмами, лучшими очевидных. Некоторая работа на этом пути уже проделана Кунгом [19731. Замечания по лмтературе Теорема 8.2, утверждающая, что обращение ие сложнее умножения, взята у Кука [!966), Любопытно, что существование полиноынального аналога алто. ритма 8.1 не осознавали в течение нескольких лет.

Моенк, Бородин [1972) описали алгоритм сложности Ов (и !ойз и 1оя 1ой и) для деления, а вскоре затем алгоритм деления сложности Ое(л 1ой и 1ой 1оВ и) независимо изложили несколько авторов, в том числе Зивекинг [1972). Построение алгоритмов длк модульной арифметики а также для вычисления значений и интерполяции полнномов следует работе Йоенка, Бородина [1972]. Хейндел, Хоровиц [1971) нашли алгоритм сложности Оз (и 1ойз и 1ой !ой и), восстанавливающий числа по китайской теореме об остатках и использующий предварительнттю обработку данных.

Бородин„Мунро [19?Ц описали алгоритм сложности О(я Лт) для вычисления значений полинома в нескольких точках, а Хоровиц [1972) обобщил его на интерпопяцию. Кунг [1973] построил алгоритм сложности ОА(п 1ойзп) для вычисления значений полинома без применения быстрого (сложности и 1оя и) алгоритма деления. Единство восстановления по вычетам, интерполяции, вычисления значений полииомов и вычисления вычетов целых чисел установил Липсон [1971].

Алгоритм сложности Ок(и 1оаз л 1ой 1ой л) для нахождения НОД целых чисел принадлежит Шенхаге [1971]. На полиномы и общие евклндовы области его перенес Моенк [19?3). Обзор классической техники для нахождения НОД дан Кнутом [1969). Некоторую подборку материала о сложности арифметических операций иад раз. Д еженными полиномами можно найти у Брауна [197!], Джентльмена [1972), ентльмена, Джонсона [1973), Дополнительные результаты о реализации ариф. метических операций над полииомами на вычислительных машинах приведены Холлом [1971), Брауном [1973] и Коллинзом [1973].

Алгоритм 8.8 со структурой данных в виде сортирующего дерева реализовал С. Джонсон на языке А1.ТКАН (см. [Браун, 1973)). Упр. 8.19 и 8.20 принадлежат Карпу и Ульману. Упр. 8.21 о вычислении значений полииома и его производных можно найти в работах Вари [1974! и Ахо, Стейглица, Ульмака 1!974]. Из последней работы взято также упр. 8.28. Упр. 8.27 приведено Блюстейном [1970] и Рабннером, Шафером, Рейдером [1969]. Подробно арифметические операции над полииомами н целыми числами обсуждаются в книге Бородина, Мунра [1976). !2 А. Ахо, дж.

Хопкрофт, дж. ульмья АЛГОРИТМЫ ИДЕНТИФИКАЦИИ Идентификация цепочек символов входит как составная часть во многие задачи, связанные с редактированием текстов, поиском данных и символьной обработкой. В типичной задаче идентификации цепочек задаются цепочка-текст х и множество цепочек-образов (уо Р„...). Требуется найти либо одно, либо все вхождения цепочек-образов в х.

Множество образов часто является регулярным множеством, заданным регулярным выражением. В настоящей главе мы обсудим несколько приемов решения такого рода задач идентификации цепочек. Начнем с краткого обзора регулярных выражений и конечных автоматов. Затем изложим алгоритм, выявляющий в данной цепочке вхождение какой-нибудь цепочки из множества, заданного регулярным выражением. Время работы алгоритма равно по порядку произведению длин цепочки х и данного регулярного выражения. Потом приведем алгоритм линейной сложности, который распознает, является ли данная цепочка у подцепочкой данной цепочки х.

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

Наконец, введем понятие дерева позиций (позиционного дерева) и применим его к другим задачам идентификации цепочек, таким, как поиск в данной цепочке самого длинного повторения. 9»т. НОнечные АВтОмАты и РеГуляРные ВыРАжения Многие задачи идентификации (распознавания образов) и их решения можно выразить в терминах регулярных выражений и конечных автоматов.

Позтому начнем с обзора соответствующего материала. РЛ. КОНЕЧНЫЕ АВТОМАТЫ И РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Определение. Алфавитом называется конечное множество символов. Цепочка в алфавите ! — это конечная последовательность символов из !. Пустая цепочка е — это цепочка, че содержащая символов. Конкатенацией цепочек х и у называется цепочка ху. Если цепочка имеет вид хуг, то х — ее префикс (начало), у — надцепочка, а г — суффикс (конец).

Длиной (х! цепочки х называется число различных вхождений символов в х. Например, длина цепочки ааЬ равна 3; е имеет длину О. Языком над алфавитом ! называют произвольное множество цепочек в !. Пусть Е, и Е, †д языка. Язык Е,Е„ называемый конкатенацией Е, и Е„есть множество (ху(хЕЕ, и уЕЕР). Пусть Š— язык. Тогда положим !.'=(Е) н Е'=ЕЕГ-' при Г 1. Замыканием Клина (итерацией) Е' языка Е называют язык !.'= = (! Е', а позитивной итерацией Е+ — язык Е+= (! ЕЕ ! ВМ Регулярные выражения и языки, которые они представляют !регулярные множества), полезны во многих областях науки о вычислениях.

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

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

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

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