<?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=Mikhailpinsky</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=Mikhailpinsky"/>
		<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/Mikhailpinsky"/>
		<updated>2026-06-11T18:08:16Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_IP&amp;diff=1009</id>
		<title>Класс IP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_IP&amp;diff=1009"/>
				<updated>2010-05-05T13:47:41Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Определение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Классом &amp;lt;tex&amp;gt;IP[f(n)]&amp;lt;/tex&amp;gt; (IP = interactive proof) называется множество языков, распознаваемых с помощью интрактивного протокола доказательства. Интрерактивный протокол доказательства - алгоритм, описывающий процесс передачи информации между двумя вычислительными машинами: &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; - prover и &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; - verifier. &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; пытается доказать, что данная строка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; принадлежит языку. &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; - [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]],&lt;br /&gt;
работающая за полином и проверяющая информацию от &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; не видит вероятностную ленту &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;). &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; хочет допустить слово тогда, и только тогда, когда оно принадлежит языку. При этом:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;x \in L =&amp;gt; P(V^{P}(x)=1)\ge \frac{2}{3} \ &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;x \notin L =&amp;gt; P(V^{Q}(x)=1)\le \frac{1}{3} \ \forall Q &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
3) количество обращений к &amp;lt;tex&amp;gt;P \le f(n) &amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D1%81%D1%82%D0%B0%D1%80%D0%B0%D1%8F_%D1%82%D1%80%D0%B5%D1%88%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F)&amp;diff=1008</id>
		<title>Теория сложности (старая трешовая версия)</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D1%81%D1%82%D0%B0%D1%80%D0%B0%D1%8F_%D1%82%D1%80%D0%B5%D1%88%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F)&amp;diff=1008"/>
				<updated>2010-05-05T13:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Лекция 9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лекция 1 ==&lt;br /&gt;
