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