Главная » Просмотр файлов » Теория синтаксического анализа, перевода и компиляции - Том 2

Теория синтаксического анализа, перевода и компиляции - Том 2 (943929), страница 52

Файл №943929 Теория синтаксического анализа, перевода и компиляции - Том 2 (Теория синтаксического анализа, перевода и компиляции) 52 страницаТеория синтаксического анализа, перевода и компиляции - Том 2 (943929) страница 522013-09-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Содержимое теплеем расстановки. Содержимое таблицы расстановки к этому моменту приведено иа рис. 10.5. Предположим, что мы хотим выяснить, есть лн в таблице объект НХ. Находим 6,(НХ) =2. С помощью алгоритма 10.2 проверяем позицию 2 и видим, что возник коифлинт, поскольку позиция 2 занята, но не обьектом НХ.

Проверяем затем позицию 6,(НХ) =3 и снова получаем конфликт. Наконец, вычисляем 6,(НХ) = 4 и находим, что позипия 4 пуста. Приходим, таким образом, к выводу, что объекта НХ в таблице пет. 10.1.4. Функции расстановки Желательно пользоваться такой первичной функцией расстановки й„ которая распределяла бы объекты равномерно по всей таблице расстановки. Надо избегать функций, которые отображают не на все множество позиций илн выбирают одни позицин ') омоа Ь вЂ” это остаток от деления о на Ь. ГЛ.

70 ОРГАНИЗАЦИЯ ИНФОРМАЦИИ чаще, чем другие, а также функций, требующих больших вычислений. Перечислим наиболее широко используемые первичные функ- ЦИН: (1) Если ц занимает в машине несколько слов, можно вычислить арифметическую (илп логическую) сумму этнх слов, чтобы получить лредстаалгмие и в виде. гдимствгнносо слова. Зго слово теперь можно трактовать как число, извлечь квадратный корень и ваять в качестне Й,(а) средние 1однгг битов результа. та.

Поскольку средние биты киадратного корня завнсят от нсех символов объекта, различные объекты в среднеи будут давать различные адреса независимо от того, имеют ли объекты общие префиксы или суффиксы. (2) Единственное слово, представляющее а, можно разбить на несколько частей фиксированной длины (обычно по !ойнл битов). Затем можно просуммировать эти части и взять в качестве Йг(а) младшие !ой,п битов суммы.

(3) Единственное слово, представляющее а, можно разделить на размер и таблицы и ваять в качестве ЙР(а) остаток от де77ения (в этом случае а должно быть простым числом). Рассмотрим теперь методы разрешения конфликтов, т. е. построения дополнительных функций Йо Йю ..., Й . Прежде всего отметим, что значение Йг(а) должно отличаться от Йг(а) длн всех 1~).

