<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://discopal.ispras.ru/index.php?action=history&amp;feed=atom&amp;title=MAX-CUT%3A_%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%2FMAX-CUT_%D0%BD%D0%B0_Matlab</id>
		<title>MAX-CUT: вероятностное округление/MAX-CUT на Matlab - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://discopal.ispras.ru/index.php?action=history&amp;feed=atom&amp;title=MAX-CUT%3A_%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%2FMAX-CUT_%D0%BD%D0%B0_Matlab"/>
		<link rel="alternate" type="text/html" href="https://discopal.ispras.ru/index.php?title=MAX-CUT:_%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5/MAX-CUT_%D0%BD%D0%B0_Matlab&amp;action=history"/>
		<updated>2026-04-20T13:34:34Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://discopal.ispras.ru/index.php?title=MAX-CUT:_%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5/MAX-CUT_%D0%BD%D0%B0_Matlab&amp;diff=727&amp;oldid=prev</id>
		<title>Acbelter в 10:05, 21 июня 2012</title>
		<link rel="alternate" type="text/html" href="https://discopal.ispras.ru/index.php?title=MAX-CUT:_%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5/MAX-CUT_%D0%BD%D0%B0_Matlab&amp;diff=727&amp;oldid=prev"/>
				<updated>2012-06-21T10:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;code-python&amp;gt;&lt;br /&gt;
% Количество вершин в графе&lt;br /&gt;
n = 3;&lt;br /&gt;
% Матрица весов&lt;br /&gt;
W = [0 2 3;&lt;br /&gt;
     2 0 1;&lt;br /&gt;
     3 1 0];&lt;br /&gt;
 &lt;br /&gt;
% Можно взять случайную матрицу для тестирования&lt;br /&gt;
% Получим симметричную разреженную матрицу, у нее 3\4 нули&lt;br /&gt;
% W = sprandsym(n, .5);&lt;br /&gt;
% W(1:n+1:n^2) = zeros(1, n);&lt;br /&gt;
&lt;br /&gt;
% Задача SDP:&lt;br /&gt;
% trace(LX) -&amp;gt; max&lt;br /&gt;
% diag(X) = e&lt;br /&gt;
% X - positive semidefinite matrix&lt;br /&gt;
L = 1/4 * (diag(W * ones(n, 1)) - W);&lt;br /&gt;
% Преобразование матрицы к векторной форме и&lt;br /&gt;
% переход к задачи минимизации&lt;br /&gt;
c = -L(:);&lt;br /&gt;
% Преобразование ограничения diag(X) = e к векторному формату Ax = b&lt;br /&gt;
A = sparse(1:n, 1:n+1:n^2, ones(1, n), n, n^2);&lt;br /&gt;
b = ones(n, 1);&lt;br /&gt;
% Установление матрицы X размерности n в SeDumi&lt;br /&gt;
% в качестве положительно-полуопределенной&lt;br /&gt;
K.s = [n];&lt;br /&gt;
% Запуск SeDumi для решения задачи SDP&lt;br /&gt;
[X, Y, INFO] = sedumi(A, b, c, K);&lt;br /&gt;
&lt;br /&gt;
% Преобразование столбца в матрицу&lt;br /&gt;
Xmatrix = X(1:n);&lt;br /&gt;
for i = 1:n-1&lt;br /&gt;
% Приставляем к матрице часть столбца&lt;br /&gt;
    Xmatrix = [Xmatrix X(i*n+1:(i+1)*n)];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Разложение Холецкого&lt;br /&gt;
V = chol(Xmatrix);&lt;br /&gt;
% Случайный вектор&lt;br /&gt;
r = randn(1, n);&lt;br /&gt;
r = r/sqrt(r*r');&lt;br /&gt;
&lt;br /&gt;
rV = r*V;&lt;br /&gt;
% Номера вершин, составляющих разрез (S, T)&lt;br /&gt;
idxS = find([1:n].*(rV &amp;gt;= 0))&lt;br /&gt;
idxT = find([1:n].*(rV &amp;lt; 0))&lt;br /&gt;
&amp;lt;/code-python&amp;gt;&lt;/div&gt;</summary>
		<author><name>Acbelter</name></author>	</entry>

	</feed>