Контактная схема — различия между версиями
(→Задача о минимизации контактной схемы) |
(→Задача о минимизации контактной схемы) |
||
Строка 71: | Строка 71: | ||
|statement = Любой булеву функцию можно представить контактной схемой, сложностью <tex>O(2^n)</tex> | |statement = Любой булеву функцию можно представить контактной схемой, сложностью <tex>O(2^n)</tex> | ||
|proof = | |proof = | ||
− | + | Пусть дана функция <tex>f(x_1,x_2 \dots, x_n)</tex> и она представлена в [[ДНФ|ДНФ]] | |
[[Файл:tree_for_two.png | 250px | thumb | Дерево конъюнктов для 2-х переменных]] | [[Файл:tree_for_two.png | 250px | thumb | Дерево конъюнктов для 2-х переменных]] | ||
− | + | Построю дерево конъюнктов для <tex>n</tex> переменных (см. картинку). Очевидно, что от вершины <tex>U</tex> до "нижних" вершин дерево можно добраться за <tex>O(n)</tex>, а ребер у такого дерева <tex>O(2^n)</tex> | |
− | + | Соединим нижние вершины, которые соответствуют конъюнктам функции, с вершиной <tex>V</tex> контактами, над которыми написана <tex>1</tex>. От этого в схему добавится не более, чем <tex>2^n</tex> ребер и тогда сложность останется <tex>O(2^n)</tex>. | |
В результате можно построить контактную схему для любой функции со сложностью <tex>O(2^n)</tex> | В результате можно построить контактную схему для любой функции со сложностью <tex>O(2^n)</tex> |
Версия 23:19, 31 октября 2014
Для математического описания электротехнических устройств, состоящих из контактов и промежуточных реле, функционирующих в дискретные моменты времени применяются контактные схемы. С помощью контактных схем можно представить любую булеву функцию.
Определение: |
Контактная схема (англ. contact circuit) представляет собой ориентированный ациклический граф, на каждом ребре которого написана переменная или ее отрицание. |
Определение: |
Контакт (англ. contact) — ребро схемы, помеченное символом переменной или ее отрицанием |
Содержание
Принцип работы
Определение: |
Замкнутый контакт (англ. closed contact) — контакт схемы, над которым написана | или значение переменной равно .
Определение: |
Разомкнутый контакт (англ. open contact) — контакт схемы, над которым написана | или значение переменной равно .
Пусть и — два полюса контактной схемы, определяющую функцию . Тогда принимает значение при таком наборе значений переменных, если можно добраться из в только по разомкнутым контактам.
Построение контактных схем
Представление одного из базисов в контактных схемах
Любую булеву функцию можно представить в виде контактной схемы. Для этого необходимо привести её к ДНФ или КНФ, а затем построить, используя комбинации трех логических элементов:
Построение контактных схем
Пусть задана произвольная булева функция. Требуется построить для нее контактную схему, которая ее реализует. В качестве примера рассмотрим функцию, представленную в ДНФ: . Каждой скобке ДНФ соответствует цепочка из последовательных соединенных контактов, определяемых переменными содержащимися в скобке. При этом, вся схема состоит из параллельных соединений указанных цепочек. Для приведенного примера соответствует схема приведена cправа.
Примеры построения некоторых функций
Задача о минимизации контактной схемы
Определение: |
Две контактные схемы называются эквивалентными (англ. equivalent contact circuits), если они реализуют одну и ту же булеву функцию. |
Определение: |
Сложностью контактной схемы (англ. the complexity of the contact circuit) называется число ее контактов. |
Определение: |
Минимальная контактная схема (англ. minimal contact circuit) — схема, имеющая наименьшую сложность среди эквивалентных ей схем. |
Задача минимизации контактных схем состоит в том, чтобы по данной схеме найти схему , эквивалентную и имеющую наименьшую сложность.
Один из путей решения этой задачи состоит в следующем:
- Осуществляем переход от контактной схемы к её булевой функции .
- Упрощаем карты Карно. , то есть отыскиваем функцию (на том же базисе, что и , равносильную и содержащую меньше вхождений операций дизъюнкции и конъюнкции. Для этой операции удобно использовать
- Строим схему , реализующую функцию .
Теорема: |
Любой булеву функцию можно представить контактной схемой, сложностью |
Доказательство: |
Пусть дана функция ДНФ и она представлена вПострою дерево конъюнктов для переменных (см. картинку). Очевидно, что от вершины до "нижних" вершин дерево можно добраться за , а ребер у такого дереваСоединим нижние вершины, которые соответствуют конъюнктам функции, с вершиной В результате можно построить контактную схему для любой функции со сложностью контактами, над которыми написана . От этого в схему добавится не более, чем ребер и тогда сложность останется . |
См также
Источники информации
- Контактные схемы
- Encyclopedia of Math — Contact sheme
- Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по дискретной математике
- М. А. Айзерман, Л. А. Гусев, Л. И. Розоноэр И. М. Смирнова, А. А. Таль. Логика, автоматы, алгоритмы.