<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.23.68.180&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.23.68.180&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/46.23.68.180"/>
		<updated>2026-05-22T00:31:51Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D0%BD%D0%B0%D1%8F_%D1%81%D1%85%D0%B5%D0%BC%D0%B0&amp;diff=35129</id>
		<title>Контактная схема</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D0%BD%D0%B0%D1%8F_%D1%81%D1%85%D0%B5%D0%BC%D0%B0&amp;diff=35129"/>
				<updated>2014-01-05T13:13:09Z</updated>
		
		<summary type="html">&lt;p&gt;46.23.68.180: /* Задача о минимизации контактной схемы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Контактная схема''' (''англ.'' boolean curcuit) представляет собой ориентированный ациклический [[Основные определения теории графов|граф]], на каждом ребре которого написана переменная или ее отрицание (ребра в контактных схемах называют ''контактами'', а вершины - ''полюсами'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Принцип работы==&lt;br /&gt;
[[Файл:contact.png||right||200px]]&lt;br /&gt;
[[Файл:contactnot.png||right||200px]]&lt;br /&gt;
Зафиксируем некоторые значения переменным. Тогда '''замкнутыми''' называются ребра, на которых записана 1, ребра, на которых записан 0, называются '''разомкнутыми'''. Зафиксируем две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Тогда контактная схема вычисляет некоторую функцию &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, равную 1 на тех наборах переменных, на которых между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; есть путь по замкнутым ребрам.&lt;br /&gt;
&lt;br /&gt;
==Построение контактных схем==&lt;br /&gt;
Любую булеву функцию можно представить в виде контактной схемы. Для этого необходимо привести её к ДНФ или КНФ, а затем построить, используя комбинации 3 логических элементов: &lt;br /&gt;
&lt;br /&gt;
* '''Конъюнкция''' [[Файл:multiply.png | 200px | right ]]&lt;br /&gt;
Результат конъюнкции равен 1 тогда и только тогда, когда оба операнда равны 1. В применении к контактным схемам это означает, что&lt;br /&gt;
последовательное соединение полюсов соответствует операции конъюнкции.&lt;br /&gt;
&lt;br /&gt;
* '''Дизъюнкция''' [[Файл:disjunction.png | 200 px | right]]&lt;br /&gt;
Результат дизъюнкции равен 0 только в случае, когда оба операнда равны 0. Несложно догадаться, что в контактных схемах эта операция соответствует параллельному соединению полюсов.&lt;br /&gt;
&lt;br /&gt;
* '''Отрицание'''&lt;br /&gt;
Отрицание - это унарная операция, поэтому, чтобы показать её на контактной схеме достаточно написать над контактом знак отрицания.&lt;br /&gt;
&lt;br /&gt;
==Задача о минимизации контактной схемы==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
Две контактные схемы называются '''эквивалентными''', если они реализуют одну и ту же булеву функцию. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Сложностью''' контактной схемы называется число &lt;br /&gt;
ее контактов.  &lt;br /&gt;
}}&lt;br /&gt;
Задача минимизации контактных схем состоит в том, чтобы по данной схеме &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; найти схему &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; , эквивалентную &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и имеющую наименьшую сложность.&lt;br /&gt;
Один из путей решения этой задачи состоит в следующем:&lt;br /&gt;
* Осуществляем переход от контактной схемы &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; к её булевой функции &amp;lt;tex&amp;gt;F(S)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Упрощаем &amp;lt;tex&amp;gt;F(S)&amp;lt;/tex&amp;gt;, то есть отыскиваем функцию &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; (на том же базисе, что и &amp;lt;tex&amp;gt;F(S)&amp;lt;/tex&amp;gt;), равносильную &amp;lt;tex&amp;gt;F(S)&amp;lt;/tex&amp;gt; и содержащую меньше вхождений атомарных формул.&lt;br /&gt;
* Строим схему &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, реализующую функцию &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
* [http://pgap.chat.ru/zap/zap116.htm Контактные схемы]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Boolean_circuit Wikipedia {{---}} Boolean curcuit]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
* Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по дискретной математике {{---}} М.:&amp;quot;ФИЗМАТЛИД&amp;quot;, 2009 {{---}} стр. 312&lt;/div&gt;</summary>
		<author><name>46.23.68.180</name></author>	</entry>

	</feed>