Jump to content

Булева схема

Пример логической схемы. узлы — это вентили И , узлы являются вентилями ИЛИ , а узлы НЕ являются воротами

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

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

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

Формальное определение [ править ]

Давая формальное определение булевых схем, Фоллмер начинает с определения базиса как набора B булевых функций, соответствующих вентилям, допустимым в модели схемы. Булева схема на базисе B с n входами и m выходами затем определяется как конечный ориентированный ациклический граф . Каждая вершина соответствует либо базовой функции, либо одному из входов, и существует набор ровно из m узлов, которые помечены как выходы. [1] : 8  Края также должны иметь некоторый порядок, чтобы различать разные аргументы одной и той же логической функции. [1] : 9 

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

Общей основой булевых схем является набор { И , ИЛИ , НЕ }, который является функционально полным , т.е. е. из которого могут быть построены все остальные логические функции.

Вычислительная сложность [ править ]

Предыстория [ править ]

Конкретная схема действует только на входы фиксированного размера. Однако формальные языки ( на основе строк представления задач решения ) содержат строки разной длины, поэтому языки не могут быть полностью охвачены одной схемой (в отличие от модели машины Тьюринга, в которой язык полностью описывается одной схемой Тьюринга). машина). Вместо этого язык представлен семейством схем . Семейство схем — это бесконечный список схем. , где имеет входные переменные. Говорят, что контурная семья определяет язык. если для каждой строки , есть на языке тогда и только тогда, когда , где длина . Другими словами, язык — это набор строк, которые при применении к схемам, соответствующим их длине, оцениваются как 1. [2] : 354 

Меры сложности [ править ]

Для логических схем можно определить несколько важных показателей сложности , включая глубину схемы, размер схемы и количество чередований между логическими элементами И и ИЛИ. Например, сложность размера булевой схемы равна количеству вентилей в схеме.

Существует естественная связь между сложностью размера схемы и временной сложностью . [2] : 355  Интуитивно понятно, что язык с небольшой временной сложностью (то есть требует относительно небольшого количества последовательных операций на машине Тьюринга ) также имеет небольшую схемную сложность (то есть требует относительно небольшого количества логических операций). Формально можно показать, что если язык находится в , где это функция , то он имеет схемную сложность .

Классы сложности [ править ]

Несколько важных классов сложности определены в терминах булевых схем. Наиболее общим из них является P/poly , набор языков, которые разрешимы семействами схем полиномиального размера. Это следует непосредственно из того, что языки в иметь сложность схемы что П П/поли. Другими словами, любая задача, которую можно решить за полиномиальное время с помощью детерминированной машины Тьюринга, также может быть решена с помощью семейства схем полиномиального размера. Кроме того, это случай, когда включение правильное (т.е. P P/poly), поскольку существуют неразрешимые проблемы, находящиеся в P/poly. Оказывается, P/poly обладает рядом свойств, которые делают его очень полезным при изучении взаимосвязей между классами сложности. В частности, это полезно при исследовании проблем, связанных с P и NP . Например, если в NP есть язык, которого нет в P/poly, то P НАПРИМЕР. [3] : 286  P/poly также помогает исследовать свойства полиномиальной иерархии . Например, если NP ⊆ P/poly, то PH схлопывается до . Полное описание отношений между P/poly и другими классами сложности доступно в разделе « Важность P/poly ». P/poly также имеет интересную особенность: его можно эквивалентно определить как класс языков, распознаваемых машиной Тьюринга с полиномиальным временем и полиномиально ограниченной консультативной функцией .

Два подкласса P/poly, которые обладают интересными свойствами сами по себе, — это NC и AC . Эти классы определяются не только с точки зрения размера схемы, но и с точки зрения глубины . Глубина цепи — это длина самого длинного направленного пути от входного узла к выходному узлу. Класс NC — это набор языков, которые могут быть решены семействами схем, которые ограничены не только полиномиальным размером, но и полилогарифмической глубиной . Класс AC определяется аналогично NC, однако вентилям разрешено иметь неограниченное вхождение (то есть вентили И и ИЛИ могут применяться к более чем двум битам). NC — важный класс, поскольку оказывается, что он представляет класс языков, имеющих эффективные параллельные алгоритмы .

Оценка схемы [ править ]

Проблема значения схемы — проблема вычисления выходных данных заданной логической схемы по заданной входной строке — является P-полной проблемой решения . [3] : 119  Следовательно, эта проблема считается «по своей сути последовательной» в том смысле, что, вероятно, не существует эффективного, высокопараллельного алгоритма, который бы решил эту проблему.

Полнота [ править ]

Логические схемы — это физическое представление простых логических операций И, ИЛИ и НЕ (и их комбинаций, таких как непоследовательные триггеры или схемы), которые образуют математическую структуру, известную как булева алгебра . Они полны в том смысле, что могут выполнять любой детерминированный алгоритм. Однако так уж получилось, что это еще не все. В физическом мире мы также сталкиваемся со случайностью, заметной в небольших системах, управляемых эффектами квантования, которые описываются теорией квантовой механики. Логические схемы не могут создавать никакой случайности и в этом смысле образуют неполный логический набор. Решение этой проблемы можно найти в добавлении специального генератора случайных битов в логические сети или компьютеры, например, в вероятностную машину Тьюринга . Недавняя работа [4] представил теоретическую концепцию по своей сути случайной логической схемы, называемой случайным триггером , которая дополняет набор. Он удобно сочетает в себе случайность и совместим со схемами детерминированной логической логики. Однако алгебраическая структура, эквивалентная булевой алгебре, и связанные с ней методы построения и сокращения схем для расширенного набора пока неизвестны.

См. также [ править ]

Сноски [ править ]

  1. ^ Jump up to: Перейти обратно: а б Воллмер, Гериберт (1999). Введение в сложность схем . Берлин: Шпрингер. ISBN  3-540-64310-9 .
  2. ^ Jump up to: Перейти обратно: а б Сипсер, Майкл (2006). Введение в теорию вычислений (2-е изд.). США: Курс технологии Томсона. ISBN  978-0-534-95097-2 .
  3. ^ Jump up to: Перейти обратно: а б Арора, Санджив; Барак, Вооз (2009). Вычислительная сложность: современный подход . Издательство Кембриджского университета. ISBN  978-0-521-42426-4 .
  4. ^ Стипчевич, Марио; Бателич, Матея (2022). «Аспекты энтропии в улучшенных схемах для компьютера со случайными импульсами биологического происхождения» . Научные отчеты . 12 : 115. arXiv : 1908.04779 . дои : 10.1038/s41598-021-04177-9 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 53acc716a85299f99aaeb9635de2922e__1704432000
URL1:https://arc.ask3.ru/arc/aa/53/2e/53acc716a85299f99aaeb9635de2922e.html
Заголовок, (Title) документа по адресу, URL1:
Boolean circuit - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)