*[[Класс DSPACE]]&lt;br /&gt;
*[[Класс DTIME]]&lt;br /&gt;
*[[Теорема о емкостной иерархии]]&lt;br /&gt;
*[[Теорема о временной иерархии]]&lt;br /&gt;
*[[Сведение по Карпу]]&lt;br /&gt;
*[[Сведение по Куку]]&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Класс NP]]&lt;br /&gt;
*[[Класс coNP]]&lt;br /&gt;
&lt;br /&gt;
== Практика 1 ==&lt;br /&gt;
*[[Сведение по Куку задачи факторизации к языку из NP]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 2 ==&lt;br /&gt;
*[[Теорема Кука]]&lt;br /&gt;
&lt;br /&gt;
== Практика 2 ==&lt;br /&gt;
*[[Понятие NP-трудной и NP-полной задачи]]&lt;br /&gt;
*[[NP-полнота задачи BH1N]]&lt;br /&gt;
*[[NP-полнота задачи о выполнимости булевой формулы в форме КНФ]]&lt;br /&gt;
*[[NP-полнота задачи о выполнимости булевой формулы в форме 3-КНФ]]&lt;br /&gt;
*[[NP-полнота задачи о клике]]&lt;br /&gt;
*[[NP-полнота задачи о независимом множестве]]&lt;br /&gt;
*[[NP-полнота задачи о вершинном покрытии]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 3 ==&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бейкера-Гилла-Соловэя]]&lt;br /&gt;
&lt;br /&gt;
== Практика 3 ==&lt;br /&gt;
*[[NP-полнота задач о гамильтоновом цикле и пути в графах]]&lt;br /&gt;
*[[NP-полнота задачи о сумме подмножества]]&lt;br /&gt;
*[[NP-полнота задачи о рюкзаке]]&lt;br /&gt;
&lt;br /&gt;
== Практика, которой на самом деле не было ==&lt;br /&gt;
*[[NP-полнота задачи о раскраске графа]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 4 ==&lt;br /&gt;
*[[Класс PS]]&lt;br /&gt;
*[[Теорема Сэвича]]&lt;br /&gt;
*[[PS-полнота задачи Generalized geography]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 6 ==&lt;br /&gt;
*Классы [[L]], [[NL]], [[NL-полнота|NLC]]&lt;br /&gt;
*[[NL-полнота задачи о достижимости в графе]]&lt;br /&gt;
*[[Классы EXP, NEXP. Полнота языков EXP и NEXP]]&lt;br /&gt;
*[[Теорема о связи вопросов EXP=NEXP и P=NP]]&lt;br /&gt;
*[[Теорема Иммермана]]&lt;br /&gt;
&lt;br /&gt;
== Практика 6 ==&lt;br /&gt;
*[[Классы Sigma_i и Pi_i]]&lt;br /&gt;
*[[Класс PH]]&lt;br /&gt;
*[[Полиномиальная иерархия]]&lt;br /&gt;
*[[Теоремы о коллапсе полиномиальной иерархии]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 7 ==&lt;br /&gt;
*[[Теорема Карпа-Липтона]]&lt;br /&gt;
&lt;br /&gt;
== Практика 7 ==&lt;br /&gt;
*[[Вероятностная машина Тьюринга]]&lt;br /&gt;
*[[Класс ZPP]]&lt;br /&gt;
*[[Сложностные классы RP и coRP]]&lt;br /&gt;
*[[Сложностный класс PP]]&lt;br /&gt;
*[[Сложностный класс BPP]]&lt;br /&gt;
*[[Уменьшение ошибки в классе RP, сильное и слабое определение]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 8 ==&lt;br /&gt;
*[[Теорема о включении BPP в P/poly]]&lt;br /&gt;
*[[Теорема Лаутемана]]&lt;br /&gt;
*[[Теорема Валианта-Вазирани]]&lt;br /&gt;
&lt;br /&gt;
== Практика 8 ==&lt;br /&gt;
*[[Лемма Шварца-Зиппеля]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 9 ==&lt;br /&gt;
*[[Класс IP|Класс IP]]&lt;br /&gt;
*[[GNI|Принадлежность проблемы GNI классу IP]]&lt;br /&gt;
*[[Sharp SAT|#SAT]]&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_IP&amp;diff=1007</id>
		<title>Класс IP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_IP&amp;diff=1007"/>
				<updated>2010-05-05T13:44:54Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Определение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Классом &amp;lt;tex&amp;gt;IP[f(n)]&amp;lt;/tex&amp;gt; (IP = interactive proof) называется множество языков, расопознаваемых с помощью интрактивного протокола доказательства. Интрерактивный протокол доказательства - алгоритм, описывающий процесс передачи информации между двумя вычислительными машинами: &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; - prover и &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; - verifier. &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; пытается доказать, что данная строка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; принадлежит языку. &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; - [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]],&lt;br /&gt;
работающая за полином и проверяющая информацию от &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; не видит вероятностную ленту &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;). &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; хочет допустить слово тогда, и только тогда, когда оно принадлежит языку. При этом:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;x \in L =&amp;gt; P(V^{P}(x)=1)\ge \frac{2}{3} \ &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;x \notin L =&amp;gt; P(V^{Q}(x)=1)\le \frac{1}{3} \ \forall Q &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
3) количество обращений к &amp;lt;tex&amp;gt;P \le f(n) &amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_IP&amp;diff=1006</id>
		<title>Класс IP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_IP&amp;diff=1006"/>
				<updated>2010-05-05T13:43:54Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: Новая страница: «===Определение=== Классом &amp;lt;tex&amp;gt;IP[f(n)]&amp;lt;/tex&amp;gt; (IP = interactive proof) называется множество языков, расопознава…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Определение===&lt;br /&gt;
Классом &amp;lt;tex&amp;gt;IP[f(n)]&amp;lt;/tex&amp;gt; (IP = interactive proof) называется множество языков, расопознаваемых с помощью интрактивного протокола доказательства. Интрерактивный протокол доказательства - алгоритм, описывающий процесс передачи информации между двумя вычислительными машинами: &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; - prover и &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; - verifier. &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; пытается доказать, что данная строка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; принадлежит языку. &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; - [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]],&lt;br /&gt;
работающая за полином и проверяющая информацию от &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; не видит вероятностную ленту &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;). &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; хочет допустить слово тогда, и только тогда, когда оно принадлежит языку. При этом:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;x \in L =&amp;gt; P(V^{P}(x)=1)\ge \frac{2}{3} \ &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;x \notin L =&amp;gt; P(V^{Q}(x)=1)\le \frac{1}{3} \ \forall Q &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
3) количество обращений к &amp;lt;tex&amp;gt;P \le f(n) &amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=562</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=562"/>
				<updated>2010-03-19T17:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является [[Понятие NP-трудной и NP-полной задачи|NP-полной]].&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих литералов. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\neg x\lor y\lor z)\land (x \lor y \lor \neg z) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы один литерал, принимающий значение “истина”. Выберем соответствующую ему вершину в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют литералам из одной скобки (а мы выбирали только один литерал из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;, соответствующие литералы которых не могут одновременно принимать значение “истина”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующего литерала “истина”. Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы один литерал, имеющий значение “истина”, значит вся формула будет принимать значение “истина”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=561</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=561"/>
				<updated>2010-03-19T17:52:39Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком CLIQUE называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку CLIQUE, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром. Задача о клике является [[Понятие NP-трудной и NP-полной задачи|NP-полной]].&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о клике покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о клике является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей. Подробное описание сведения содержится в статье [[Сведение по Карпу|сведение по Карпу]].&lt;br /&gt;
===Задача о клике принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин кликой.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=560</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=560"/>
				<updated>2010-03-19T17:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин.&lt;br /&gt;
&lt;br /&gt;
==Формулировка==&lt;br /&gt;
Языком COVER называется множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку COVER, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит вершинное покрытие размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Задача о вершинном покрытии является [[Понятие NP-трудной и NP-полной задачи|NP-полной]].&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о вершинном покрытии покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=535</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=535"/>
				<updated>2010-03-19T13:46:22Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком CLIQUE называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку CLIQUE, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром. Задача о клике является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о клике покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о клике является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей. Подробное описание сведения содержится в статье [[Сведение по Карпу|сведение по Карпу]].&lt;br /&gt;
===Задача о клике принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин кликой.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=534</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=534"/>
				<updated>2010-03-19T13:45:51Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком CLIQUE называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку CLIQUE, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;,каждая пара вершин в котором соединена ребром. Задача о клике является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о клике покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о клике является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей. Подробное описание сведения содержится в статье [[Сведение по Карпу|сведение по Карпу]].&lt;br /&gt;
===Задача о клике принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин кликой.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=533</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=533"/>
				<updated>2010-03-19T13:43:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о клике является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о клике(CLIQUE)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о клике покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о клике является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей. Подробное описание сведения содержится в статье [[Сведение по Карпу|сведение по Карпу]].&lt;br /&gt;
===Задача о клике принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин кликой.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=530</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=530"/>
				<updated>2010-03-19T13:40:25Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Доказательство NP-полноты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о клике(CLIQUE)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о клике покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о клике является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей. Подробное описание сведения содержится в статье [[Сведение по Карпу|сведение по Карпу]].&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=528</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=528"/>
				<updated>2010-03-19T13:38:33Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Доказательство NP-полноты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о клике(CLIQUE)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о клике покажем, что она является NP-трудной и принадлежит классу NP.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=525</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=525"/>
				<updated>2010-03-19T13:36:11Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин.&lt;br /&gt;
&lt;br /&gt;
==Формулировка==&lt;br /&gt;
Языком COVER называется множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку COVER, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит вершинное покрытие размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Задача о вершинном покрытии является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о вершинном покрытии покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=522</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=522"/>
				<updated>2010-03-19T13:31:29Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о вершинном покрытии является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин.&lt;br /&gt;
&lt;br /&gt;
==Формулировка==&lt;br /&gt;
'''Задача о вершинном покрытии(COVER)''' состоит в нахождении вершинного покрытия размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; -        некоторое натуральное число.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о вершинном покрытии покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу|сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=521</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=521"/>
				<updated>2010-03-19T13:31:07Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о вершинном покрытии является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин.&lt;br /&gt;
&lt;br /&gt;
==Формулировка==&lt;br /&gt;
'''Задача о вершинном покрытии(COVER)''' состоит в нахождении вершинного покрытия размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; -        некоторое натуральное число.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о вершинном покрытии покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства [[Сведение по Карпу||сведем по Карпу]] [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=519</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=519"/>
				<updated>2010-03-19T13:28:35Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих литералов. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\neg x\lor y\lor z)\land (x \lor y \lor \neg z) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы один литерал, принимающий значение “истина”. Выберем соответствующую ему вершину в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют литералам из одной скобки (а мы выбирали только один литерал из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;, соответствующие литералы которых не могут одновременно принимать значение “истина”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующего литерала “истина”. Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы один литерал, имеющий значение “истина”, значит вся формула будет принимать значение “истина”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=515</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=515"/>
				<updated>2010-03-19T13:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих литералов. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\neg x\lor y\lor z)\land (x \lor y \lor \neg z) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы один литерал, принимающий значение “истина”. Выберем соответствующую ему вершину в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют литералам из одной скобки(а мы выбирали только один литерал из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;, соответствующие литералы которых не могут одновременно принимать значение “истина”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующего литерала “истина”. Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы один литерал, имеющий значение “истина”, значит вся формула будет принимать значение “истина”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IND_GRAPH.png&amp;diff=508</id>
		<title>Файл:IND GRAPH.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IND_GRAPH.png&amp;diff=508"/>
				<updated>2010-03-19T13:19:55Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: загружена новая версия «Файл:IND GRAPH.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф, построенный для формулы в 3-SAT&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=507</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=507"/>
				<updated>2010-03-19T13:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\neg x\lor y\lor z)\land (x \lor y \lor \neg z) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “истина” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “истина”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “истина”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “истина”, значит вся формула будет принимать значение “истина”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=506</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=506"/>
				<updated>2010-03-19T13:14:23Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “истина” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\neg x&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=505</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=505"/>
				<updated>2010-03-19T13:13:22Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\neg{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “истина” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=504</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=504"/>
				<updated>2010-03-19T13:01:38Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого [[Сведение по Карпу|сведем по Карпу]] задачу &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=503</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=503"/>
				<updated>2010-03-19T12:59:40Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром. Задача о независимом множестве является NP-полной.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=502</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=502"/>
				<updated>2010-03-19T12:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Формулировка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Языком IND называют множество пар &amp;lt;tex&amp;gt;\langle G,k \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; - неориентированный граф, &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; - натуральное число. Слово принадлежит языку IND, если ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; содержит подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D1%81%D1%82%D0%B0%D1%80%D0%B0%D1%8F_%D1%82%D1%80%D0%B5%D1%88%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F)&amp;diff=451</id>
		<title>Теория сложности (старая трешовая версия)</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D1%81%D1%82%D0%B0%D1%80%D0%B0%D1%8F_%D1%82%D1%80%D0%B5%D1%88%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F)&amp;diff=451"/>
				<updated>2010-03-19T09:48:02Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Практика 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лекция 1 ==&lt;br /&gt;
