Главная » Просмотр файлов » Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений

Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271), страница 97

Файл №1082271 Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений) 97 страницаХопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271) страница 972018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Заметим, что в последнем случае все узлы должны принадлежать одному компоненту связности, и процесс выбора ребер можно прекратить. Пример 1О.1. В графе на рис. 10.1 сначала рассматривается ребро (1, 3), поскольку оно имеет минимальный вес — 1О. Так как вначале 1 и 3 принадлежат разным компонентам, это ребро принимается, а узлам 1 и 3 приписывается один и тот же номер компонента, скажем, "компонент 1". Следующее по порядку возрастания веса ребро — (2, 3) с весом 12.

Поскольку 2 и 3 принадлежат разным компонентам, то это ребро принимается, и 2 добавляется в "компонент 1". Третье ребро — (1, 2) с весом 15. Но узлы 1 и 2 уже находятся в одном компоненте, поэтому данное ребро отбрасывается, и мы переходим к четвертому ребру — (3, 4). Поскольку 4 не содержится в "компоненте 1", данное ребро принимается. Теперь у нас есть остовное дерево из трех ребер, и можно остановиться. (л Этот алгоритм обработки графа с нг узлами и е ребрами можно реализовать (с помощью компьютера, а не машины Тьюринга) за время 0(т + е)обе).

Более простая реализация имеет е этапов. Номер компонента каждого узла хранится в некоторой таблице. Выбор ребра наименьшего веса среди оставшихся занимает время 0(е), а поиск компонентов, в которых находятся узлы, связанные этим ребром, — 0(нг). Если эти узлы принадлежат различным компонентам, то на просмотр таблицы для объединения всех узлов с соответствуюшими номерами нужно время 0(нг). Таким образом, обгцее время работы этого алгоритма — 0(е(е.г нг)). Это время полиномиально зависит от "размера" входных данных, в качестве которого можно неформально выбрать сумму е и нг.

' у. В. Кгиз!га! 1г„"Оп Ше яйоггеж зрапшп8 зпыгее ог" а ягар!г апг! Ше ггаче!!п8 за!езгпап ргоЫет", Ргос. АМЗ 7: ! (1956), рр.48 — 50. ГЛАВА 10. ТРУДНОРЕШАЕМЫЕ ПРОБЛЕМЫ 426 При перенесении изложенных идей на машины Тьюринга возникают следующие вопросы. я Выход алгоритмов разрешения различных проблем может иметь много разных форм, например, список ребер ОДМВ. Проблемы же, решаемые машинами Тьюринга, можно интерпретировать только как языки, а их выходом может быть только ДА или НЕТ (допустить или отвергнуть).

Например, проблему поиска ОДМВ можно перефразировать так: "Для данного графа б и предельного числа И'выяснить, имеет ли С остовное дерево с весом не более И"?". Может показаться, что эту проблему решить легче, чем проблему ОДМВ в знакомой нам формулировке, поскольку не нужно даже искать остовное дерево. Однако в рамках теории труднорешаемости нам, как правило, нужно доказать, что проблема трудна (не легка), А из того, что "да/нет"-версия проблемы трудна, следует, что трудна и ее версия, предполагающая полный ответ.

° Хотя "размер" графа можно неформально представить себе как число его узлов или ребер, входом МТ является цепочка в некотором конечном алфавите. Поэтому такие элементы, фигурирующие в проблеме, как узлы и ребра, должны быть подходящим образом закодированы.

Выполняя это требование, получаем в результате цепочки, длина которых несколько превышает предполагаемый "размер" входа. Однако есть две причины проигнорировать эту разницу. Размеры входной цепочки МТ и входа неформальной проблемы всегда отличаются не более, чем малым сомножителем, обычно — логарифмом размера входных данных. Таким образом, все, что делается за полиномиальное время с использованием одной меры, можно сделать за полиномиальное время, используя другую меру. Длина цепочки, представляющей вход, — в действительности более точная мера числа байтов, которые должен прочитать реальный компьютер, обрабатывая свой вход. Например, если узел задается целым числом, то количество байтов, необходимых для представления этого числа, пропорционально его логарифму, а это не "1 байт на каждый узел", как можно было бы предположить при неформальном подсче- те размера входа.

Пример 10.2. Рассмотрим код для графов и предельных весов, который может быть входом для проблемы ОДМВ. В коде используются пять символов: О, 1, левая и правая скобки, а также запятая. Припишем всем узлам целые числа от 1 до аь В начало кода поместим значения а и предельного веса И' в двоичной системе счисления, разделенные запятой.

Если существует ребро, соединяющее узлы ! и ! и имеющее вес и, то в код записывается тройка (б ь н), где целые числа 1, у и н кодируются в двоичном виде. Порядок записи узлов ребра и порядок ребер в графе не играют роли. 10.1. КЛАССЫ Р И НР 427 Таким образом, один из возможных кодов графа на рис. 10.1 с предельным весом 1г'= 40 имеет вид 100, 101000(1, 10, 1111)(1, 11, 1010)(10, 11, 1100)(10, 100, 10100)(11, 100, 10010).

