<?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=195.88.14.200&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=195.88.14.200&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/195.88.14.200"/>
		<updated>2026-05-19T18:04:43Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D1%81%D0%B8%D0%BD%D1%82%D0%B5%D0%B7%D0%B0_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8%D0%B7_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=45003</id>
		<title>Простейшие методы синтеза схем из функциональных элементов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B8%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D1%81%D0%B8%D0%BD%D1%82%D0%B5%D0%B7%D0%B0_%D1%81%D1%85%D0%B5%D0%BC_%D0%B8%D0%B7_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&amp;diff=45003"/>
				<updated>2015-03-17T12:05:31Z</updated>
		
		<summary type="html">&lt;p&gt;195.88.14.200: /* Метод синтеза схем К.Э.Шеннона */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
&lt;br /&gt;
|definition= Синтезом [[Реализация булевой функции схемой из функциональных элементов|схемы из функциональных элементов]] называется процедура получения логической схемы, реализующей заданную логическую функцию.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Приведем несколько простейших алгоритмов синтеза схем, реализующих произвольную функцию от &amp;lt;tex&amp;gt; n &amp;lt;/tex&amp;gt; аргументов &amp;lt;tex&amp;gt; f(x_{1}, ..., x_{n}) &amp;lt;/tex&amp;gt;, в случае когда базис &amp;lt;tex&amp;gt; B = \{\neg, \lor, \land\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Метод синтеза, основанный на [[СДНФ|совершенной ДНФ]]==&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id = Lemma1&lt;br /&gt;
|about = 1&lt;br /&gt;
|statement =Любой конъюнкт в СДНФ можно представить не более, чем &amp;lt;tex&amp;gt; 2n-1 &amp;lt;/tex&amp;gt; элементами.&lt;br /&gt;
|proof =  [[Файл:Synschemes Lemma1.png|250px|thumb|right|Рис 1. Схема для &amp;lt;tex&amp;gt; \bar{x}_{1}\wedge x_{2}\wedge x_{3} \wedge \bar{x}_{4}&amp;lt;/tex&amp;gt;. Сложность построенной схемы &amp;lt;tex&amp;gt;size_{B}(f)=2+3=5\le 7&amp;lt;/tex&amp;gt;.]] &lt;br /&gt;
Построим данную схему следующим образом: если &amp;lt;tex&amp;gt; i &amp;lt;/tex&amp;gt;-й множитель равен &amp;lt;tex&amp;gt; \bar{x}_{i} &amp;lt;/tex&amp;gt;, то присоединяем к выходу &amp;lt;tex&amp;gt; i &amp;lt;/tex&amp;gt; элемент отрицания и последовательно присоединяем к элементу конъюнкции, иначе просто присоединяем к &amp;quot;свободному&amp;quot; входу элемента конъюнкции.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что сложность построенной схемы &amp;lt;tex&amp;gt; size_{B}(f)= n+n-1 = 2n-1 &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Поэтому &amp;lt;tex&amp;gt; size_{B}(f)\le 2n-1 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Приведем пример для &amp;lt;tex&amp;gt; f=\bar{x}_{1}\wedge x_{2}\wedge x_{3} \wedge \bar{x}_{4}&amp;lt;/tex&amp;gt; (рис. 1).&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id = Th1 &lt;br /&gt;
|about = 1&lt;br /&gt;
|statement = Для любой функции &amp;lt;tex&amp;gt; f(x_{1}, ..., x_{n}) &amp;lt;/tex&amp;gt; имеет место неравенство &amp;lt;tex&amp;gt; size_{B}(f)\le n2^{n+1} &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = [[Файл:Synschemes Theorem1.png|250px|thumb|right|Рис. 2]]&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; f(x_{1},...,x_{n}) &amp;lt;/tex&amp;gt; {{---}} произвольная [[Определение булевой функции|булева функция]].&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt; f = 0 &amp;lt;/tex&amp;gt;, то схема строится в соответствии с представлением &amp;lt;tex&amp;gt; 0=x_{1}\wedge\overline{x}_{1} &amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; size_{B}(0) \le 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt; f \ne 0 &amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; может быть задана [[ДНФ|дизъюнктивной нормальной формой]]&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; f(x_{1},...,x_{n}) = K_{1} \vee K_{2} \vee ... \vee K_{s} &amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt; s \le 2^{n} &amp;lt;/tex&amp;gt; и каждая конъюнкция имеет вид &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; K_{j}=x_{1}\wedge\overline{x}_{2}\wedge{x}_{3}\wedge ... \wedge{x}_{i} &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 &amp;lt;/tex&amp;gt; состоит из конъюнкций &amp;lt;tex&amp;gt; K_{j} &amp;lt;/tex&amp;gt; (каждая из них в соответствии с  [[#Lemma1|леммой 1]] имеет сложность не более &amp;lt;tex&amp;gt; 2n-1 &amp;lt;/tex&amp;gt;) и цепочки из &amp;lt;tex&amp;gt; s-1 &amp;lt;/tex&amp;gt; элемента дизъюнкции с &amp;lt;tex&amp;gt; s &amp;lt;/tex&amp;gt; свободными входами. Свободные входы этой цепочки присоединяются к выходам схем для конъюнкций &amp;lt;tex&amp;gt; K_{j} &amp;lt;/tex&amp;gt;.(рис. 2) Имеем&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(f)\le s\cdot(2n-1)+s-1 &amp;lt; s\cdot(2n-1)+s = 2ns \le n2^{n+1} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, для любой функции &amp;lt;tex&amp;gt; f(x_{1},...,x_{n}) &amp;lt;/tex&amp;gt; выполняется неравенство &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(f(x_{1},...,x_{n}))\le n2^{n+1} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поэтому &amp;lt;tex&amp;gt; size_{B}(f)\le n2^{n+1} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Метод синтеза, основанный на более компактной реализации множества всех конъюнкций==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
&lt;br /&gt;
|definition= &amp;lt;tex&amp;gt; f(n) \sim g(n) &amp;lt;/tex&amp;gt; означает, что &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; асимптотически эквивалентна &amp;lt;tex&amp;gt;g&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\lim\limits_{n \to \infty}\frac{f(n)}{g(n)} = 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition= &amp;lt;tex&amp;gt; f(n) \lesssim g(n) &amp;lt;/tex&amp;gt; означает, что &amp;lt;tex&amp;gt;\varlimsup\limits_{n \to \infty}\frac{f(n)}{g(n)} \le 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition= &lt;br /&gt;
Пусть есть булева функция от &amp;lt;tex&amp;gt; n &amp;lt;/tex&amp;gt; аргументов &amp;lt;tex&amp;gt; f : \lbrace0, 1\rbrace^n \rightarrow \lbrace0, 1\rbrace &amp;lt;/tex&amp;gt; и набор из &amp;lt;tex&amp;gt; n &amp;lt;/tex&amp;gt; булевых функций &amp;lt;tex&amp;gt; g_1 \dotsc g_n &amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt; g_i :\lbrace0, 1\rbrace^{m_i} \rightarrow \lbrace0, 1\rbrace &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; i=1,\dotsc, n&amp;lt;/tex&amp;gt;. Тогда системой булевых функций называется функция &amp;lt;tex&amp;gt; S &amp;lt;/tex&amp;gt; от всех аргументов функций &amp;lt;tex&amp;gt; g_i&amp;lt;/tex&amp;gt;, которая определяется как &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; S(x_{11},\dotsc,x_{1(m_1)},x_{21},\dotsc,x_{2(m_2)}&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;,\dotsc,x_{n1},\dotsc,x_{n(m_n)})&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;=f(g_1(x_{11},\dotsc,x_{1(m_1)}),g_2(x_{21},\dotsc,x_{2(m_2}),\dotsc,g_n(x_{n1},\dotsc,x_{n(m_n)}))&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''Примечание'''&lt;br /&gt;
&lt;br /&gt;
Введем функцию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; x^{\sigma} = \begin{cases} &lt;br /&gt;
    x, \sigma =1;\\&lt;br /&gt;
    \overline{x}, \sigma =0&lt;br /&gt;
\end{cases}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id = Lemma2&lt;br /&gt;
|about = 2&lt;br /&gt;
|statement = Пусть &amp;lt;tex&amp;gt; K_{n}(\lbrace x_{1}^{\sigma_{1}},\dotsc,x_{n}^{\sigma_{n}} \rbrace^{2^n}_{i=1}) &amp;lt;/tex&amp;gt; {{---}} система всех &amp;lt;tex&amp;gt; 2^{n} &amp;lt;/tex&amp;gt; конъюнкций &amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}&amp;lt;/tex&amp;gt;, где каждому &amp;lt;tex&amp;gt; i &amp;lt;/tex&amp;gt; соответствует свой набор &amp;lt;tex&amp;gt; \lbrace \sigma_{1},\dotsc,\sigma_{n} \rbrace &amp;lt;/tex&amp;gt;, тогда для &amp;lt;tex&amp;gt; K_{n} &amp;lt;/tex&amp;gt; имеет место соотношение &amp;lt;tex&amp;gt; size_{B}(K_{n}) \sim 2^n &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = [[Файл:Synschemes Lemma2.png|250px|thumb|right|Рис. 3]]&lt;br /&gt;
Конъюнкции &amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}&amp;lt;/tex&amp;gt; соответствуют функциям &amp;lt;tex&amp;gt; g &amp;lt;/tex&amp;gt; из определения функции,&amp;lt;tex&amp;gt; K_{n} &amp;lt;/tex&amp;gt; соответствует функции &amp;lt;tex&amp;gt; S &amp;lt;/tex&amp;gt;, а конъюнкция функций &amp;lt;tex&amp;gt; g &amp;lt;/tex&amp;gt; соответствует функции &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Заметим, что на вход схемы подается определенный набор аргументов &amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}},\dotsc,x_{n}^{\sigma_{n}} &amp;lt;/tex&amp;gt;, то есть на выходе схемы будет результат конъюнкции этих аргументов. &lt;br /&gt;
&lt;br /&gt;
Разделим цепочки конъюнкций на две части. Каждая конъюнкция &amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}} &amp;lt;/tex&amp;gt; может быть представлена в виде конъюнкции двух конъюнкций длины &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; n-k &amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; мы выберем позже):&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}} = (x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{k}^{\sigma_{k}})(x_{k+1}^{\sigma_{k+1}}\wedge\dotsc\wedge x_{n}^{\sigma_{n}}) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Поэтому схема для &amp;lt;tex&amp;gt; K_{n} &amp;lt;/tex&amp;gt; может быть образована из схем для &amp;lt;tex&amp;gt; K_{k}(x_{1}^{\sigma_{1}},\dotsc,x_{k}^{\sigma_{k}}) &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; K_{n-k}(x_{k+1}^{\sigma_{k+1}},\dotsc,x_{n}^{\sigma_{n}}) &amp;lt;/tex&amp;gt; и системы из &amp;lt;tex&amp;gt; 2^n &amp;lt;/tex&amp;gt; элементов конъюнкции, осуществляющих вышеприведенную операцию, как показано в [[#Th1|теореме 1]] (рис. 3). Левая часть схемы считает конъюнкцию переменных &amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}},\dotsc,x_{k}^{\sigma_{k}} &amp;lt;/tex&amp;gt;, а правая часть - переменных &amp;lt;tex&amp;gt; x_{k+1}^{\sigma_{k+1}},\dotsc,x_{n}^{\sigma_{n}}&amp;lt;/tex&amp;gt;. Следовательно,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(K_{n}) \le size_{B}(K_{k}) + size_{B}(K_{n-k}) + 2^n &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как по [[#Th1|теореме 1]]  &amp;lt;tex&amp;gt; size_{B}(K_{k}) \le k2^{k+1} &amp;lt;/tex&amp;gt; , &amp;lt;tex&amp;gt; size_{B}(K_{n-k}) \le (n-k)2^{n-k+1} &amp;lt;/tex&amp;gt;,то &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(K_{n}) \le k2^{k+1} + (n-k)2^{n-k+1} + 2^n &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt; k=[\frac{n}{2}]&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; k \le \frac{n}{2} &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; n-k \le \frac{n}{2}+1 &amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(K_{n}) \le \frac{n}{2}2^{\frac{n}{2}+1} + (\frac{n}{2}+1)2^{\frac{n}{2}+2} + 2^n =2^n+O(n2^{\frac{n}{2}})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
С другой стороны, при &amp;lt;tex&amp;gt; n \ge 2 &amp;lt;/tex&amp;gt; каждая конъюнкция реализуется на выходе некоторого элемента, то есть при &amp;lt;tex&amp;gt; n \ge 2 &amp;lt;/tex&amp;gt; выполняется неравенство &amp;lt;tex&amp;gt; size_{B}(K_{n}) \ge 2^{n} &amp;lt;/tex&amp;gt;. Таким образом,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(K_{n}) \sim 2^n &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id = Th2&lt;br /&gt;
|about = 2&lt;br /&gt;
|statement =Для любой функции &amp;lt;tex&amp;gt; f(x_{1}, ..., x_{n}) &amp;lt;/tex&amp;gt; имеет место соотношение &amp;lt;tex&amp;gt; size_{B}(f)\lesssim 2^{n+1} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
[[Файл:Synschemes_ NewTheorem2.png|400px|thumb|right|В верхней части схемы рис.2 все подсхемы, вычисляющие конъюнкции, заменили на &amp;lt;tex&amp;gt;K_n&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; f(x_{1},...,x_{n}) &amp;lt;/tex&amp;gt; {{---}} произвольная булева функция, &amp;lt;tex&amp;gt; f \ne 0 &amp;lt;/tex&amp;gt;. Заменим в схеме (рис. 2) верхнюю часть схемы, реализующую конъюнкции &amp;lt;tex&amp;gt; K_{1} \vee K_{2} \vee ... \vee K_{s} &amp;lt;/tex&amp;gt;, схемой, реализующей все конъюнкции из &amp;lt;tex&amp;gt; K_{n} &amp;lt;/tex&amp;gt;. Тогда для любой такой функции &amp;lt;tex&amp;gt; f(x_{1},...,x_{n}) &amp;lt;/tex&amp;gt; (не равной нулю) имеем&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(f) \le size_{B}(K_{n})+s-1 \le size_{B}(K_{n})+2^{n}-1 \lesssim 2^{n+1} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(f)\lesssim 2^{n+1}. &amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Метод синтеза схем [http://http://en.wikipedia.org/wiki/Claude_Shannon К.Э.Шеннона]==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id = Th3&lt;br /&gt;
|about = 3&lt;br /&gt;
|statement =Для любой функции &amp;lt;tex&amp;gt; f(x_{1}, ..., x_{n}) &amp;lt;/tex&amp;gt; имеет место соотношение &amp;lt;tex&amp;gt; size_{B}(f)\lesssim 12\frac {2^{n}}{n} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = [[Файл:Synschemes-Theorem2.png|300px|thumb|right|Рис. 4]]&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; f(x_{1},...,x_{n}) &amp;lt;/tex&amp;gt; {{---}} произвольная булева функция. Рассмотрим разложение &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; по переменным &amp;lt;tex&amp;gt; x_{1},...,x_{m} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; 1 \le m \le n &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;f(x_{1},...,x_{n})=\displaystyle\bigvee_{(\sigma_{1},\dotsc,\sigma_{m})}x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{m}^{\sigma_{m}}\wedge f(\sigma_{1},\dotsc,\sigma_{m},x_{m+1},\dotsc,x_{n})  &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Схема для функции &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; строится из трех подсхем: &amp;lt;tex&amp;gt; S_{1},S_{2},S_{3} &amp;lt;/tex&amp;gt;. (рис. 4)'''&lt;br /&gt;
&lt;br /&gt;
:1. Система &amp;lt;tex&amp;gt; K_{m} (x_{1}^{\sigma_{1}},\dotsc,x_{m}^{\sigma_{m}}) &amp;lt;/tex&amp;gt; содержит всевозможные конъюнкции &amp;lt;tex&amp;gt;x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{m}^{\sigma_{m}}&amp;lt;/tex&amp;gt;. И схема  &amp;lt;tex&amp;gt; S_{1} &amp;lt;/tex&amp;gt; реализует все эти конъюнкции. В силу [[#Lemma2|леммы 2]] выполняется неравенство&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(S_{1}) \le size_{B}(K_{m}) \lesssim 2^{m} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:2. Схема &amp;lt;tex&amp;gt; S_{2} &amp;lt;/tex&amp;gt; реализует систему &amp;lt;tex&amp;gt; F(x_{m+1}^{\sigma_{m+1}},...,x_{n}^{\sigma_{n}}) &amp;lt;/tex&amp;gt; всех булевых функций от всевозможных наборов переменных &amp;lt;tex&amp;gt; x_{m+1},...,x_{n} &amp;lt;/tex&amp;gt;. Другими словами, подсхема &amp;lt;tex&amp;gt; S_{2} &amp;lt;/tex&amp;gt; вычисляет все булевы функции, зависящие от последних &amp;lt;tex&amp;gt; n - m &amp;lt;/tex&amp;gt; переменных. В силу [[#Th1|теоремы 1]]&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(S_{2}) \le (n-m)2^{n-m+1}2^{2^{n-m}} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:3. Схема &amp;lt;tex&amp;gt; S_{3} &amp;lt;/tex&amp;gt; производит &amp;quot;сборку&amp;quot; в соответствии с разложением функции &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt;: для каждого набора &amp;lt;tex&amp;gt; \widetilde{\sigma}=(\sigma_{1},\dotsc,\sigma_{m}) &amp;lt;/tex&amp;gt; реализуется конъюнкция&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; x_{1}^{\sigma_{1}}\wedge\dotsc\wedge x_{m}^{\sigma_{m}}\wedge f(\widetilde{\sigma},x_{m+1},\dotsc, x_{n}) &amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; 2^{m} &amp;lt;/tex&amp;gt; элементов конъюнкции) и образуется дизъюнкция таких конъюнкций (&amp;lt;tex&amp;gt; 2^{m}-1 &amp;lt;/tex&amp;gt; элементов дизъюнкции). &lt;br /&gt;
&lt;br /&gt;
Поэтому выполняется неравенство &amp;lt;tex&amp;gt; size_{B}(S_{3}) \le 2^{m} +2^{m} -1 &amp;lt;/tex&amp;gt;. Таким образом,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(f) \le size_{B}(S_{1})+size_{B}(S_{2})+size_{B}(S_{3}) \lesssim 3 \cdot 2^{m} +(n-m)2^{n-m+1}2^{2^{n-m}} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Положим &amp;lt;tex&amp;gt; k=n-m &amp;lt;/tex&amp;gt;. Тогда &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt;  size_{B}(f) \lesssim 3 \cdot 2^{n-k} +k2^{k+1}2^{2^{k}} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Заметим, что второе слагаемое &amp;quot;очень быстро&amp;quot; растет с ростом &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;, а первое слагаемое убывает с ростом &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; медленней. Поэтому следует взять такое значение &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;, при котором первое и второе слагаемые приблизительно равны, и потом немного уменьшить &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;. Тогда второе слагаемое &amp;quot;сильно&amp;quot; уменьшится, а первое &amp;quot;не очень сильно&amp;quot; возрастет. Возьмем, например, &amp;lt;tex&amp;gt; k=\log_{2}n &amp;lt;/tex&amp;gt;. Тогда &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; 3 \cdot 2^{n-k} = 3 \cdot \frac{2^{n}}{n} &amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; k \cdot 2^{k+1} \cdot 2^{2^{k}}=\log_{2}n\cdot (2n)\cdot 2^{n}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
то есть получили &amp;quot;слишком много&amp;quot;. Возьмем &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; на единицу меньше: &amp;lt;tex&amp;gt; k=\log_{2}n-1 &amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; 3 \cdot 2^{n-k} = 3 \cdot \frac{2^{n}}{n} \cdot 2 &amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; k \cdot 2^{k+1} \cdot 2^{2^{k}}=(\log_{2}n-1)\cdot n\cdot 2^{\frac{n}{2}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Вспомним теперь, что &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; должно быть целым числом, и положим &amp;lt;tex&amp;gt; k=[\log_{2}n-1] &amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&amp;lt;tex&amp;gt; n-k &amp;lt; n- \log_{2} + 2&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; 3 \cdot 2^{n-k} &amp;lt; 12 \cdot \frac {2^{n}}{n} &amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; k\cdot 2^{k+1}\cdot 2^{2^{k}} \le (\log_{2}-1)\cdot n\cdot 2^{\frac{n}{2}} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При этом выборе &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; окончательно имеем &lt;br /&gt;
&lt;br /&gt;
::&amp;lt;tex&amp;gt; size_{B}(n)\lesssim 12\frac {2^{n}}{n} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* Яблонский С.В. Введение в дискретную математику. — 4-е изд. — М.: Высшая школа, 2003. — 384 с. — ISBN 5-06-004681-8&lt;br /&gt;
&lt;br /&gt;
[[Категория:Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Схемы из функциональных элементов ]]&lt;/div&gt;</summary>
		<author><name>195.88.14.200</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%94%D0%9D%D0%A4&amp;diff=44907</id>
		<title>Сокращённая и минимальная ДНФ</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%94%D0%9D%D0%A4&amp;diff=44907"/>
				<updated>2015-02-20T14:47:59Z</updated>
		
		<summary type="html">&lt;p&gt;195.88.14.200: /* Описание алгоритма */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;(x \land y)&amp;lt;/tex&amp;gt; содержится в  &amp;lt;tex&amp;gt;(x \land y \land z)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
Функцию можно записать с помощью сокращенной ДНФ не единственным способом.&lt;br /&gt;
&lt;br /&gt;
Запишем [[Определение булевой функции|функцию]] &amp;lt;tex&amp;gt;\left&amp;lt;x, y, z\right&amp;gt; &amp;lt;/tex&amp;gt; (медиана) в виде [[СДНФ|совершенной ДНФ]]:&lt;br /&gt;
&amp;lt;tex&amp;gt;(x \land y \land z) \lor (x \land y \land \lnot z) \lor (x \land \lnot y \land z) \lor (\neg x \land y \land z)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Известно, что это выражение равносильно следующему:&lt;br /&gt;
&amp;lt;tex&amp;gt;((x \land y \land z) \lor (x \land y \land \lnot z)) \lor ((x \land \lnot y \land z) \lor (x \land y \land z)) \lor ((\neg x \land y \land z) \lor (x \land y \land z))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Вынесем в каждой скобке общий конъюнкт (например, в первой &amp;lt;tex&amp;gt;(x \land y \land z) \lor (x \land y \land \lnot z)=(x \land y) \lor (z \land \lnot z)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;z \land \lnot z = 0&amp;lt;/tex&amp;gt;, то такой конъюнкт не влияет на значение выражения, и его можно опустить.&lt;br /&gt;
Получим в итоге формулу &amp;lt;tex&amp;gt;(x \land y) \lor (y \land z) \lor (x \land z)&amp;lt;/tex&amp;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;(x \land y) \lor (y \land z) \lor (x \land z)&amp;lt;/tex&amp;gt; является минимальной ДНФ для медианы (она же сокращенная, как видно в примере выше); а запись &amp;lt;tex&amp;gt;(x \land y \land \lnot z) \lor (\neg x \land y \land z) \lor (x \land z)&amp;lt;/tex&amp;gt; {{---}} не минимальная, но сокращенная ДНФ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Минимизация ДНФ ==&lt;br /&gt;
Рассмотрим несколько способов минимизации дизъюнктивных нормальных форм:&lt;br /&gt;
&lt;br /&gt;
=== Визуализация гиперкубами ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Гиперкуб.PNG||right]]&lt;br /&gt;
Этот способ работает при количестве переменных не больше трёх (в противном необходимо вводить четвёртое или следующие за ним измерения для представления фигур).&lt;br /&gt;
Сначала мы рисуем куб в системе отсчёта &amp;lt;tex&amp;gt;Oxyz&amp;lt;/tex&amp;gt; (названия координатных осей соответствуют названиям переменных). Затем каждую вершину обрабатываем следующим образом:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
 |'''Описание алгоритма'''&lt;br /&gt;
 |'''Пример'''&lt;br /&gt;
 |-&lt;br /&gt;
 |Если у нас конъюнкт, переменные в котором равны соответствующим координатам вершины, то в эту вершину мы помещаем закрашенный чёрным кружок.&lt;br /&gt;
 |Вершине с координатами &amp;lt;tex&amp;gt;(0,1,1) &amp;lt;/tex&amp;gt;соответствует конъюнкт &amp;lt;tex&amp;gt;(\neg X \wedge Y \wedge Z)&amp;lt;/tex&amp;gt;, он равен единице при &amp;lt;tex&amp;gt;X=0, Y=1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Z=1&amp;lt;/tex&amp;gt;)&lt;br /&gt;
 |-&lt;br /&gt;
 |В противном случае мы помещаем в вершину закрашенный белый кружок.&lt;br /&gt;
&lt;br /&gt;
 |Для такой ДНФ: &amp;lt;tex&amp;gt;(X \wedge \neg Y \wedge Z)\vee&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; (X \wedge Y \wedge Z) \vee &amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt; (\neg X \wedge Y \wedge Z) \vee&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt; (\neg X \wedge Y \wedge \neg Z) \vee &amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;( X \wedge Y \wedge \neg Z)&amp;lt;/tex&amp;gt; мы получим следующий гиперкуб (см. рисунок)&lt;br /&gt;
 |-&lt;br /&gt;
 |Далее обработка гиперкуба идёт следующим образом:&lt;br /&gt;
пока у нас есть незакрашенные вершины, мы выбираем грань, либо вершину, либо ребро, на которых больше всего закрашенных чёрным вершин и ещё не обработанных вершин.&lt;br /&gt;
 |-&lt;br /&gt;
 |Если в данном гиперкубе есть грань, все вершины на которой закрашены чёрным, то мы можем записать её в качестве конъюнкта, где будет только переменная с неизменяющейся соответствующей ей координатой.&lt;br /&gt;
 |Грань, на которой лежат закрашенные вершины &amp;lt;tex&amp;gt;(0,1,1), (0,1,0), (1,1,0)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(1,1,1)&amp;lt;/tex&amp;gt; мы можем записать как конъюнкт &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 |Теперь мы смотрим, остались ли на рёбрах куба закрашенные и не отмеченные нами в ДНФ вершины. Если — да, то рёбра с такими вершинами мы можем записать в качестве конъюнкта, где будут только переменные с неизменяющимися соответствующим им координатами&lt;br /&gt;
 |Ребро, соединяющее закрашенные вершины (&amp;lt;tex&amp;gt;(0,1,1)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;(1,1,1)&amp;lt;/tex&amp;gt; мы можем записать как конъюнкт &amp;lt;tex&amp;gt;(Y \wedge Z)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 |-&lt;br /&gt;
 |И если после такой обработки у нас остались свободные вершины, мы просто переписываем координаты каждой такой вершины в отдельный конъюнкт, равный &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
 |Вершину &amp;lt;tex&amp;gt;(1,0,1)&amp;lt;/tex&amp;gt; мы бы переписали как конъюнкт &amp;lt;tex&amp;gt;(X \wedge \neg Y \wedge Z)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
В итоге нашу изначальную ДНФ можно записать как &amp;lt;tex&amp;gt;(Y) \vee (X \wedge Z)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Карты Карно ===&lt;br /&gt;
&lt;br /&gt;
Построим следующую таблицу &amp;lt;tex&amp;gt;n \times n&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} количество переменных:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 !&amp;lt;tex&amp;gt; w &amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; w &amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 !&amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
Теперь для каждого конъюнкта мы помечаем соответствующую ему ячейку таблицы. &lt;br /&gt;
&lt;br /&gt;
Например, ДНФ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;(\neg X \wedge Y \wedge Z \wedge W) \vee (\neg X \wedge Y \wedge \neg Z \wedge W) \vee (\neg X \wedge Y \wedge \neg Z \wedge \neg W) \vee (\neg X \wedge Y \wedge Z \wedge \neg W) \vee (X \wedge \neg Y \wedge Z \wedge W) \vee (X \wedge \neg Y \wedge \neg Z \wedge W) \vee (\neg X \wedge \neg Y \wedge \neg Z \wedge \neg W)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
будет выглядеть на картах Карно так:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 !&amp;lt;tex&amp;gt; w &amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; w &amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 !&amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Теперь покрываем прямоугольниками (длины сторон которых {{---}} степени двойки (1, 2, 4)) те ячейки карт Карно, которые содержат в себе единицу (на каждом ходу мы выбираем такой прямоугольник, чтобы он покрывал наибольшее количество ещё не покрытых клеток) до тех пор, пока не покроем все такие ячейки.&lt;br /&gt;
&lt;br /&gt;
Для карт Карно на примере это выглядело бы так:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 !&amp;lt;tex&amp;gt; w &amp;lt;/tex&amp;gt; &lt;br /&gt;
 !&amp;lt;tex&amp;gt; w &amp;lt;/tex&amp;gt; &lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 !&amp;lt;tex&amp;gt; z &amp;lt;/tex&amp;gt; &lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; z &amp;lt;/tex&amp;gt; &lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; &lt;br /&gt;
 !&amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; &lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |style=&amp;quot;background:#F4A460&amp;quot;|1&lt;br /&gt;
 |style=&amp;quot;background:#F4A460&amp;quot;|1&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |style=&amp;quot;background:#F4A460&amp;quot;|1&lt;br /&gt;
 |style=&amp;quot;background:#B4D19A&amp;quot;|1&lt;br /&gt;
 |style=&amp;quot;background:#7FFFD4&amp;quot;|1&lt;br /&gt;
 |-&lt;br /&gt;
 !&amp;lt;tex&amp;gt; \neg y&amp;lt;/tex&amp;gt;&lt;br /&gt;
 !&amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |style=&amp;quot;background:#7FFFD4&amp;quot;|1&lt;br /&gt;
 |style=&amp;quot;background:#7FFFD4&amp;quot;|1&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
После этого записываем каждый прямоугольник в виде конъюнкта, в котором будут указаны только те переменные, которые одинаковы для всех ячеек этого прямоугольника.&lt;br /&gt;
&lt;br /&gt;
То есть, в этом примере получаем:&amp;amp;nbsp;&amp;lt;tex&amp;gt;(\neg Z \wedge \neg X) \vee (\neg W \wedge \neg Y)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Метод Квайна===&lt;br /&gt;
Этот метод основан на применении двух основных операций:&lt;br /&gt;
*Операция попарного неполного склеивания:&lt;br /&gt;
:&amp;lt;tex&amp;gt;A x \lor A \neg x = A x \lor A \neg x \lor A&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Операция элементарного поглощения&lt;br /&gt;
:&amp;lt;tex&amp;gt;A \tilde x \lor A = A &amp;lt;/tex&amp;gt;&lt;br /&gt;
:(где A {{---}} любое элементарное произведение, то есть конъюнкт, в который каждая из переменных входит не более одного раза)&lt;br /&gt;
Метод состоит в последовательном выполнении всех возможных склеиваний и затем всех поглощений частей СДНФ пока это может быть осуществимо.&lt;br /&gt;
====Описание алгоритма====&lt;br /&gt;
*Исходным является множество пар вида &amp;lt;tex&amp;gt;Ax&amp;lt;/tex&amp;gt; или  &amp;lt;tex&amp;gt;A \neg x&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Выполняются все возможные операции неполного попарного склеивания для элементарных конъюнкций длины n (где n {{---}} количество аргументов).&lt;br /&gt;
*Выполняются все возможные операции элементарного поглощения для элементарных конъюнкций длины n-1 (общая часть &amp;quot;p&amp;quot; имеет длину n-1)&lt;br /&gt;
*В результате получилось множество элементарных конъюнкций, разделяемых на два подмножества (по длине):&lt;br /&gt;
**подмножество элементарных конъюнкций длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; (оставшиеся)&lt;br /&gt;
**подмножество элементарных конъюнкций длины &amp;lt;tex&amp;gt;n-1&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если множество элементарных конъюнкций длины &amp;lt;tex&amp;gt;n-1&amp;lt;/tex&amp;gt; не пусто, то заново выполняются операции неполного попарного склеивания и элементарного поглощения для конъюнкций длины &amp;lt;tex&amp;gt;n-1&amp;lt;/tex&amp;gt; и так далее.&lt;br /&gt;
Алгоритм завершается, когда подмножество является пустым, либо нельзя выполнить ни одной операции неполного попарного склеивания.&lt;br /&gt;
После выполнения этого алгоритма будет получена сокращенная (но еще не минимальная) форма.&lt;br /&gt;
&lt;br /&gt;
Переход от сокращённой формы к минимальной осуществляется с помощью специальной таблицы.&lt;br /&gt;
Члены СДНФ заданной функции вписываются в столбцы, а в строки — члены сокращённой формы. Отмечаются столбцы членов СДНФ, которые поглощаются отдельными элементами сокращённой формы.&lt;br /&gt;
&lt;br /&gt;
Члены сокращённой формы, не подлежащие исключению, образуют ядро. Такие члены определяются по вышеуказанной матрице. Для каждой из них имеется хотя бы один столбец, перекрываемый только этим членом.&lt;br /&gt;
&lt;br /&gt;
Для получения минимальной формы достаточно выбрать из членов сокращённой формы, не входящих в ядро, такое минимальное их число с минимальным количеством букв в каждом из этих членов, которое обеспечит перекрытие всех столбцов, не перекрытых членами ядра.&lt;br /&gt;
&lt;br /&gt;
====Пример====&lt;br /&gt;
&lt;br /&gt;
Функция от четырёх аргументов задана следующей таблицей:&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Набор &amp;lt;tex&amp;gt;xyzw&amp;lt;/tex&amp;gt;&lt;br /&gt;
|0000&lt;br /&gt;
|0001&lt;br /&gt;
|0010&lt;br /&gt;
|0011&lt;br /&gt;
|0100&lt;br /&gt;
|0101&lt;br /&gt;
|0110&lt;br /&gt;
|0111&lt;br /&gt;
|1000&lt;br /&gt;
|1001&lt;br /&gt;
|1010&lt;br /&gt;
|1011&lt;br /&gt;
|1100&lt;br /&gt;
|1101&lt;br /&gt;
|1110&lt;br /&gt;
|1111&lt;br /&gt;
|-&lt;br /&gt;
|Значение исходной функции&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Проведём операции неполного склеивания и поглощения:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|№&lt;br /&gt;
|Элементарная конъюнкция&lt;br /&gt;
|Поглощение&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x\neg y\neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg xy\neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&amp;lt;tex&amp;gt;x\neg yz\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&amp;lt;tex&amp;gt;x\neg y zw&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy\neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy\neg zw&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyz\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyzw&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|№№ склеивания&lt;br /&gt;
|Результат&lt;br /&gt;
|-&lt;br /&gt;
| 1 - 2&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x \neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2 - 5&lt;br /&gt;
|&amp;lt;tex&amp;gt;y \neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 3 - 4&lt;br /&gt;
|&amp;lt;tex&amp;gt;x \neg yz&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 3 - 7&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x \neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4 - 8&lt;br /&gt;
|&amp;lt;tex&amp;gt; xzw&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5 - 6&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy\neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5 - 7&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6 - 8&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyw&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 7 - 8&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyz&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
На данном шаге все элементы вида &amp;lt;tex&amp;gt;Ax&amp;lt;/tex&amp;gt; или  &amp;lt;tex&amp;gt;A \neg x&amp;lt;/tex&amp;gt; участвовали в операциях попарного неполного склеивания и были поглощены своими собственными частями. Поэтому элементы сокращённой ДНФ на этом шаге не получены.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|№&lt;br /&gt;
|Элементарная конъюнкция&lt;br /&gt;
|Поглощение&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x \neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|&amp;lt;tex&amp;gt;y \neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
|&amp;lt;tex&amp;gt;x \neg yz&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x \neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
|&amp;lt;tex&amp;gt; xzw&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy\neg z&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyw&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyz&amp;lt;/tex&amp;gt;&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|№№ склеивания&lt;br /&gt;
|Результат&lt;br /&gt;
|-&lt;br /&gt;
| 3 - 9&lt;br /&gt;
|&amp;lt;tex&amp;gt;xz&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4 - 5&lt;br /&gt;
|&amp;lt;tex&amp;gt;xz&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 6 - 9&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 7 - 8&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
На данном этапе получаем элементы сокращённой ДНФ &amp;lt;tex&amp;gt;\neg x \land \neg z \land \neg w&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;y \land \neg z \land \neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|№&lt;br /&gt;
|Элементарная конъюнкция&lt;br /&gt;
|Поглощение&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|&amp;lt;tex&amp;gt;xz&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Обе элементарные конъюнкции на данном шаге являются элементами сокращённой ДНФ.&lt;br /&gt;
&lt;br /&gt;
В результате выполнения алгоритма мы получаем следующую сокращённую ДНФ: &amp;lt;tex&amp;gt;(\neg x \land \neg z \land \neg w) \lor (y \land \neg z \land \neg w) \lor (x \land z) \lor (x \land y) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переход от сокращённой формы к минимальной:&lt;br /&gt;
&lt;br /&gt;
*Единицы ДНФ, покрываемые элементами &amp;lt;tex&amp;gt;Ax&amp;lt;/tex&amp;gt; или  &amp;lt;tex&amp;gt;A \neg x&amp;lt;/tex&amp;gt; обозначаются &amp;quot;+&amp;quot;. Пары &amp;lt;tex&amp;gt;Ax&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;A \neg x&amp;lt;/tex&amp;gt;, попадающие в ядро помечаются &amp;quot;*&amp;quot;.&lt;br /&gt;
*Единицы функции, которые покрываются только каким-то одним конъюнктом из системы элементов сокращённой ДНФ, помечаются “&amp;gt;”.&lt;br /&gt;
*Единицы функции, покрываемые ядром, но не покрываемые только каким-то одним конъюнктом из системы элементов сокращённой ДНФ помечаются “&amp;gt;&amp;gt;”.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x\neg y\neg z\neg w&amp;lt;/tex&amp;gt; &amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x y\neg z\neg w&amp;lt;/tex&amp;gt; &amp;gt;&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;x\neg yz\neg w&amp;lt;/tex&amp;gt; &amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;x\neg yzw&amp;lt;/tex&amp;gt; &amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy\neg z\neg w&amp;lt;/tex&amp;gt; &amp;gt;&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy\neg zw&amp;lt;/tex&amp;gt; &amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyz\neg w&amp;lt;/tex&amp;gt; &amp;gt;&amp;gt;&lt;br /&gt;
|&amp;lt;tex&amp;gt;xyzw&amp;lt;/tex&amp;gt; &amp;gt;&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tex&amp;gt;\neg x\neg z\neg w&amp;lt;/tex&amp;gt;*&lt;br /&gt;
|style=&amp;quot;background:#F4A460&amp;quot;| +&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tex&amp;gt;y\neg z\neg w&amp;lt;/tex&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| +&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tex&amp;gt;xz&amp;lt;/tex&amp;gt;*&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|style=&amp;quot;background:#F4A460&amp;quot;| +&lt;br /&gt;
|style=&amp;quot;background:#F4A460&amp;quot;| +&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| +&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;*&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| +&lt;br /&gt;
|style=&amp;quot;background:#F4A460&amp;quot;| +&lt;br /&gt;
| +&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
На основе этой таблицы получим ядро &amp;lt;tex&amp;gt;(\neg x \land \neg z \land \neg w) \lor (x \land z) \lor (x \land y) &amp;lt;/tex&amp;gt;, которое является также и минимальной ДНФ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BC_%D0%9A%D1%83%D0%B0%D0%B9%D0%BD%D0%B0 Минимизация логических функций методом Куайна — Википедия]&lt;br /&gt;
*[http://matrixcalc.org/pf1.html Метод Квайна]&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D1%82%D0%B0_%D0%9A%D0%B0%D1%80%D0%BD%D0%BE Карта Карно — Википедия]&lt;br /&gt;
*[http://vuz.exponenta.ru/PDF/book/kv.html Минимизация булевых функций в классе ДНФ]&lt;br /&gt;
*[http://tablica-istinnosti.ru/minimizatsiya-dnf-metodom-kvayna.html Минимизация ДНФ методом Квайна]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Дискретная математика и алгоритмы]]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Комбинаторика ]]&lt;/div&gt;</summary>
		<author><name>195.88.14.200</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%94%D0%9D%D0%A4&amp;diff=44906</id>
		<title>Обсуждение:Сокращённая и минимальная ДНФ</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%94%D0%9D%D0%A4&amp;diff=44906"/>
				<updated>2015-02-20T14:18:31Z</updated>
		
		<summary type="html">&lt;p&gt;195.88.14.200: /* Карты Карно */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{tick | ticked = 1}} Сделать из страницы [[Минимизация ДНФ с помощью покрытий гиперкуба и карт Карно]] страницу перенаправления.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Так, чтобы она переходила на соответствующий раздел&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Требования - Викификация - 9 пункт.&lt;br /&gt;
&lt;br /&gt;
=== Определение Минимальной ДНФ ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Требования - Викификация - 5 пункт.&lt;br /&gt;
&lt;br /&gt;
=== Визуализация гиперкубами ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Oxyz&amp;quot;, &amp;quot;X=0, Y=1 и Z=1&amp;quot; - в TeX, но тогда нужно все &amp;quot;(0,1,1)&amp;quot; в TeX занести, и даже единицу в &amp;quot; отдельный конъюнкт, равный 1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Пример в методе &amp;quot;Визуализация гиперкубами&amp;quot; {{---}} хороший, но комментарии, относящиеся к примеру, нужно отделить не только скобками. Нужно что-то вроде разделения на два столбца {{---}} слева алгоритм, справа то, что происходит с примером.&lt;br /&gt;
&lt;br /&gt;
=== Карты Карно ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Ненумерованный список: у него есть два последних пункта, но нет остальных. Наверное, он здесь не нужен.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} комментарии, относящиеся к примеру, нужно отделить от описания метода.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} &amp;lt;s&amp;gt;&amp;quot;n*n&amp;quot; , &amp;quot;n&amp;quot; в TeX Требования - TeX - 3 пункт&amp;lt;/s&amp;gt; когда обозначают размер матрицы или пространства, используют &amp;lt;tex&amp;gt;\times&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tick}} проверить пример (не соотвествует СДНФ), подробнее расписать алгоритм (сворачивание карты в трубку), если взять последний пример отсюда: http://matrixcalc.org/pf2.html, восстановить таблицу истинности и составить карту Карно с нумерацией переменных в порядке как сейчас (yx\wz), то получится очень показательная карта - квадрат 2х2 будет покрывать углы.&lt;br /&gt;
&lt;br /&gt;
=== Метод Квайна ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} операция или соотношение {{---}} не путайте читателя.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Сокращать слова не нужно.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} &amp;quot;то выполняются шаги со второго&amp;quot;, а список ненумерованный {{---}} исправить&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Примеру не хватает заголовка.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Пример непонятен: описывается какая-то функция от четырех аргументов, но не понятно, где в примере, скажем, &amp;quot;множество пар вида &amp;lt;tex&amp;gt;Ax&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;A \neg x&amp;lt;/tex&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Нужно показать, какую ДНФ мы минимизируем&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Все n, n-1 в TeX&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Что такое &amp;quot;импликанты&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Придумать новое описание пар вида &amp;lt;tex&amp;gt;Ax, A \neg x&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>195.88.14.200</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%94%D0%9D%D0%A4&amp;diff=44905</id>
		<title>Обсуждение:Сокращённая и минимальная ДНФ</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%94%D0%9D%D0%A4&amp;diff=44905"/>
				<updated>2015-02-20T14:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;195.88.14.200: /* Карты Карно */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{tick | ticked = 1}} Сделать из страницы [[Минимизация ДНФ с помощью покрытий гиперкуба и карт Карно]] страницу перенаправления.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Так, чтобы она переходила на соответствующий раздел&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Требования - Викификация - 9 пункт.&lt;br /&gt;