*[[Класс DSPACE]]&lt;br /&gt;
*[[Класс DTIME]]&lt;br /&gt;
*[[Теорема о емкостной иерархии]]&lt;br /&gt;
*[[Теорема о временной иерархии]]&lt;br /&gt;
*[[Сведение по Карпу]]&lt;br /&gt;
*[[Сведение по Куку]]&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Класс NP]]&lt;br /&gt;
*[[Класс coNP]]&lt;br /&gt;
&lt;br /&gt;
== Практика 1 ==&lt;br /&gt;
*[[Сведение по Куку задачи факторизации к языку из NP]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 2 ==&lt;br /&gt;
*[[Теорема Кука]]&lt;br /&gt;
&lt;br /&gt;
== Практика 2 ==&lt;br /&gt;
*[[Понятие NP-трудной и NP-полной задачи]]&lt;br /&gt;
*[[NP-полнота задачи BH1N]]&lt;br /&gt;
*[[NP-полнота задачи о выполнимости булевой формулы в форме КНФ]]&lt;br /&gt;
*[[NP-полнота задачи о выполнимости булевой формулы в форме 3-КНФ]]&lt;br /&gt;
*[[NP-полнота задачи о клике]]&lt;br /&gt;
*[[NP-полнота задачи о независимом множестве]]&lt;br /&gt;
*[[NP-полнота задачи о вершинном покрытии]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 3 ==&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бейкера-Гилла-Соловэя]]&lt;br /&gt;
&lt;br /&gt;
== Практика 3 ==&lt;br /&gt;
*[[NP-полнота задач о гамильтоновом цикле и пути в графах]]&lt;br /&gt;
*[[NP-полнота задачи о сумме подмножества]]&lt;br /&gt;
*[[NP-полнота задачи о рюкзаке]]&lt;br /&gt;
&lt;br /&gt;
== Практика, которой на самом деле не было ==&lt;br /&gt;
*[[NP-полнота задачи о раскраске графа]]&lt;br /&gt;
&lt;br /&gt;
== Лекция 4 ==&lt;br /&gt;
*[[Класс PS]]&lt;br /&gt;
*[[Теорема Сэвича]]&lt;br /&gt;
*[[PS-полнота задачи Generalized geography]]&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IND_GRAPH.png&amp;diff=272</id>
		<title>Файл:IND GRAPH.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IND_GRAPH.png&amp;diff=272"/>
				<updated>2010-03-16T17:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: загружена новая версия «Файл:IND GRAPH.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф, построенный для формулы в 3-SAT&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=235</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=235"/>
				<updated>2010-03-15T19:07:44Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Доказательство NP-полноты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин.&lt;br /&gt;
