Jump to content

НК (сложность)

(Перенаправлено с NC1 (сложность) )
Нерешенная задача в информатике :

В теории сложности вычислений класс NC (от «класса Ника») представляет собой набор задач решения , решаемых за полилогарифмическое время на параллельном компьютере с полиномиальным числом процессоров. Другими словами, проблема с входным размером n находится в NC , если существуют константы c и k такие, что ее можно решить за время O ((log n ) с ), используя O ( n к ) параллельные процессоры. Стивен Кук [1] [2] придумал название «Класс Ника» в честь Ника Пиппенджера , который провел обширное исследование. [3] на схемах с полилогарифмической глубиной и полиномиальным размером. [4]

Точно так же, как класс P можно рассматривать как решаемые проблемы ( тезис Кобэма ), так и NC можно рассматривать как проблемы, которые можно эффективно решить на параллельном компьютере. [5] NC является подмножеством P , поскольку полилогарифмические параллельные вычисления можно моделировать последовательными с полиномиальным временем. Неизвестно, является ли NC = P , но большинство исследователей подозревают, что это неверно, а это означает, что, вероятно, существуют некоторые решаемые проблемы, которые являются «по своей сути последовательными» и не могут быть значительно ускорены с помощью параллелизма. Точно так же, как класс NP-полный можно рассматривать как «вероятно неразрешимый», так и класс P-полный при использовании NC- сокращений можно рассматривать как «вероятно нераспараллеливаемый» или «вероятно по своей сути последовательный».

Параллельный компьютер в определении можно считать параллельной машиной с произвольным доступом ( PRAM ). Это параллельный компьютер с центральным пулом памяти, и любой процессор может получить доступ к любому биту памяти в постоянное время. На определение NC не влияет выбор того, как PRAM обрабатывает одновременный доступ к одному биту более чем одним процессором. Это может быть CRCW, CREW или EREW. См. PRAM для описания этих моделей.

Эквивалентно, NC можно определить как те проблемы решения, которые разрешаются с помощью однородной логической схемы (которая может быть вычислена на основе длины входных данных, для NC мы предполагаем, что мы можем вычислить булеву схему размера n в логарифмическом пространстве в n ) с полилогарифмическим глубина и полиномиальное количество вентилей с максимальным входом 2.

RNC — это класс, расширяющий NC с доступом к случайности.

Проблемы в НК

[ редактировать ]

Как и в случае с P , слегка злоупотребив языком, можно было бы классифицировать функциональные проблемы и проблемы поиска как находящиеся в NC . NC , как известно, включает в себя множество проблем, в том числе

Часто алгоритмы для решения этих задач приходилось изобретать отдельно, и их нельзя было просто адаптировать на основе хорошо известных алгоритмов — метод исключения Гаусса и алгоритм Евклида основаны на операциях, выполняемых последовательно. Можно противопоставить сумматор с пульсирующим переносом сумматору с упреждающим переносом .

Пример проблемы в NC 1 — это проверка четности битовой строки. [6] Задача состоит в подсчете количества единиц в строке, состоящей из 1 и 0. Простое решение состоит в суммировании всех битов строки. Поскольку сложение ассоциативно, . Рекурсивно применяя такое свойство, можно построить двоичное дерево длины в котором каждая сумма между двумя битами и выражается посредством основных логических операторов , например, посредством логического выражения .

Иерархия NC

[ редактировать ]

Северная Каролина я - это класс задач решения, решаемых с помощью однородных логических схем с полиномиальным числом элементов не более двух входов и глубиной O ((log n ) я ) , или класс задач решения, разрешимых за время O ((log n ) я ) на параллельном компьютере с полиномиальным числом процессоров. Ясно, что мы имеем

которая образует NC -иерархию.

Мы можем связать классы NC с пространственными классами L и NL. [7] и АС . [8]

Классы NC связаны с классами AC, которые определяются аналогично, но с вентилями, имеющими неограниченный вход. Для каждого i у нас есть [5] [8]

Как непосредственное следствие этого, мы имеем NC = AC . [9] Известно, что оба включения строгие при i = 0. [5]

Точно так же мы имеем, что NC эквивалентно проблемам, решаемым на попеременной машине Тьюринга, ограниченной не более чем двумя вариантами на каждом шаге с пространством O (log n ) и чередования. [10]

