Изменения
Опечатка
Для математического описания электротехнических устройств, состоящих из контактов и промежуточных реле, функционирующих в дискретные моменты времени применяются ''контактные схемы''. С помощью ''контактных схем'' можно представить любую булеву функцию.
{{Определение
|definition =
'''Контактная схема''' (англ. ''contact shemecircuit'') представляет собой [[Основные определения теории графов|ориентированный ациклический граф]], на каждом ребре которого написана переменная или ее отрицание.
}}
{{Определение
|definition =
'''Контакт''' (англ. ''contact'') {{---}} ребро схемы, помеченное символом переменной или ее отрицанием. Каждому ребру в схеме сопоставляется какая то переменная (не обязательно каждой переменной сопоставляется ребро)
}}
==Принцип работы==
{{Определение
|definition =
'''КонтактЗамкнутый контакт''' (англ. ''closed contact'') ребро {{---}} контакт схемы, помеченное символом над которым написана <tex>1</tex> или значение переменной или ее отрицаниемравно <tex>1</tex>.
}}
==Построение контактных схем==
===Представление одного из базисов в контактных схемах===
Любую булеву функцию можно представить в виде контактной схемы. Для этого необходимо привести её к [[ДНФ|ДНФ]] или [[КНФ|КНФ]], а затем построить, используя комбинации трех логических элементов:{| cellpadding="0"| [[Файл:multiply.png | 250px | thumb | Конъюнкция]] || [[Файл:disjunction.png | 200 250 px | right thumb | Дизъюнкция]] || [[Файл:contactnot.png |200px | thumb | Отрицание]]====Дизъюнкция==== Результат дизъюнкции равен <tex>0</tex> только в случае, когда оба операнда равны <tex>0</tex>. Несложно догадаться, что в контактных схемах эта операция соответствует параллельному соединению полюсов.|}
===Построение контактных схем=Отрицание==== Отрицание {{---}} это унарная операция, поэтому, чтобы показать её на контактной схеме достаточно написать над контактом знак отрицания.
Пусть задана произвольная булева функция. Требуется построить для нее контактную схему, которая ее реализует. В качестве примера рассмотрим функцию, представленную в [[ДНФ|ДНФ]]: <tex>f=== Примеры построения некоторых функций ===(\neg x \land y \land z) \lor (x \land \neg y \land z) \lor (x \land y \land z)</tex>. Каждой скобке [[ДНФ|ДНФ]] соответствует цепочка из последовательных соединенных контактов, определяемых переменными содержащимися в скобке. При этом, вся схема состоит из параллельных соединений указанных цепочек. Для приведенного примера соответствует схема приведена ниже.
[[Файл:xorexample10.png |200 px| right| xor320px]]====Исключающее "или"====
{| cellpadding="0"| [[Файл:xor.png |200 px| thumb | исключающее "или"]] || || [[Файл:median.png |200 px| rightthumb | медиана]]|-====Медиана трех==== | <tex> x \langle x,oplus y,z \rangle = (\neg x \land y) \lor (x \land z) \lor (neg y \land z) </tex> || || <tex> \lor (langle x \land ,y ,z \land z) rangle = (x \land y) \lor (x \land z) \lor (y \land z)</tex>|}
==Задача о минимизации контактной схемы==
{{Определение
|definition =
Две контактные схемы называются '''эквивалентными''' (англ. ''equivalent contact circuits)'', если они реализуют одну и ту же булеву функцию.
}}
{{Определение
|definition =
'''Сложностью контактной схемы''' {{---}} (англ. ''the complexity of the contact schemecircuit'') называется число
ее контактов.
}}
{{Определение
|definition='''Минимальная контактная схема''' {{---}} (англ. ''Minimal minimal contact schemecircuit'') {{---}} схема, имеющая наименьшую сложность среди эквивалентных ей схем.}} {{Определение|definition = '''Дерево конъюнктов для <tex>n</tex> переменных''' {{---}} двоичное ориентированное дерево глубиной <tex>n</tex>, такое что: поддеревья на одном и том же уровне одинаковы; и левое ребро любого узла помечено символом переменной <tex>x_k (k \leqslant n)</tex>, а правое помечено символом отрицания переменной <tex>x_k</tex>.
}}
{{Теорема
|statement = Любой Любую булеву функцию можно представить контактной схемой, сложностью <tex>O(2^n)</tex>|proof=Построим дерево конъюнктов для n переменных и их отрицаний. Это дерево будет содержать Пусть дана функция <tex>Of(2^nx_1,x_2 \dots, x_n)</tex> контактови она представлена в [[ДНФ|ДНФ]][[Файл:tree_for_two. Внизу дерева получится <tex>png | 250px | thumb | Дерево конъюнктов для 2^n</tex> вершин. Очевидно, что каждая вершина соответствует одному конъюнкту. Если соединить часть из этих вершин с вершиной <tex>v</tex> ребрами, на которых написана <tex>1</tex>, то сложность полученной схемы не изменится.-х переменных]]
}}
==См также==
* [[Реализация_булевой_функции_схемой_из_функциональных_элементов|Построение функциональной схемы]]
==СсылкиИсточники информации==
* [http://pgap.chat.ru/zap/zap116.htm Контактные схемы]
* [http://www.encyclopediaofmath.org/index.php/Contact_scheme Encyclopedia of Math {{---}} Contact sheme]
* Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по дискретной математике
* М. А. Айзерман, Л. А. Гусев, Л. И. Розоноэр И. М. Смирнова, А. А. Таль. Логика, автоматы, алгоритмы.
[[Категория: Дискретная математика и алгоритмы]]
[[Категория: Схемы из функциональных элементов ]]