&lt;br /&gt;
==Формулировка==&lt;br /&gt;
'''Задача о вершинном покрытии(COVER)''' состоит в нахождении вершинного покрытия размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; -        некоторое натуральное число.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о вершинном покрытии покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства сведем по Карпу [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=234</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=234"/>
				<updated>2010-03-15T19:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Определение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин.&lt;br /&gt;
&lt;br /&gt;
==Формулировка==&lt;br /&gt;
'''Задача о вершинном покрытии(COVER)''' состоит в нахождении вершинного покрытия размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; -        некоторое натуральное число.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства сведем по Карпу [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=230</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=230"/>
				<updated>2010-03-15T17:21:19Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Доказательство NP-полноты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о клике(CLIQUE)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Задача о нахождении клики размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; эквивалентна [[Задача о независимом множестве|задаче о независимом множестве]] размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; в дополнении графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;. Это следует из того, что в графе есть множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин, попарно соединенных ребром, тогда и только тогда, когда в дополнении графа найдется множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; попарно не соединенных ребрами вершин.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=229</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=229"/>
				<updated>2010-03-15T17:18:54Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”(с учетом отрицания). Это можно сделать, так как нет ребер между вершинами вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.  Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=228</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=228"/>
				<updated>2010-03-15T17:15:24Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть теперь в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=227</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=227"/>
				<updated>2010-03-15T17:14:34Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Полученное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки), а так же вершины вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, соответствующие переменные которых не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=226</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=226"/>
				<updated>2010-03-15T17:11:00Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары переменных, соответствующие вершинам вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=225</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=225"/>
				<updated>2010-03-15T17:08:56Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=224</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=224"/>
				<updated>2010-03-15T17:08:12Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым соответствуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=223</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=223"/>
				<updated>2010-03-15T17:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только те вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=222</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=222"/>
				<updated>2010-03-15T17:05:10Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда” (учитываем отрицание, если оно есть). Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=221</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=221"/>
				<updated>2010-03-15T17:01:31Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. При этом если переменная входит в формулу с отрицанием, отобразим это в графе. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда”. Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=219</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=219"/>
				<updated>2010-03-15T15:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о вершинном покрытии является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин&lt;br /&gt;
==Формулировка==&lt;br /&gt;
'''Задача о вершинном покрытии(COVER)''' состоит в нахождении вершинного покрытия размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; -        некоторое натуральное число.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства сведем по Карпу [[Задача о независимом множестве|задачу о независимом множестве]] к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=207</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=207"/>
				<updated>2010-03-14T17:57:08Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: /* Задача о независимом множестве является NP-трудной */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем по Карпу задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le_{k} IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда”. Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=205</id>
		<title>NP-полнота задачи о вершинном покрытии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8&amp;diff=205"/>
				<updated>2010-03-14T17:55:49Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: создание странички&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
Вершинным покрытием графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; называется такое множество &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; его вершин, что у любого ребра в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; хотя бы одна из вершин лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Размер вершинного покрытия - это число входящих в него вершин&lt;br /&gt;
==Формулировка==&lt;br /&gt;
'''Задача о вершинном покрытии(COVER)''' состоит в нахождении вершинного покрытия размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; -        некоторое натуральное число.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о вершинном покрытии является NP-трудной===&lt;br /&gt;
Для доказательства сведем по Карпу задачу о независимом множестве к нашей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;IND \le_{k} COVER&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано независимое множество вершин &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Тогда у любого ребра из &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; одна из вершин не лежит в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, так как иначе какие-то две вершины в &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; были бы соединены ребром. Значит дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - вершинное покрытие. Пусть теперь в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; выбрано вершинное покрытие &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;. Любому ребру в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; инциндентна хотя бы одна вершина из &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, значит никакое ребро не может соединять две вершины из дополнения &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;, поэтому дополнение &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; - независимое множество.&lt;br /&gt;
&lt;br /&gt;
Пусть в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; c &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; вершинами необходимо найти независимое множество размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. По доказанному выше оно существует тогда и только тогда, когда в &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; есть вершинное покрытие размера &amp;lt;math&amp;gt;n-k&amp;lt;/math&amp;gt;. Данное сведение можно выполнить за полиномиальное время&lt;br /&gt;
===Задача о вершинном покрытии принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Если в  графе &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ребер, то за время &amp;lt;math&amp;gt;O(ek)&amp;lt;/math&amp;gt; можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=174</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=174"/>
				<updated>2010-03-14T08:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: переименовал «Задача о независимом множестве» в «NP-полнота задачи о независимом множестве»:&amp;amp;#32;несоответствие заданию&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда”. Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=175</id>
		<title>Задача о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=175"/>
				<updated>2010-03-14T08:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: переименовал «Задача о независимом множестве» в «NP-полнота задачи о независимом множестве»:&amp;amp;#32;несоответствие заданию&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[NP-полнота задачи о независимом множестве]]&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=172</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=172"/>
				<updated>2010-03-14T08:27:00Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: переименовал «Задача о клике» в «NP-полнота задачи о клике»:&amp;amp;#32;несоответствие заданию&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о клике(CLIQUE)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Задача о нахождении клики размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; эквивалентна [[Задача о независимом множестве|задаче о независимом множестве]] размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; в дополнении графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;. Это следует из того, что в графе есть множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин, попарно соединенных ребром, тогда и только тогда, когда в дополнении графа найдется множество размера хотя бы &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; попарно не соединенных ребрами вершин.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BA%D0%BB%D0%B8%D0%BA%D0%B5&amp;diff=173</id>
		<title>Задача о клике</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BA%D0%BB%D0%B8%D0%BA%D0%B5&amp;diff=173"/>
				<updated>2010-03-14T08:27:00Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: переименовал «Задача о клике» в «NP-полнота задачи о клике»:&amp;amp;#32;несоответствие заданию&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[NP-полнота задачи о клике]]&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=166</id>
		<title>NP-полнота языка CLIQUE</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_CLIQUE&amp;diff=166"/>
				<updated>2010-03-13T21:08:25Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: создание странички&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о клике(CLIQUE)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, каждая пара вершин в котором соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Задача о нахождении клики размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; в графе &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; эквивалентна [[Задача о независимом множестве|задаче о независимом множестве]] размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; в дополнении графа &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;. Это следует из того, что в графе есть множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин, попарно соединенных ребром, тогда и только тогда, когда в дополнении графа найдется множество размера хотя бы &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; попарно не соединенных ребрами вершин.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=158</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=158"/>
				<updated>2010-03-13T15:49:37Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:IND_GRAPH.png]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда”. Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IND_GRAPH.png&amp;diff=157</id>
		<title>Файл:IND GRAPH.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:IND_GRAPH.png&amp;diff=157"/>
				<updated>2010-03-13T15:48:02Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: Граф, построенный для формулы в 3-SAT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф, построенный для формулы в 3-SAT&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=156</id>
		<title>NP-полнота задачи о независимом множестве</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D0%BC_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5&amp;diff=156"/>
				<updated>2010-03-13T15:45:36Z</updated>
		
		<summary type="html">&lt;p&gt;Mikhailpinsky: создание странички&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Формулировка==&lt;br /&gt;