Открытая проблема: подходит ли NC?

[ редактировать ]

Один из основных открытых вопросов в теории сложности заключается в том, является ли каждое включение в иерархию NC правильным. Пападимитриу заметил, что, если NC я = НК я +1 для некоторых i , то NC я = НК дж для всех j i и, как следствие, NC я = НК . Это наблюдение известно как коллапс NC -иерархии, поскольку даже одно равенство в цепочке включений

подразумевает, что вся иерархия NC «схлопывается» до некоторого уровня i . Таким образом, есть 2 возможности:

Широко распространено мнение, что (1) имеет место, хотя никаких доказательств истинности того или иного утверждения пока не найдено.

Северная Каролина 0

[ редактировать ]

Специальный класс NC 0 работает только с постоянной длиной входных битов. Поэтому он описывается как класс функций, определяемых равномерными логическими схемами с постоянной глубиной и ограниченным входом.

Теорема Баррингтона

[ редактировать ]

Разветвляющаяся программа с n переменными ширины k и длины m состоит из последовательности m инструкций. Каждая из инструкций представляет собой кортеж ( i , p , q ), где i — индекс проверяемой переменной (1 ≤ i n ), а p и q — функции от {1, 2, ..., k } до {1, 2, ..., к }. Числа 1, 2,..., k называются состояниями ветвящейся программы. Программа изначально запускается в состоянии 1, и каждая инструкция ( i , p , q ) меняет состояние с x на p ( x ) или q ( x ), в зависимости от того, равна ли i -я переменная 0 или 1. Функция, отображающая ввод в конечное состояние программы называется выходом программы (точнее, выход на ввод — это функция, отображающая любое начальное состояние в соответствующее конечное состояние). Программа принимает набор значений переменных при наличии некоторого набора функций такая, что переменная последовательность находится в A именно тогда, когда его доходность находится в F .

Семейство ветвящихся программ состоит из ветвящейся программы с n переменными для каждого n . Он принимает язык, когда программа с переменными n принимает язык, длина которого ограничена n входными данными.

Легко показать, что каждый язык L на {0,1} можно распознать по семейству ветвящихся программ ширины 5 и экспоненциальной длины или по семейству экспоненциальной ширины и линейной длины.

Каждый обычный язык на {0,1} может быть распознан семейством ветвящихся программ постоянной ширины и линейного числа инструкций (поскольку DFA можно преобразовать в ветвящуюся программу). BWBP обозначает класс языков, распознаваемых семейством ветвящихся программ ограниченной ширины и полиномиальной длины. [11]

Теорема Баррингтона [12] говорит, что BWBP является в точности неоднородным NC 1 . Доказательство использует неразрешимость симметрической группы S 5 . [11]

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

Доказательство теоремы Баррингтона.

[ редактировать ]

Программа ветвления постоянной ширины и полиномиального размера может быть легко преобразована (с помощью принципа «разделяй и властвуй») в схему в ЧПУ. 1 .

Обратно, предположим, что схема в NC 1 дано. Без ограничения общности предположим, что он использует только логические элементы И и НЕ.

Лемма 1. Если существует программа ветвления, которая иногда работает как перестановка P , а иногда как перестановка Q , умножая перестановки вправо в первой инструкции на α , а в последней инструкции умножая влево на β , мы можем сделать цепь той же длины, которая ведет себя как β P α или β Q α соответственно.

Вызовите программу ветвления α, вычисляющую схему C, если она работает как тождество, когда α выход C равен 0, и как , когда . выход C равен 1

Как следствие леммы 1 и того факта, что все циклы длины 5 сопряжены , для любых двух 5-циклов α , β , если существует ветвящаяся программа α-вычисляющая схему C , то существует ветвящаяся программа β-вычисляющая схему C. цепь C той же длины.

Лемма 2. Существуют 5-циклы γ , δ такие, что их коммутатор ε = γδγ −1 д −1 является 5-тактным. Например, γ = (1 2 3 4 5), δ = (1 3 5 4 2), что дает ε = (1 3 2 5 4).

Доказательство

Теперь докажем теорему Баррингтона по индукции:

