У меня есть ряд связанных вопросов по этим двум темам.
Во- первых, большинство текстов сложности только замазывать класс . Есть ли хороший ресурс, который более подробно освещает исследования? Например, то, что обсуждает все мои вопросы ниже. Кроме того, я предполагаю, что все еще видит значительный объем исследований из-за его связи с распараллеливанием, но я могу ошибаться. Раздел в зоопарке сложности не очень помогает.
Во-вторых, вычисление над полугруппой происходит в если мы предположим, что операция полугруппы занимает постоянное время. Но что, если операция не требует постоянного времени, как в случае неограниченных целых чисел? Существует ли какая - либо известные -полных проблема?
В-третьих, поскольку , существует ли алгоритм для преобразования любого алгоритма пространства журнала в параллельную версию?
В- четвертых, это звучит , как и большинство людей считают , что таким же образом , что . Какова интуиция за этим?
В-пятых, каждый текст, который я прочитал, упоминает класс но не дает примеров проблем, которые он содержит. Есть ли?
Наконец, в этом ответе упоминаются проблемы в с сублинейным параллельным временем выполнения. Каковы некоторые примеры этих проблем? Существуют ли другие классы сложности, которые содержат параллельные алгоритмы, о которых не известно, что они находятся в N C ?
Ответы:
Можно показать (учебник Ароры и Барака), учитывая -время TM M , что забывающий TM M ′ (то есть TM, чье движение головы не зависит от его входа x ) может построить схему C n для вычисления M ( х ) где | х | = п .t(n) M M′ x Cn M(x) |x|=n
Эскиз доказательства в соответствии с тем, что моделирует M и определяет «снимки» его состояния (то есть положения головы, символы на головках) на каждом временном шаге t i (представьте себе журнал вычислений). Каждый шаг t i можно вычислить из x и состояния t i - 1 . Поскольку каждый снимок включает только строку постоянного размера, и существует только постоянное количество строк этого размера, снимок в момент времени t i может быть вычислен схемой постоянного размера.M′ M ti ti x ti−1 ti
Если вы составляете схемы постоянного размера для каждого у нас есть схема, которая вычисляет M ( x ) . Используя этот факт, наряду с ограничением того, что язык M находится в L, мы видим, что наша схема C n по определению является лог-пространственно-равномерной , где единообразие просто означает, что наши схемы в нашем семействе схем { C n } вычисляют M ( x ) у всех одинаковый алгоритм. Не индивидуальный алгоритм для каждой схемы, работающей на входном размере n .ti M(x) M L Cn {Cn} M(x) n
Опять же, из определения равномерности мы видим, что схемы, определяющие любой язык в должны иметь функцию размера ( n ), вычисляемую в O ( log n ) . Семейство цепей A C 1 имеет не более O ( log n ) глубины.L size(n) O(logn). AC1 O(logn)
Наконец, можно показать, что дает соотношение, о котором идет речь.AC1⊆NC2
Прежде чем идти дальше, давайте определим, что означает -полнота.P
Язык является P -полным, если L ∈ P и каждый язык в P сводится к нему в лог-пространстве. Кроме того, если L является P -завершенным, то верно следующееL P L∈P P L P
Теперь мы рассматриваем как класс языков, эффективно определяемых параллельным компьютером (нашей схемой). В P есть некоторые проблемы, которые, по-видимому, противостоят любым попыткам распараллеливания (например, линейное программирование и проблема значений схемы). То есть некоторые проблемы требуют, чтобы вычисления выполнялись поэтапно.NC P
Например, проблема значения схемы определяется как:
Мы не знаем, как вычислить это лучше, чем вычислять все ворота которые предшествуют g . Учитывая, что некоторые из них могут быть вычислены параллельно, например, если они все происходят на некотором временном шаге t i , но мы не знаем, как вычислить выходные данные затворов на временном шаге t i и временном шаге t i + 1 для очевидной трудности что ворота в t i + 1 требуют вывода ворот в t i !g′ g ti ti ti+1 ti+1 ti
Это интуиция за .NC≠P
Пределы параллельных вычислений - это книга о полноте в том же духе, что и книга Garey & Johnson's N P- Complete.P NP
источник
В работе «Сопоставление так же просто, как и в матричной инверсии» Мулмулей, Вазирани и Вазирани есть несколько примеров проблем в классе . Главное - найти максимальное совпадение, тогда они сводят другие проблемы к этому.RNC2
источник