Пусть задан неориентированный граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; и натуральное число &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. '''Задача о независимом множестве(IND)''' решает вопрос о том, содержит ли граф &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; подграф &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; размером &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, никакая пара вершин в котором не соединена ребром.&lt;br /&gt;
==Доказательство NP-полноты==&lt;br /&gt;
Для доказательства NP-полноты задачи о независимом множестве покажем, что она является NP-трудной и принадлежит классу NP.&lt;br /&gt;
===Задача о независимом множестве является NP-трудной===&lt;br /&gt;
Для доказательства этого сведем задачу &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt; к нашей: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3-SAT \le IND&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть задана булева формула в &amp;lt;math&amp;gt;3-SAT&amp;lt;/math&amp;gt;, в которой &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; скобок. Построим для нее соответствующий граф. Для каждой скобки нарисуем три вершины, соединим их попарно ребрами и подпишем их именами соответствующих переменных. Так же соединим ребрами пары вершин вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\overline{x}\lor y\lor z)\land (x \lor y \lor \overline{z}) \to&amp;lt;/math&amp;gt;[[Файл:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Докажем, что формула выполнима тогда и только тогда, когда в соответствующем графе есть независимое множество из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. Пусть формула выполнима, тогда в каждой скобке есть хотя бы одна переменная, принимающая значение “правда”. Выберем соответствующую переменную в качестве вершины в графе. Выбранное множество вершин является независимым, так как ребрами соединены только вершины, которые соответствуют переменным из одной скобки(а мы выбирали только одну переменную из каждой скобки) и пары вершин, которым советуют пары переменных вида &amp;lt;math&amp;gt;x,\overline{x}&amp;lt;/math&amp;gt;, которые не могут одновременно принимать значение “правда”. Пусть в графе есть независимое множество, размера &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;. Тогда в каждой тройке вершин, соответствующих некоторой скобке, выбрана ровно одна вершина. Установим значение соответствующей переменной “правда”. Тогда в каждой скобке, будет хотя бы одна переменная, имеющая значение “правда”, значит вся формула будет принимать значение “правда”. Построение по формуле соответствующего графа можно сделать за полиномиальное время.&lt;br /&gt;
===Задача о независимом множестве принадлежит классу NP===&lt;br /&gt;
В качестве сертификата возьмем набор из &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; вершин. За время &amp;lt;math&amp;gt;O(k^2)&amp;lt;/math&amp;gt; можно проверить, является ли данное множество вершин независимым.&lt;/div&gt;</summary>
		<author><name>Mikhailpinsky</name></author>	</entry>

	</feed>