Предположим, у нас есть схема C , которая принимает на входы x 1 ,..., x n , и предположим, что для всех подсхем D схемы C и 5-циклов α существует ветвящаяся программа α-вычисления D . Покажем, что для всех 5-циклов α существует ветвящаяся программа α-вычисляющая C .

  • Если схема C просто выводит некоторый входной бит x i , нужная нам программа ветвления имеет только одну инструкцию: проверку значения x i (0 или 1) и вывод единицы или α (соответственно).
  • Если схема C выводит ¬A для какой-то другой схемы A , создайте программу ветвления α. −1 -вычисление A , а затем умножение результата программы на α. По лемме 1 мы получаем ветвящуюся программу для A, выводящую единицу или α, т.е. α -вычисление ¬ A = C .
  • Если схема C выводит A B для схем A и B , соедините программы ветвления, которые γ -вычисляют A , δ -вычисляют B , γ. −1 -вычислить A и δ −1 -вычислить B для выбора 5-циклов γ и δ таких, что их коммутатор ε = γδγ −1 д −1 тоже 5-тактный. (Существование таких элементов установлено в лемме 2.) Если одна или обе схемы выдают 0, результирующая программа будет тождественной из-за отмены; если обе схемы выведут 1, результирующая программа выведет коммутатор ε . Другими словами, мы получаем программу ε -вычисления A B . Поскольку ε и α — два 5-цикла, они сопряжены, и, следовательно, существует программа α, вычисляющая A B по лемме 1.

Предполагая, что подсхемы имеют программы ветвления, так что они являются α -вычислительными для всех 5-циклов α S 5 , мы показали, что C также обладает этим свойством, как и требовалось.

Размер разветвляющейся программы не более 4 д , где d — глубина контура. Если схема имеет логарифмическую глубину, программа ветвления имеет полиномиальную длину.

Примечания

[ редактировать ]
  1. ^ Кук, С.А. (1981). «К теории сложности синхронных параллельных вычислений» . L'Enseignement Mathématique . 27 : 99–124. Архивировано из оригинала 10 марта 2022 г.
  2. ^ Кук, Стивен А. (1 января 1985 г.). «Таксономия задач с быстрыми параллельными алгоритмами» . Информация и контроль . Международная конференция по основам теории вычислений. 64 (1): 2–22. дои : 10.1016/S0019-9958(85)80041-3 . ISSN   0019-9958 .
  3. ^ Пиппенджер, Николас (1979). «Об одновременных границах ресурсов» . 20-й ежегодный симпозиум по основам информатики (SFCS 1979) : 307–311. дои : 10.1109/SFCS.1979.29 . ISSN   0272-5428 . S2CID   7029313 .
  4. ^ Арора и Барак (2009) стр.120
  5. ^ Jump up to: а б с Арора и Барак (2009) стр.118
  6. ^ Дэвид Микс Баррингтон; Алексис Масиэль (18 июля 2000 г.). «Лекция 2: Сложность некоторых проблем» (PDF) . Летняя сессия IAS / PCMI 2000 г. - Программа бакалавриата по математике Клэя - Базовый курс по сложности вычислений . Университет Кларксона . Проверено 11 ноября 2021 г.
  7. ^ Пападимитриу (1994) Теорема 16.1
  8. ^ Jump up to: а б Клот и Кранакис (2002) стр.437
  9. ^ Клот и Кранакис (2002) стр.12
  10. ^ С. Беллантони и И. Оитавем (2004). «Разделение ЧПУ по оси дельта». Теоретическая информатика . 318 (1–2): 57–78. дои : 10.1016/j.tcs.2003.10.021 .
  11. ^ Jump up to: а б Клот и Кранакис (2002) стр.50
  12. ^ Баррингтон, Дэвид А. (1989). «Программы ветвления полиномиального размера ограниченной ширины распознают именно эти языки в NC». 1 J. (PDF) . Comput. Syst. Sci . 38 (1): 150–164. doi : 10.1016/0022-0000(89)90037-8 . ISSN   0022-0000 . Zbl   0667.68059 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 58883dd777a77e2dc2eb3e8b1b1854f9__1703902920
URL1:https://arc.ask3.ru/arc/aa/58/f9/58883dd777a77e2dc2eb3e8b1b1854f9.html
Заголовок, (Title) документа по адресу, URL1:
NC (complexity) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)