Справді мало зв’язку. Для ретельного розуміння дозвольте мені пояснити зв’язок між програмами та схемами .
Програма (або алгоритм , або машина ) являє собою механізм для обчислення функції. Для визначеності припустимо, що вхід - це двійкова рядок , а вихід - булевий вихід b . Розмір введення потенційно необмежений. Один із прикладів - програма, яка визначає, чи є вхід двійковим кодуванням простого числа.хб
А (булева) схема являє собою набір інструкцій для обчислення деякої кінцевої функції. Ми можемо зобразити ланцюг як електричну ланцюг або розглядати її як послідовність вказівок (ця думка називається заплутано програмою прямолінійної ). Конкретно, можна вважати, що вхід - це двійковий рядок довжини n , а вихід - булевий. Один із прикладів - схема, яка визначає, чи кодує вхід просте число (як і раніше, тільки тепер вхід повинен бути довжиною n ).х нн
Ми можемо перетворити програму у ланцюг P n, що імітує P на входах довжиною n . Відповідна послідовність схем P 0 ,ППнПн не є довільною - всі вони можуть бутипобудованіпрограмою, яка дала n виходів P n . Таку послідовність схем ми називаєморівномірнимконтуром (плутано, ми часто думаємо про послідовність як "єдину" ланцюг P n для невизначеного n ).П0, С1, С2, …нПнПнн
Не кожна послідовність схем є рівномірною. Дійсно, послідовність схем може обчислити кожну функцію від рядків до булевих, обчислювальних або нерозбірних! Тим не менш, в теорії складності нас цікавлять такі неоднорідні моделі, в яких схеми обмежені. Наприклад, питання P = NP визначає, що задачі, повні NP, не можуть бути вирішені поліноміальними алгоритмами часу. Це означає, що задачі, пов'язані з NP, не можуть бути вирішені однорідними схемами поліноміальних розмірів. Крім того, передбачається, що задачі, пов'язані з NP, не можуть бути вирішені схемами розмірів поліномів без вимоги рівномірності .
Обчислювальні моделі Тьюрінга - це моделі, які реалізують усі обчислювані функції (і не більше). Навпаки, повні системи воріт (такі як AND, OR, NOT або NAND) дозволяють обчислювати довільні кінцеві функції, використовуючи схеми, виготовлені з цих воріт. Такі повноцінні системи можуть обчислювати повністю довільні функції, використовуючи (необмежені) послідовності схем.