Контактная схема — различия между версиями
Ilyal (обсуждение | вклад) |
Ilyal (обсуждение | вклад) |
||
| Строка 21: | Строка 21: | ||
* '''Отрицание''' | * '''Отрицание''' | ||
Отрицание - это унарная операция, поэтому, чтобы показать её на контактной схеме достаточно написать над контактом знак отрицания. | Отрицание - это унарная операция, поэтому, чтобы показать её на контактной схеме достаточно написать над контактом знак отрицания. | ||
| + | |||
| + | ==Задача о минимизации контактной схемы== | ||
| + | {{Определение | ||
| + | |definition = | ||
| + | Две контактные схемы называются '''эквивалентными''', если они реализуют одну и ту же булеву функцию или одну и ту же систему функций. | ||
| + | }} | ||
| + | |||
| + | {{Определение | ||
| + | |definition = | ||
| + | '''Сложностью''' контактной схемы называется число | ||
| + | ее контактов. | ||
| + | }} | ||
| + | Задача минимизации контактных схем состоит в том, чтобы по данной схеме <tex>S</tex> найти схему <tex>T</tex> , эквивалентную <tex>S</tex> и имеющую наименьшую сложность. | ||
| + | Один из путей решения этой задачи состоит в следующем: | ||
| + | * Осуществляем переход от контактной схемы <tex>S</tex> к её булевой функции <tex>F(S)</tex>. | ||
| + | * Упрощаем <tex>F(S)</tex>, то есть отыскиваем функцию <tex>G</tex> (на том же базисе, что и <tex>F(S)</tex>), равносильную <tex>F(S)</tex> и содержащую меньше вхождений атомарных формул. | ||
| + | * Строим схему <tex>T</tex>, реализующую функцию <tex>G</tex>. | ||
==Ссылки== | ==Ссылки== | ||
Версия 14:50, 4 января 2014
| Определение: |
| Контактная схема (англ. boolean curcuit) представляет собой ориентированный ациклический граф, на каждом ребре которого написана переменная или ее отрицание (ребра в контактных схемах называют контактами, а вершины - полюсами). |
Содержание
Принцип работы
Зафиксируем некоторые значения переменным. Тогда замкнутыми называются ребра, на которых записана 1, ребра, на которых записан 0, называются разомкнутыми. Зафиксируем две вершины и . Тогда контактная схема вычисляет некоторую функцию между вершинами и , равную 1 на тех наборах переменных, на которых между и есть путь по замкнутым ребрам.
Построение контактных схем
Любую булеву функцию можно представить в виде контактной схемы. Для этого необходимо привести её к ДНФ или КНФ, а затем построить, используя комбинации 3 логических элементов:
- Конъюнкция
Результат конъюнкции равен 1 тогда и только тогда, когда оба операнда равны 1. В применении к контактным схемам это означает, что последовательное соединение полюсов соответствует операции конъюнкции.
- Дизъюнкция
Результат дизъюнкции равен 0 только в случае, когда оба операнда равны 0. Несложно догадаться, что в контактных схемах эта операция соответствует параллельному соединению полюсов.
- Отрицание
Отрицание - это унарная операция, поэтому, чтобы показать её на контактной схеме достаточно написать над контактом знак отрицания.
Задача о минимизации контактной схемы
| Определение: |
| Две контактные схемы называются эквивалентными, если они реализуют одну и ту же булеву функцию или одну и ту же систему функций. |
| Определение: |
| Сложностью контактной схемы называется число ее контактов. |
Задача минимизации контактных схем состоит в том, чтобы по данной схеме найти схему , эквивалентную и имеющую наименьшую сложность. Один из путей решения этой задачи состоит в следующем:
- Осуществляем переход от контактной схемы к её булевой функции .
- Упрощаем , то есть отыскиваем функцию (на том же базисе, что и ), равносильную и содержащую меньше вхождений атомарных формул.
- Строим схему , реализующую функцию .
Ссылки
Литература
- Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по дискретной математике — М.:"ФИЗМАТЛИД", 2009 — стр. 312