<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3A%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD%2F%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85</id>
	<title>Участник:Артем Карпухин/Алгоритм CLOPE кластеризации категориальных данных - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3A%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD%2F%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85"/>
	<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;action=history"/>
	<updated>2026-10-22T19:05:14Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=22490&amp;oldid=prev</id>
		<title>Артем Желтков в 19:21, 9 февраля 2017</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=22490&amp;oldid=prev"/>
		<updated>2017-02-09T19:21:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 19:21, 9 февраля 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l285&quot;&gt;Строка 285:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 285:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Алгоритм предназначен для обработки категориальных данных, а значит практически неприменим к обработке наборов числовых данных. Данный метод &amp;amp;laquo;не понимает&amp;amp;raquo;, что, например, числа 3 и 4 являются близкими по значению, а числа 3 и 100 — нет. В ходе алгоритма они будут просто интерпретироваться, как разные категории.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Алгоритм предназначен для обработки категориальных данных, а значит практически неприменим к обработке наборов числовых данных. Данный метод &amp;amp;laquo;не понимает&amp;amp;raquo;, что, например, числа 3 и 4 являются близкими по значению, а числа 3 и 100 — нет. В ходе алгоритма они будут просто интерпретироваться, как разные категории.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Алгоритм достаточно прост в реализации и имеет высокую скорость работы, а также качество кластеризации.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Алгоритм достаточно прост в реализации и имеет высокую скорость работы, а также качество кластеризации.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Во время работы алгоритма в оперативной памяти хранится относительно небольшое количество информации по каждому кластеру и требуется минимальное число сканирований набора транзакций. Это позволяет применять его для кластеризации больших объемов категориальных данных &amp;lt;ref&amp;gt;Н. Паклин. «Кластеризация категорийных данных: масштабируемый алгоритм CLOPE». Электронное издание. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;www.&lt;/del&gt;basegroup.ru/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;clusterization&lt;/del&gt;/clope&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.htm &lt;/del&gt;&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Во время работы алгоритма в оперативной памяти хранится относительно небольшое количество информации по каждому кластеру и требуется минимальное число сканирований набора транзакций. Это позволяет применять его для кластеризации больших объемов категориальных данных &amp;lt;ref&amp;gt;Н. Паклин. «Кластеризация категорийных данных: масштабируемый алгоритм CLOPE». Электронное издание. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://basegroup.ru/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;community/articles&lt;/ins&gt;/clope &amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Требования к памяти главным образом зависят от количества различных категорий в базе транзакций.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Требования к памяти главным образом зависят от количества различных категорий в базе транзакций.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Количество кластеров зависит от параметра — коэффициента отталкивания — и подбирается автоматически. Это означает, что хоть количество кластеров и регулируется пользователем при помощи данного коэффициента, нельзя априорно получить число кластеров, которое будет в итоге создано, а значит, нельзя точно предсказать сложность алгоритма и объем выходных данных (т.к. они зависят от количества кластеров).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Количество кластеров зависит от параметра — коэффициента отталкивания — и подбирается автоматически. Это означает, что хоть количество кластеров и регулируется пользователем при помощи данного коэффициента, нельзя априорно получить число кластеров, которое будет в итоге создано, а значит, нельзя точно предсказать сложность алгоритма и объем выходных данных (т.к. они зависят от количества кластеров).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21818&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21818&amp;oldid=prev"/>
		<updated>2017-01-31T00:12:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 00:12, 31 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l252&quot;&gt;Строка 252:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 252:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно — вычисления обобщенных стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; — т.е. после вычислений всех ее обобщенных стоимостей добавления на каждый из кластеров (стоимости ее удаления с текущего кластера (если итерация алгоритма — уточняющая) и стоимостей добавления на каждый из остальных кластеров) и возможного выполнения перемещения транзакции на новый кластер — потому как обобщенные стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на кластеры информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;для корректного распараллеливания (чтобы результат выполнения параллельной программы был эквивалентен результату последовательной) &lt;/ins&gt;обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно — вычисления обобщенных стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; — т.е. после вычислений всех ее обобщенных стоимостей добавления на каждый из кластеров (стоимости ее удаления с текущего кластера (если итерация алгоритма — уточняющая) и стоимостей добавления на каждый из остальных кластеров) и возможного выполнения перемещения транзакции на новый кластер — потому как обобщенные стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на кластеры информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; — данная оценка приводится в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; — данная оценка приводится в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21817&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21817&amp;oldid=prev"/>
		<updated>2017-01-31T00:05:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 00:05, 31 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l256&quot;&gt;Строка 256:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 256:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; — данная оценка приводится в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; — данная оценка приводится в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;С учетом требования к последовательной обработке транзакций на каждой итерации алгоритма приходим к выводу, что сложность параллельного алгоритма будет равна &amp;lt;math&amp;gt;O(N*A)&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; — количество транзакций).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;С учетом требования к последовательной обработке транзакций на каждой итерации алгоритма приходим к выводу, что сложность параллельного алгоритма будет равна &amp;lt;math&amp;gt;O(N*A)&amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;здесь &lt;/ins&gt;&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; — количество транзакций).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Входные и выходные данные алгоритма ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Входные и выходные данные алгоритма ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21816&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21816&amp;oldid=prev"/>
		<updated>2017-01-31T00:04:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 00:04, 31 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l252&quot;&gt;Строка 252:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 252:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно — вычисления обобщенных стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; — т.е. после вычислений всех ее обобщенных стоимостей добавления на каждый из кластеров (стоимости ее удаления с текущего кластера (если итерация алгоритма — уточняющая) и стоимостей добавления на каждый из остальных кластеров) и возможного выполнения перемещения транзакции на новый кластер — потому как обобщенные стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно — вычисления обобщенных стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; — т.е. после вычислений всех ее обобщенных стоимостей добавления на каждый из кластеров (стоимости ее удаления с текущего кластера (если итерация алгоритма — уточняющая) и стоимостей добавления на каждый из остальных кластеров) и возможного выполнения перемещения транзакции на новый кластер — потому как обобщенные стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;на кластеры &lt;/ins&gt;информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; — данная оценка приводится в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; — данная оценка приводится в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21815&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21815&amp;oldid=prev"/>
		<updated>2017-01-31T00:02:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 00:02, 31 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l248&quot;&gt;Строка 248:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 248:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &amp;#039;&amp;#039;&amp;#039;конечный&amp;#039;&amp;#039;&amp;#039; параллелизм.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &amp;#039;&amp;#039;&amp;#039;конечный&amp;#039;&amp;#039;&amp;#039; параллелизм.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/del&gt;вычисление обобщенной стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров — &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;вычисление обобщенной стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров — &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/del&gt;вычисления обобщенных стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; — т.е. после вычислений всех ее обобщенных стоимостей добавления на каждый из кластеров (стоимости ее удаления с текущего кластера (если итерация алгоритма &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/del&gt;уточняющая) и стоимостей добавления на каждый из остальных кластеров) и возможного выполнения перемещения транзакции на новый кластер — потому как обобщенные стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;вычисления обобщенных стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; — т.е. после вычислений всех ее обобщенных стоимостей добавления на каждый из кластеров (стоимости ее удаления с текущего кластера (если итерация алгоритма &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;уточняющая) и стоимостей добавления на каждый из остальных кластеров) и возможного выполнения перемещения транзакции на новый кластер — потому как обобщенные стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &#039;&#039;&#039;одной&#039;&#039;&#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/del&gt;данная оценка &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;описана &lt;/del&gt;в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &#039;&#039;&#039;одной&#039;&#039;&#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;данная оценка &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;приводится &lt;/ins&gt;в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;С учетом требования к последовательной обработке транзакций на каждой итерации алгоритма приходим к выводу, что сложность параллельного алгоритма будет равна &amp;lt;math&amp;gt;O(N*A)&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; — количество транзакций).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;С учетом требования к последовательной обработке транзакций на каждой итерации алгоритма приходим к выводу, что сложность параллельного алгоритма будет равна &amp;lt;math&amp;gt;O(N*A)&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; — количество транзакций).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21814&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21814&amp;oldid=prev"/>
		<updated>2017-01-31T00:00:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 00:00, 31 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l243&quot;&gt;Строка 243:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 243:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления  &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;&quot; подразумевается непосредственно стоимость добавления &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент &#039;&#039;&#039;не находится&#039;&#039;&#039; на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;находится&#039;&#039;&#039; на кластере &lt;/del&gt;&amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;с данного кластера &lt;/del&gt;&amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления  &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;&quot; подразумевается непосредственно стоимость добавления &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент &#039;&#039;&#039;не находится&#039;&#039;&#039; на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;иначе, &lt;/ins&gt;если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;принадлежит кластеру &lt;/ins&gt;&amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;с данного кластера&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21813&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21813&amp;oldid=prev"/>
		<updated>2017-01-30T23:59:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 23:59, 30 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l243&quot;&gt;Строка 243:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 243:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления  &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;&quot; подразумевается непосредственно стоимость добавления &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент не находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления  &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;&quot; подразумевается непосредственно стоимость добавления &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;не находится&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;находится&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21812&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21812&amp;oldid=prev"/>
		<updated>2017-01-30T23:58:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 23:58, 30 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l243&quot;&gt;Строка 243:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 243:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;\pm&lt;/del&gt;}(C_j, t_i) &amp;lt;/math&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&quot; подразумевается непосредственно стоимость добавления &lt;/del&gt;транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt;)&lt;/del&gt;, если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент не находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; &lt;/ins&gt;транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; подразумевается непосредственно стоимость добавления &lt;/ins&gt;&amp;lt;math&amp;gt;Cost^{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+&lt;/ins&gt;}(C_j, t_i) &amp;lt;/math&amp;gt; транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент не находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &amp;#039;&amp;#039;&amp;#039;конечный&amp;#039;&amp;#039;&amp;#039; параллелизм.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &amp;#039;&amp;#039;&amp;#039;конечный&amp;#039;&amp;#039;&amp;#039; параллелизм.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент - вычисление обобщенной стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров — &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент - вычисление обобщенной стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров — &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21811&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21811&amp;oldid=prev"/>
		<updated>2017-01-30T23:55:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 23:55, 30 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l241&quot;&gt;Строка 241:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 241:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Ресурс параллелизма алгоритма ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Ресурс параллелизма алгоритма ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &#039;&#039;&#039;конечный&#039;&#039;&#039; параллелизм.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для удобства будем рассматривать одну операцию вычисления стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &amp;quot;&amp;#039;&amp;#039;&amp;#039;обобщенная&amp;#039;&amp;#039;&amp;#039; стоимость (цена) добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;)&amp;quot; подразумевается непосредственно стоимость добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt;), если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент не находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Поэтому в данном разделе условимся, что под выражением &amp;quot;&amp;#039;&amp;#039;&amp;#039;обобщенная&amp;#039;&amp;#039;&amp;#039; стоимость (цена) добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;)&amp;quot; подразумевается непосредственно стоимость добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt;), если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент не находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &#039;&#039;&#039;конечный&#039;&#039;&#039; параллелизм.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент - вычисление обобщенной стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров — &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент - вычисление обобщенной стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров — &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21810&amp;oldid=prev</id>
		<title>Артем Желтков: /* Ресурс параллелизма алгоритма */</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%90%D1%80%D1%82%D0%B5%D0%BC_%D0%9A%D0%B0%D1%80%D0%BF%D1%83%D1%85%D0%B8%D0%BD/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_CLOPE_%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=21810&amp;oldid=prev"/>
		<updated>2017-01-30T23:55:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ресурс параллелизма алгоритма&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 23:55, 30 января 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l243&quot;&gt;Строка 243:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 243:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &amp;#039;&amp;#039;&amp;#039;конечный&amp;#039;&amp;#039;&amp;#039; параллелизм.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для алгоритма CLOPE кластеризации категориальных данных имеет место &amp;#039;&amp;#039;&amp;#039;конечный&amp;#039;&amp;#039;&amp;#039; параллелизм.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент - вычисление стоимости добавления текущей обрабатываемой транзакции на каждый из уже существующих кластеров (отличных от текущего) — &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt;, при фиксированном значении &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;, а также вычисление &lt;/del&gt;стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;для этого &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Для удобства будем рассматривать одну операцию вычисления &lt;/ins&gt;стоимости удаления транзакции с текущего кластера &amp;lt;math&amp;gt;Cost^{-}(C_{C(t_i)}, t_i) &amp;lt;/math&amp;gt; совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt; &lt;/ins&gt;— таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; &lt;/ins&gt;вычисления стоимости добавления/удаления на каждый из существующих  кластеров&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Для удобства будем рассматривать эту одну операцию вычисления стоимости удаления транзакции с текущего кластера &lt;/del&gt;совместно с операциями вычисления стоимости добавления транзакции на остальные кластеры — таким образом, на каждой итерации алгоритма для каждой транзакции должно производиться по одному выполнению такой обобщенной операции вычисления стоимости добавления/удаления на каждый из существующих  кластеров.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Поэтому в данном разделе условимся, что под выражением &quot;&#039;&#039;&#039;обобщенная&#039;&#039;&#039; стоимость (цена) добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt;)&quot; подразумевается непосредственно стоимость добавления транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на кластер &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Cost^{+}(C_j, t_i) &amp;lt;/math&amp;gt;), если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; в данный момент не находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt;, а если транзакция &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; находится на кластере &amp;lt;math&amp;gt;C_j&amp;lt;/math&amp;gt; — то стоимость ее удаления с данного кластера &amp;lt;math&amp;gt;Cost^{-}(C_j, t_i) &amp;lt;/math&amp;gt;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ой транзакции &lt;/del&gt;вычисление &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;цены &lt;/del&gt;добавления &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления цены добавления этой же &lt;/del&gt;транзакции на &amp;lt;math&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;k&lt;/del&gt;&amp;lt;/math&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-й кластер. Поэтому эти операции &lt;/del&gt;при &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;обработке текущей транзакции &lt;/del&gt;&amp;lt;math&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;t_i&lt;/del&gt;&amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;можно выполнять одновременно&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;В рамках каждой итерации алгоритма (инициализирующей или уточняющей) можно выделить информационно-независимый фрагмент &lt;/ins&gt;- вычисление &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;обобщенной стоимости &lt;/ins&gt;добавления &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;текущей обрабатываемой &lt;/ins&gt;транзакции на &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;каждый из уже существующих кластеров — &lt;/ins&gt;&amp;lt;math&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cost^{\pm}(C_j, t_i) &lt;/ins&gt;&amp;lt;/math&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;при &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;фиксированном значении &lt;/ins&gt;&amp;lt;math&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;i&lt;/ins&gt;&amp;lt;/math&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно - вычисления стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/del&gt;т.е. после вычислений стоимости ее удаления с текущего кластера (если итерация алгоритма - уточняющая) и стоимостей добавления на каждый из кластеров и возможного выполнения перемещения транзакции на новый кластер &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/del&gt;потому как стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;То есть, для &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ой транзакции вычисление обобщенной цены добавления на &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;-й кластер никак не зависит от вычисления обобщенной цены добавления этой же транзакции на &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-й кластер. Поэтому эти операции при обработке текущей транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; можно выполнять одновременно. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Однако при этом важно отметить, что обработка всех транзакций на каждой итерации алгоритма (инициализирующей или уточняющей) должна выполняться строго последовательно - вычисления &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;обобщенных &lt;/ins&gt;стоимостей добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; на существующие кластеры могут быть начаты только после завершения обработки транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;т.е. после вычислений &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;всех ее обобщенных стоимостей добавления на каждый из кластеров (&lt;/ins&gt;стоимости ее удаления с текущего кластера (если итерация алгоритма - уточняющая) и стоимостей добавления на каждый из &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;остальных &lt;/ins&gt;кластеров&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) &lt;/ins&gt;и возможного выполнения перемещения транзакции на новый кластер &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;— &lt;/ins&gt;потому как &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;обобщенные &lt;/ins&gt;стоимости добавления транзакции &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; информационно зависят от результата распределения транзакции &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt; на текущей итерации алгоритма.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; - данная оценка описана в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Таким образом, полагая, что количество вычислительных элементов не ограничено и всегда превышает количество кластеров &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, существующих на любой из итераций алгоритма, можно считать, что обработка &amp;#039;&amp;#039;&amp;#039;одной&amp;#039;&amp;#039;&amp;#039; транзакции на каждой итерации алгоритма выполняется за &amp;lt;math&amp;gt;O(A)&amp;lt;/math&amp;gt; операций (это соответствует сложности однократного вычисления &amp;lt;math&amp;gt;Cost^{\pm}(C_j, t_i) &amp;lt;/math&amp;gt; - данная оценка описана в разделе [[#Последовательная сложность алгоритма|Последовательная сложность алгоритма]]), где &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; — максимальная длина транзакции.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Артем Желтков</name></author>
	</entry>
</feed>