&lt;br /&gt;
=== Определение Минимальной ДНФ ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Требования - Викификация - 5 пункт.&lt;br /&gt;
&lt;br /&gt;
=== Визуализация гиперкубами ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Oxyz&amp;quot;, &amp;quot;X=0, Y=1 и Z=1&amp;quot; - в TeX, но тогда нужно все &amp;quot;(0,1,1)&amp;quot; в TeX занести, и даже единицу в &amp;quot; отдельный конъюнкт, равный 1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Пример в методе &amp;quot;Визуализация гиперкубами&amp;quot; {{---}} хороший, но комментарии, относящиеся к примеру, нужно отделить не только скобками. Нужно что-то вроде разделения на два столбца {{---}} слева алгоритм, справа то, что происходит с примером.&lt;br /&gt;
&lt;br /&gt;
=== Карты Карно ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Ненумерованный список: у него есть два последних пункта, но нет остальных. Наверное, он здесь не нужен.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} комментарии, относящиеся к примеру, нужно отделить от описания метода.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} &amp;lt;s&amp;gt;&amp;quot;n*n&amp;quot; , &amp;quot;n&amp;quot; в TeX Требования - TeX - 3 пункт&amp;lt;/s&amp;gt; когда обозначают размер матрицы или пространства, используют &amp;lt;tex&amp;gt;\times&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 0}} проверить пример (не соотвествует СДНФ), подробнее расписать алгоритм (сворачивание карты в трубку), если взять последний пример отсюда: http://matrixcalc.org/pf2.html, восстановить таблицу истинности и составить карту Карно с нумерацией переменных в порядке как сейчас (yx\wz), то получится очень показательная карта - квадрат 2х2 будет покрывать углы.&lt;br /&gt;
&lt;br /&gt;
=== Метод Квайна ===&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} операция или соотношение {{---}} не путайте читателя.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Сокращать слова не нужно.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} &amp;quot;то выполняются шаги со второго&amp;quot;, а список ненумерованный {{---}} исправить&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Примеру не хватает заголовка.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Пример непонятен: описывается какая-то функция от четырех аргументов, но не понятно, где в примере, скажем, &amp;quot;множество пар вида &amp;lt;tex&amp;gt;Ax&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;A \neg x&amp;lt;/tex&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Нужно показать, какую ДНФ мы минимизируем&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Все n, n-1 в TeX&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Что такое &amp;quot;импликанты&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
{{tick | ticked = 1}} Придумать новое описание пар вида &amp;lt;tex&amp;gt;Ax, A \neg x&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>195.88.14.200</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%BD%D0%B4%D1%83%D0%BA%D1%86%D0%B8%D1%8F&amp;diff=44864</id>
		<title>Математическая индукция</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%BD%D0%B4%D1%83%D0%BA%D1%86%D0%B8%D1%8F&amp;diff=44864"/>
				<updated>2015-02-14T10:00:26Z</updated>
		
		<summary type="html">&lt;p&gt;195.88.14.200: /* Определение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Математический анализ 1 курс]]&lt;br /&gt;
== Определение ==&lt;br /&gt;
Математическая индукция {{---}} способ рассуждения, применяемый, в частности, в [[Математический анализ 1 курс|математическом анализе]], заключающийся в следующем:&lt;br /&gt;
&lt;br /&gt;
Пусть имеется последовательность свойств &amp;lt;tex&amp;gt; P_1, P_2 \dots P_n \dots &amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt; P_1 &amp;lt;/tex&amp;gt; {{---}} истина&lt;br /&gt;
# &amp;lt;tex&amp;gt; P_k \Rightarrow P_{k+1} &amp;lt;/tex&amp;gt; {{---}} шаг индукции&lt;br /&gt;
# Тогда все &amp;lt;tex&amp;gt; P_n &amp;lt;/tex&amp;gt; {{---}} истинны&lt;br /&gt;
&lt;br /&gt;
== Примеры использования ==&lt;br /&gt;
&lt;br /&gt;
=== Неравенство Бернулли ===&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|about = &lt;br /&gt;
неравенство Бернулли&lt;br /&gt;
|statement =  &lt;br /&gt;
&amp;lt;tex&amp;gt; \forall n \in N; \forall x &amp;gt; -1 : {(1 + x)}^n \ge 1 + nx &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = &amp;lt;br /&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt; n = 1: 1 + x \ge 1 + x &amp;lt;/tex&amp;gt; {{---}} верно&lt;br /&gt;
# &amp;lt;tex&amp;gt; {(1 + x)}^{n + 1} = {(1 + x)}^n (1 + x) \ge (1 + nx) (1 + x) = &amp;lt;/tex&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tex&amp;gt; = 1 + x + nx + nx^2 = 1 + (n + 1)x + nx^2&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt; nx^2 \ge 0 &amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; {(1 + x)}^{n + 1} \ge 1 + (n + 1)x &amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Конечный бином Ньютона ===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сформировать следующее утверждение, определим систему чисел, называемую биномиальными коэффициентами: &amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt; 0! = 1 \\ n! = n(n-1)! = n (n-1) (n-2) \dots 1 &amp;lt;/tex&amp;gt;&lt;br /&gt;
:&amp;lt;tex dpi = &amp;quot;150&amp;quot;&amp;gt; m \le n: C_n^m = \frac {n!} {(n-m)!m!} \\ \\&lt;br /&gt;
C_{n+1}^m = C_n^m + C_n^{m-1} = \\ = C_n^m + C_n^{m-1} = \frac {n!} {(n-m)!m!} + \frac {n!} {(n-m+1)!(m-1)!} = \\&lt;br /&gt;
 = \frac {n!((n - m + 1) + m)} {m!((n+1) - m)!} = \frac {n!(n+1)} {((n+1)-m)!m!} = C_{n+1}^m &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|about = &lt;br /&gt;
конечный бином Ньютона&lt;br /&gt;
|statement =  &lt;br /&gt;
&amp;lt;tex&amp;gt;a, b \in R; n \in N : {(a + b)}^n = \sum_{k=0}^n C_n^k a^k b^{n - k} &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof = &amp;lt;br /&amp;gt;&lt;br /&gt;
# Для n = 1 {{---}} очевидно&lt;br /&gt;
# &amp;lt;tex&amp;gt; {(a + b)}^{n + 1} = a{(a + b)}^n + b{(a + b)}^n = &amp;lt;/tex&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;tex&amp;gt; = \sum\limits_{k = 0}^n C_n^k a^{k + 1} b^{n - k} + \sum\limits_{k = 0}^n C_n^k a^k b^{n - k + 1} = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tex&amp;gt; = \sum\limits_{j = 1}^{n + 1} C_n^{j - 1} a^j b^{n - j + 1} + \sum\limits_{i = 0}^n C_n^i a^i b^{n - i + 1} = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tex&amp;gt; = C_n^n a^{n + 1} b^0 + \sum\limits_{j = 1}^n C_n^{j - 1} a^j b^{n - j + 1} + C_n^0 a^0 b^{n+1} + \sum\limits_{i = 1}^n C_n^i a^i b^{n - i + 1} = &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tex&amp;gt; = 1 (a^{n + 1} + b^{n + 1}) + \sum\limits_{j = 1}^n (C_n^{j - 1} + C_n^j) a^j b^{n - j + 1}&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:Так как &amp;lt;tex&amp;gt;1 = C_{n + 1}^{n + 1} = C_{n + 1}^0 &amp;lt;/tex&amp;gt; , то &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tex&amp;gt; = C_{n + 1}^{n + 1} a^{n + 1} b^0 + C_{n + 1}^0 a^0 b^{n + 1} + \sum\limits_{j = 1}^n C_{n + 1}^j a^j b^{n - j + 1}&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:Занесем первые два слагаемых под знак суммы и получим:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tex&amp;gt; = \sum\limits_{j = 0}^{n + 1} C_{n + 1}^j a^j b^{n + 1 - j}&amp;lt;/tex&amp;gt; , что есть разложение для &amp;lt;tex&amp;gt; {(a + b)}^{n + 1} &amp;lt;/tex&amp;gt; &lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>195.88.14.200</name></author>	</entry>

	</feed>