П Если кодировать входы проблемы ОДМВ так, как в примере 10.2, то вход длины и может представлять максимум 0(л/!одл) ребер. Если число ребер очень мало, то число узлов а может быть экспоненциальным относительно л. Однако если число ребер е меньше е — 1, то граф не может быть связным, и независимо от того, каковы эти ребра, не имеет ОДМВ. Следовательно, если количество узлов превосходит число н/!об и, то нет никакой необходимости запускать алгоритм Крускала — мы просто говорим: "нет, остовного дерева с таким весом не существует".

Итак, пусть у нас есть верхняя граница времени работы алгоритма Крускала, выражаемая в виде функции от а и е, например, как найденная выше верхняя граница О(е(е+ т)). Можно изменить т и е на л и сказать, что время работы выражается функцией от длины входа н, имеющей вид 0(п(п+ н)) или 0(п~).

В действительности, более удачная реализация алгоритма Крускала требует времени 0(н!оя а), но сейчас это не важно. Представленный алгоритм Крускала предназначен для реализации на языке программирования с такими удобными структурами данных, как массивы и указатели, но в качестве модели вычислений мы используем машины Тьюринга. Тем не менее, описанную выше версию алгоритма можно реализовать за 0(й) шагов на многоленточной машине Тьюринга. Дополнительные ленты используются для выполнения нескольких вспомога- тельных задач. 1.

На одной из лент можно хранить информацию об узлах и их текущих номерах компонентов. Длина такой таблицы составит 0(п). 2. Еше одна лента может применяться в процессе просмотра входной ленты для хранения информации о ребре, имеющем на данный момент наименьший вес среди ребер, не помеченных как "использованные" (выбранные). С помощью второй дорожки входной ленты можно отмечать те ребра, которые были выбраны в качестве ребер наименьшего веса на одном из предыдуших этапов работы алгоритма. Поиск непомеченного ребра наименьшего веса занимает время 0(л), поскольку каждое ребро рассматривается лишь один раз, и сравнить вес можно, просматривая двоичные числа линейно, справа налево.

3. Если ребро на некотором этапе выбрано, то соответствующие два узла помещаются на ленту. Чтобы установить компоненты этих двух узлов, нужно просмотреть таблицу узлов и компонентов. Это займет О(п) времени. 4. Еше одна лента может хранить информацию об объединяемых компонентах ( и /, когда найденное ребро соединяет различающиеся на данный момент компоненты.

В этом ГЛАВА 10. ТРУДНОРЕШАЕМЫЕ ПРОБЛЕМЫ 428 ! случае просматривается таблица узлов и компонентов, и для каждого узла из компопента 1 номер компонента меняется на 1. Зта процедура также занимает 0(п) времени. Теперь нетрудно самостоятельно завершить доказательство, что на многоленточной МТ каждый зтап работы алгоритма может быть выполнен за время 0(л).

Поскольку число зтапов е не превышает п, делаем вывод, что времени 0(п ) достаточно для многоленточной МТ. Теперь вспомним теорему 8.10, утверждавшую„что работу, которую много- ленточная МТ выполняет за в шагов, можно выполнить на одноленточной МТ за 0(в') шагов. Таким образом, если миоголенгочной МТ требуется сделать 0(п') шагов, то можно построить одноленточную МТ, которая делает то же самое за 0((л~) ) = 0(п ) шагов.

Следовательно, "да/нет"-версия проблемы ОДМВ ("имеет ли граф 0 ОДМВ с обсцим весом не более И"!") принадлежит Р. 10.1.3. Недетерминированное полиномиальное время Фундаментальный класс проблем в изучении труднорешаемости образован проблемами, разрешимыми с помощью недетерминированной МТ за полиномиальное время. Формально, мы говорим, что язык Е принадлежит классу Л'Р (недетерминированный полиномиальный), если существуют недетерминированная МТ М и полиномиальная временная сложность Т(п), для которых Е = ЦМ), и у М нет последовательностей переходов длиной более Т(л) при обработке входа длины и.

Поскольку всякая детерминированная МТ представляет собой недетерминированную МТ, у которой нет возможности выбора переходов, то Р ~ ЛР. Однако оказывается, что в АТР содержится множество проблем, не принадлежащих Р. Интуиция подсказывает: причина в том, что НМТ с полиномиальным временем работы имеет возможность угадывать зкспоненциальное число решений проблемы и проверять "параллельно" каждое из иих за полиномиальное время. И все-таки, ° одним из самых серьезных нерешенных вопросов математики является вопрос о том, верно ли, что Р = Л'Р, т.е.

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

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

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