Когда Йг(о) дает конфликт, бессмысленно пробовать Йгэг(а), если Йггг(и) =-Й,(а). В большинстве случаев хо~елось бы, чтобы было т=л — 1, поскольку всегда желательно найти в таблице пустую позицию, если она есть. В общем случае метод разрешения конфликтов оказывает сильное влияние на эффективность всей системы с распределенной памятью. Простейшим, но, как мы увидим, одним нз самых худших, набором функции Йю Й„ ..., Й,, является Йг(а) =(Й,(а) Ь() шобл 1 (1(77 — ! В этом случае мьг движемся вперед относительно значения Й,(а) первичной позиции до тех пор, пока не исчезнет конфликт. Если достигнута позиция и — 1, переходим на позицию б. Метод прос7 для выполнения, однако если уже возник коафликг,то запятые позиции имеют тенденцию скапливаться. Например, если из. всстно, что )гн(а) вызывает конфликт, то вероятность того, что Й,(и) также вызывает конфликт, выпге средней. Более эффективный метод получения вторичных адресов заилючается в выборе Йг(и) = (Й,(а)-)-г) шобл 1(1(и — ! где г,— псевдослучайное число.

Часто для этой цели достаточен самый элементарный генератор случайных чисел, дающий ~а ь тхэлицы имгн все числа в диапазоне от 1 до и — ! в точности по одному разу (см. упр. 10.!.6). Калгдый раз, когда используются вторичные функции, генератор случайных чисел устанавливается в одно и то же состояние. Таким образом, каждый раз, когда происходит обращение к Й, генерируется одна и та же последовательность г„ гю ..., и, следовательно, поведение генератора „слу.

чайных" чисел вполне детерминировано, В качестве вторичных функций можно взять также Й, (а) =[7'(Й„(а) 1-1)[гпобл н 777 (а) = [Йн(а) ф а!и + Ы[ пюб л где а и Ь вЂ” подходящие константы. Несколько отличный от этого метод разрешения конфликтов, называемый иетадом цепочек, разбирается в упражнсннях. 1ОЛНЕ Эффвитнвноеть табииц расстановки Сколько требуется в среднем времени для внесения и поиска данных в таблнце расстановки? С этим вопросом связан следующий: даны вероятности появлення различных объектов; как вйбрать функции Й„ ..., Й, „ чтобы оптимизировать работу с таблицей расстановки? Интересно, что здесь есть ряд нерешен- НЫХ ВОПРОСОВ. Как мы уже отмечали, было бы неразумно иметь повторе.

ниЯ в последовательности позиций Й,(а), ..., Й„ т(о) дла какого-нибудь объеита щ Будем считать, что хорошая система функций расстановки не допускает повторений. Наприл7ер, последовательность Йю ..., Й, из примера 1Огй такова, что ни для каиого объекта одна и та же позиция не будет проверяться дважды. Если л — разл7ер таблицы расстановки с позициями, занумерованными от О до и — 1, и Й„..., Й„,— функции расстановки, то каждом> объекту а можно поставить в соответствие перестанонку П„множества (О, ..., и — 1), а именно П„=[Й,(а), ..., Й,,(а)[. Таким образом, первая компонента перестановки П лает первичную позицию, отводимую для ц, вторая компонента— следующую возможную позицию и т. д.

Если для иаждого объекта а известна вероятность р„его появления, то можно определить вероятность пернстаноахи П как ~ р, где сумма берется по всем таким объектам ц, что П„= П'). Отныне будем полагать, что вероятности всех перестановок даны. ') Иннин слннанн, это сумма веронтнсстеа нонатеннн объектов, ноторые Образуют данную перестановку П. †Пр. Анрнэ.

279 гл. !а ОРганизхция инФОРмАции Ясно, что ожидаемое число позиций, которые надо проверить при внесении или поиске объекта, можно вычислить, зная только вероятности перестановок. Для вычислевия эффективности конкретной функции расстановин не обязательно знать реальные функции Й„ ..., Й„,. В этом разделе мы изучим свойства функций расстановки,ойределяемые вероятностями перестановои.

Основываясь на сказанном выше, можно дать следуюп!ее определение, которое сводит задачу построения таблицы рас. стацовки к вопросу а том, канон желательный набор вероятностей перестановок. Определение. Системой расстановки назовем пару, состоящую из размера таблицы н и функции вероятности р, определенной на перестановках целых чисел от 0 до л — 1.

Систему расстановки будем называть случайной, если р(П) = 1(л! для каждой из перестановок П. Укажем важные функции, связанные с системой расстановки: (1) р((г(!...!А) †вероятнос того, что некоторый объект имеет 1, в качестве первичной позиции, 1, в качестве первой вторичной, 1, в качестве следующей вторичйой и т. д.

(здесь каж. дое ! -это целое между 0 и л — !), (2~ р((1„ 1„ ..., 1„)) — вероятность того, что последовательность Й объектов заполнит в точности множество позиций (!ц 'И ° !А) Легко вывестн следующие формулы; (10.1.2) р(Д Л„) = ~', р(1!...)А)), если Й < и мк„.г„! (!О,!.3) р(г,...(„)=р(П) где П вЂ” перестановка [(н ..., 1„]. (10.1.4) р(3)= 2', р(3 — (1))Хр(ю() !ЕА где 5 — произвольное подмножество множества (О,, л — Ц, состояп!ее из Й элементов, а правая сумма берется по всем цепочкам ю нз Й вЂ” 1 или менее различных позиций в 5 — (!).

Полагаем, что р(Я!) =-1. Формула (10.1.2) позволяет вычислять по вероятное~ям перестановок вероятность любой последовательности вторичных позиций. Формула (10.1.4) позволяет вычислять вероятность того, что позициями, отведенными для Й объектов, являются в точности те, которые составляют множество 3, Эта вероятность равна сумме, взятой по всем 1 б 5, вероятностей того, что первые Й вЂ” 1 объектов займут все позиции в 3, кроме позиции г, а последний объект займет позицию !. ЕЗО !А.! Тлалицы имен Пример 10.3.

Пусть а =3, а вероятности шести перестановок приведены в табл. 10.1. талл чо тол П.Р- О. ! 0.2 О.! О.З 0.2 О.! 0,1,2! О, 2, !1 1, О, 21 1, 2, о) 2, О, !! 2, 1, О! По (10.1.3) вероятность того, что в результате применения функции расстановки к некоторому объекту будет выработана цепочка позиций 012, ранка просто вероятности перестановки 10, 1, 2). Таким образом, р(0!2) =- 0.1. По (10.1 2) вероятность того, что вырабатывается 01, равна р(012). Аналогично р(02)— вероятность перестановки 10, 2, Ц, равная 0.2. Применяя фор.

мулу (10.1.2), получаеьг, что р[0) = р(0!)-т-р(02) =- 0.3. Вероят. ность появления каждой цепочки длины 2 ияе 3 †э вероятность той единственной перестановки, префнксом которой служит данная цепочка. Вероятности появления цепочек ! и 2 равны соответственно р(10) +р(12) = 0.4 и р(20) †' р(21) =-0.3. Вычислим теперь вероятности заполнения различных множеств позиций. Для множеств 5, состоящих нз одного элемента, [10.1.4) сводится к р((!)) — р(!), Вычислим р((0, 1)) по формуле (10.1.4). Прямая подстановка дает р((0, 1)) рПО)) [р(!) 1 р(О!Ц+ р((1)) [р(0) р(10)) = 0.3)0.4+ О.

Ц+ 0.4 [0.3+ О. Ц = 0.31 Аналогично находим р((0,2)) ---0.30 и р((1,2)).=0.39 Для вычислении р((0,1,2)) по формуле (10.1.4) подсчитмваем Р((0,1)) [Р(2) -1- р(02) ф Р(12) )- р(012) -, 'р(102) ) + р((0 2) ) Гр(1) + р(0! ) + р(21) + р(02! ) + р(201)) , 'р((1,2)) (р(0) + р(10) + р(20) + р(120) + р(210)7 что, конечно, равно 1. С) Основной величиной, которая нал! понадобится длн оценки системы расстановки, будет ожидаемое число проб, необходимых для того, чтобы внести объект а в таблицу, в которой Й пози- гл ю аяглнизлция инеоямлцни ций нз л заполнены. Успех достигается ари первой же пробе, если й,(а) =! н ! — одна из л — й пустых позиций. Такич образом, вероятность того, что успех будет достигиуг при первой пробе, ранна -1 Х р(О ~р(5) где правая сумма берется по всем множествам 5 из й позиций, не содержал!им Е Если й„(а)Е5, но й,(а)ц5, то успех будет достигнут при второй пойытке.

Поэтому вероятность того, что первая попытка будет неудачной, а вторая †удачн, равна ,Х,Х р(()),з р(5) где правая сумма берется по всем множествам 5 из й позиций, содержащим л и не содержащим !. Отметим, что р(П) =0 при ! = ). Продолжая в том же духе, получаем формулу ожидаемого чиг,ю Е(й, л) проб, требуемых для внесения объекта з таблицу, з котороб й иэ л позиций заняты, й (п: л Е(й,л)= 2) тХр(ш)Х р(5) где (Ц средняя сумма берется по всем цепочкам ш различных позиций длины т, (2) правая сумма берется по всем таним множествам 5, со- стояц!нм яз й позиций, что в ш все символы, кролле последнего, принадлежат 5 (последний символ цепочки ш не принадлежит 5).

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

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

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

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