<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; ассоциативные правила</title>
	<atom:link href="http://web.snauka.ru/issues/tag/assotsiativnyie-pravila/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Определение взаимосвязи номенклатурных позиций средствами 1С:Предприятие 8.3</title>
		<link>https://web.snauka.ru/issues/2014/07/36464</link>
		<comments>https://web.snauka.ru/issues/2014/07/36464#comments</comments>
		<pubDate>Sat, 05 Jul 2014 05:28:52 +0000</pubDate>
		<dc:creator>Баженов Руслан Иванович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[association rules]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[information system]]></category>
		<category><![CDATA[market basket analysis]]></category>
		<category><![CDATA[анализ данных]]></category>
		<category><![CDATA[анализ рыночной корзины]]></category>
		<category><![CDATA[ассоциативные правила]]></category>
		<category><![CDATA[информационная система]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=36464</guid>
		<description><![CDATA[Обнаружение неявных закономерностей в наборах данных является целью интеллектуального анализа данных. Такое научное направление в настоящий момент активно развиваться, что вызвано распространением технологий автоматизированной обработки информации и накоплением в компьютерных системах больших объемов данных. Проблема проявилась тогда, когда простое быстрое нахождение информации в базе данных стало во многих случаях недостаточно, а требовалось найти существующие взаимосвязи [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-align: justify; background-color: white;">Обнаружение неявных закономерностей в наборах данных является целью интеллектуального анализа данных. Такое научное направление в настоящий момент активно развиваться, что вызвано распространением технологий автоматизированной обработки информации и накоплением в компьютерных системах больших объемов данных. Проблема проявилась тогда, когда простое быстрое нахождение информации в базе данных стало во многих случаях недостаточно, а требовалось найти существующие взаимосвязи между отдельными событиями среди больших объемов данных. Решение таких задач лежит в различных областях знания: аналитические методы математической статистики, теория баз данных, теория искусственного интеллекта и др.</span></p>
<p style="text-align: justify; background: white;"><span>Проводить интеллектуальный анализ данных можно с помощью программных продуктов различных классов и возможностей: специализированные коробочные программные продукты для интеллектуального анализа; математические пакеты; электронные таблицы; интегрированные средства в системы управления базами данных.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Анализ продуктовой корзины клиентской базы – это постоянный поиск связанных между собой правил вида &#8220;Если клиент приобрел товар X, то он, возможно, с некоторой вероятностью, приобретет товар Y&#8221;. При этом X и Y могут быть как товарами, или услугами, так и их наборами. Такие зависимости в интеллектуальном анализе называются ассоциативными правилами.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Связное правило определяется:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span>коэффициентом поддержки– это отношение количества операций с участием товаров X и Y одновременно к общему количеству операций;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>коэффициентом достоверности – вероятность того, что из наличия в операции товара X вытекает наличие товара Y. Считается как отношение числа операций с товарами X и Y к числу операций с товаром X.<br />
</span></div>
</li>
</ul>
<p style="text-align: justify; background: white;"><span>Аналитик устанавливает минимальные значения (пороги) этих величин, из оставшихся правил устраняет очевидные и неинтерпретируемые.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>В розничной торговле полученные правила могут использоваться для оптимизации выкладки товаров в торговом зале; независимо от отрасли можно использовать такие правила для совместного продвижения товаров и для перекрестных продаж.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Проблемой выявления и применения ассоциативных правил занимались различные ученые. A.В.Бондаренко, А.С.Гудков исследовали интерактивный анализ ассоциативных правил в базах данных [1].     Е.В.Галкина изучала ассоциативные правила в бизнес-анализе и контроле [2]. Реализацию поиска ассоциативных правил средствами языка программирования php рассмотрели А.П.Корнилков, Т.В.Хабибулина [3]. Анализ ассортимента сервисных услуг в организациях розничной торговли с помощью ABC и XYZ-анализа привела Т.А.Желада [4].     О.Л.Ксенофонтова, Н.А.Новосельская использовали АВС-XYZ- анализ как средство управления товарным ассортиментом торгового предприятия [5]. Е.А. Бузукова провела анализ ассортимента и стабильности продаж с использованием ABC-анализа и XYZ-анализа [6]. Л.И.Демченко, Е.В.Лапина рассмотрели корректировку ассортиментной политики торговой фирмы с помощью матрицы совмещенного АВС- и XYZ- анализа [7]. Авторы показали применение различных методов интеллектуального анализа [8, 9].<br />
</span></p>
<p style="text-align: justify;"><span>Рассмотрим программную реализацию алгоритмов на 1С: Предприятие 8.3 в конфигурации «Анализ потребительских корзин» [10, 11] (скачать конфигурацию можно по адресу: http://kurszop.ru/load) (см. рис.1). Данная конфигурация состоит из шести основных подсистем:<br />
</span></p>
<ol>
<li><span style="text-align: justify;">Рабочий стол (содержит поисковые отборы по сотрудникам и клиентам, текущий прайс-лист торговлого предприятия).</span></li>
<li><span style="text-align: justify;">Администратор (содержит справочник «Внутрение оповещения» позволяющий рассылать сообщения всем ползователям работающи в прикладном решении, настройки конфигурации и аналитических отчетов).</span></li>
<li><span style="text-align: justify;">Аналитик торговли – анализ информационной базы.</span></li>
<li><span style="text-align: justify;">Касса – финансовые операции и отчеты по взаиморасчетам с контрашентами и остаткам денежных средств в кассах предприятия.</span></li>
<li><span style="text-align: justify;">Менеджер – опреции с номенклатурой, товарооборот, ценообразование, ведения прайс-листов как торгового предприятия, так и поставщиков, ведение основных карточек номенклатуры, контрагентов, создание договоров с контрагентами, основные отчеты и диаграммы.</span></li>
<li><span style="text-align: justify;">Отдел кадров – информационная база «Список сотрудников», ведения системы приказов по сотрудникам, созданиеосновных отчетов.</span></li>
</ol>
<p>В справочниках «Контрагенты» и «Сотрудники» определена возможность создание свободных реквизитов на уровне пользователя (план видов характеристик). Поиск по свободным реквизитам выведен в интерфейс рабочего стола.</p>
<p>В системе возможен контроль остатков товарной массы и денежных средств при соответсвующих реализациях (за работу контроля отвечают настройки в подсистеме «Администратор»).</p>
<p>Аналитическим элементом конфигурации является подсистема «Аналитик торговли».</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/07/070514_0528_1.png" alt="" /></p>
<p style="text-align: center;">Рисунок 1 – Интерфейс подсистемы «Аналитик торговли»</p>
<p>Одним из основных инструментов аналитика торговля, позволяющим определить составные компоненты продуктовой корзины (насколько связаны номенклатурные позиции между собой) – является обработка «Взаимосвязь номенклатур» (см. рис. 2).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/07/070514_0528_2.png" alt="" /></p>
<p style="text-align: center;">Рисунок 2 – Обработка «Взаимосвязь номенклатур»</p>
<p>Данная обработка, по сути, находит, существуют ли ассоциативные связи между номенклатурными позициями «Номенклатура основная» и «Номенклатура связная». Данные связи оцениваются при помощи двух коэффициентов: коэффициенты достоверности и поддержки. Коэффициент поддержки оценит вероятность покупки пары данных товаров в одной реализации. Коэффициент достоверности оценит вероятность того, что если покупают товар «Номенклатура основная», то купят и товар «Номенклатура связная». Результат работы обработки приведен на рис. 3.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/07/070514_0528_3.png" alt="" /></p>
<p style="text-align: center;">Рисунок 3 – Результат поиска ассоциативных связей номенклатур</p>
<p>Приведем программный код данной обработки:</p>
<p>Так как поиск информации происходит в информационной базе, после нажатия на кнопку «Сформировать», происходит переход на серверную процедуру «ПоискВзаимосвязей()».</p>
<p>&amp;НаКлиенте</p>
<p>Процедура Сформировать(Команда)</p>
<p>ПоискВзаимосвязей();</p>
<p>КонецПроцедуры</p>
<p>&amp;НаСервере</p>
<p>Процедура ПоискВзаимосвязей()</p>
<p>// в случае если значения дат не заполнено, Начало периода – пустая дата</p>
<p>// Конец периода – дата по системным часам компьютера</p>
<p>Если Не ЗначениеЗаполнено(НачалоПериода) Тогда НачалоПериода=&#8217;00010101&#8242;</p>
<p>КонецЕсли;</p>
<p>Если Не ЗначениеЗаполнено(КонецПериода) Тогда КонецПериода=ТекущаяДата();</p>
<p>КонецЕсли;</p>
<p>// Первый запрос определяет общее количество реализаций за период</p>
<p>Запрос = Новый Запрос;</p>
<p>Запрос.Текст = &#8220;ВЫБРАТЬ</p>
<p>| РеализацияКлиентам.Ссылка</p>
<p>|ИЗ</p>
<p>|    Документ.РеализацияКлиентам КАК РеализацияКлиентам</p>
<p>|ГДЕ</p>
<p>|    РеализацияКлиентам.Дата МЕЖДУ &amp;Дата1 И &amp;Дата2&#8243;;</p>
<p>Запрос.УстановитьПараметр(&#8220;Дата1&#8243;, НачалоПериода);</p>
<p>Запрос.УстановитьПараметр(&#8220;Дата2&#8243;, КонецПериода);</p>
<p>РезультатЗапроса = Запрос.Выполнить();</p>
<p>ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();</p>
<p>ВсегоРеализаций=ВыборкаДетальныеЗаписи.Количество();</p>
<p>// Второй запрос ищет реализации по основной номенклатуре</p>
<p>Запрос = Новый Запрос;</p>
<p>Запрос.Текст =</p>
<p>&#8220;ВЫБРАТЬ</p>
<p>|    РеализацияКлиентам.Ссылка</p>
<p>|ИЗ</p>
<p>|    Документ.РеализацияКлиентам КАК РеализацияКлиентам</p>
<p>|ГДЕ</p>
<p>|    РеализацияКлиентам.Дата МЕЖДУ &amp;Дата1 И &amp;Дата2</p>
<p>|    И РеализацияКлиентам.ПереченьТоваровИУслуг.Номенклатура = &amp;Номенклатура&#8221;;</p>
<p>Запрос.УстановитьПараметр(&#8220;Номенклатура&#8221;, Объект.НоменклатураОсновная);</p>
<p>РезультатЗапроса = Запрос.Выполнить();</p>
<p>ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();</p>
<p>ТолькоОсновная=0;</p>
<p>ОдновременноОсновнаяСвязная=0;</p>
<p>// Поиск в реализации основной номенклатуры, связной номенклатуры</p>
<p>Пока ВыборкаДетальныеЗаписи.Следующий() Цикл</p>
<p>ТолькоОсновная=ТолькоОсновная+1;</p>
<p>Если ВыборкаДетальныеЗаписи.Ссылка.ПереченьТоваровИУслуг.Количество()&gt;0 Тогда</p>
<p>Для Счетчик=0 по ВыборкаДетальныеЗаписи.Ссылка.ПереченьТоваровИУслуг.Количество()-1 Цикл</p>
<p>Если ВыборкаДетальныеЗаписи.Ссылка.ПереченьТоваровИУслуг[Счетчик].Номенклатура=Объект.НоменклатураСвязная</p>
<p>Тогда ОдновременноОсновнаяСвязная=ОдновременноОсновнаяСвязная+1;</p>
<p>КонецЕсли;</p>
<p>КонецЦикла;</p>
<p>КонецЕсли;</p>
<p>КонецЦикла;</p>
<p>Если (ВсегоРеализаций&gt;0) и (ОдновременноОсновнаяСвязная&gt;0) тогда</p>
<p>Сообщить(&#8220;Связь товаров проанализирована&#8221;+Символы.ПС+</p>
<p>&#8220;Коэффициент поддержки: &#8220;+Строка(Формат(ОдновременноОсновнаяСвязная/ВсегоРеализаций,&#8221;ЧДЦ=2&#8243;))+Символы.ПС+</p>
<p>&#8220;Коэффициент достоверности: &#8220;+Строка(Формат(ОдновременноОсновнаяСвязная/ТолькоОсновная,&#8221;ЧДЦ=2&#8243;)));</p>
<p>Иначе Сообщить(&#8220;Нулевые параметры &#8211; связь не обнаружена&#8221;);</p>
<p>КонецЕсли</p>
<p>КонецПроцедуры // ПоискВзаимосвязей()</p>
<p>Таким образом, в приведенном прикладном решении программно реализован аналитический анализ позволяющие специалисту рабочего места «Аналитик торговли» получить информацию по взаимосвязи номенклатур для отчетов по анализу потребительских корзин предприятия с целью принятия управленческих решений по дальнейшему ведению бизнеса.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2014/07/36464/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка программной системы поиска ассоциативных правил на основе алгоритма apriori</title>
		<link>https://web.snauka.ru/issues/2014/10/38733</link>
		<comments>https://web.snauka.ru/issues/2014/10/38733#comments</comments>
		<pubDate>Thu, 02 Oct 2014 08:39:57 +0000</pubDate>
		<dc:creator>Баженов Руслан Иванович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[apriori algorithm]]></category>
		<category><![CDATA[association rules]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[алгоритм apriori]]></category>
		<category><![CDATA[ассоциативные правила]]></category>
		<category><![CDATA[интеллектуальный анализ данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=38733</guid>
		<description><![CDATA[Интеллектуальный анализ данных (data mining) является одним из приоритетных направлений современных исследований. Огромное количество информации в современных учетных информационных системах требует осмысления и извлечения из них знаний, позволяющих разработать рекомендации для улучшения бизнеса. Методом решения описываемой проблемы может служить поиск ассоциативных правил, результаты которого используются для оптимального планирования закупок, расходов на рекламу и др.  Проблемами [...]]]></description>
			<content:encoded><![CDATA[<p><span>Интеллектуальный анализ данных (data mining) является одним из приоритетных направлений современных исследований. Огромное количество информации в современных учетных информационных системах требует осмысления и извлечения из них знаний, позволяющих разработать рекомендации для улучшения бизнеса. Методом решения описываемой проблемы может служить поиск ассоциативных правил, результаты которого используются для оптимального планирования закупок, расходов на рекламу и др. </span></p>
<p><span>Проблемами поиска ассоциативных правил занимались различные ученые. А.Шахиди рассмотрел общие вопросы поиска ассоциативных правил [1]. М.Г.Асеев, В.А. Дюк [2] показали проблемы поиска if-then правил в данных. Систему нахождения бизнес-правил типа &#8220;if-then&#8221; в задачах транспортной логистики разработали И.А.Минаков, С.И.Вольман [3]. А.П.Корнилков, Т.В.Хабибулина показали реализацию поиска ассоциативных правил средствами языка программирования php [4]. Интерактивный анализ ассоциативных правил в базах данных изучался A.В.Бондаренко, А.С.Гудковым [5]. Е.В.Галкина исследовала ассоциативные правила в бизнес-анализе и контроле [6]. М.В.Терешонок применил поиск ассоциативных правил для анализа загрузки сетей сотовой связи [7]. Методику поиска ассоциативных правил при обработке данных в распределенных информационных системах показала Т.Ю.Горохова [8]. А.Ю.Краковецкий применял метод поиска ассоциативных правил на основе сильных наборов данных и fp-дерева [9]. А.Н.Шабельников, В.А.Шабельников исследовали поиск аномалий в технических базах данных временных рядов [10]. В.М.Гриняк и др. описали информационную технологию планирования сезонных продаж [11]. Р.И.Баженов, В.А.Векслер разработали конфигурацию для системы 1С: Предприятие по интеллектуальному анализу с поддержкой поиска ассоциативных правил [12-16]. Зарубежные ученые описывали применения метода в различных областях [17, 18]. </span></p>
<p><span>Для реализации поиска ассоциативных правил был выбран достаточно простой алгоритм Apriori [1]. Опишем его.</span></p>
<p><span>Имеется база данных, которая состоит из покупательских транзакций. Каждая транзакция является набором товаров, приобретаемым покупателем за один раз. </span></p>
<p><span>Пусть I = {i</span><sub><span>1</span></sub><span>, i</span><sub><span>2</span></sub><span>, i</span><sub><span>3</span></sub><span>, …i</span><sub><span>n</span></sub><span>} – множество (набор) товаров или элементов. Пусть D – множество транзакций, где каждая транзакция T представляет собой набор элементов из I, T </span><img src="http://content.snauka.ru/web/38733_files/0CAQLTK9G.gif" alt="" width="16" height="16" /><span> I. Каждая транзакция является бинарным вектором, где t[k]=1, если i</span><sub><span>k</span></sub><span> элемент присутствует в транзакции, иначе t[k]=0. Транзакция T содержит X, некоторый набор элементов из I, если X</span><img src="http://content.snauka.ru/web/38733_files/0.gif" alt="" width="16" height="13" /><span> T. Будем называть ассоциативным правилом импликацию X </span><img src="http://content.snauka.ru/web/38733_files/0(1).gif" alt="" width="20" height="16" /><span>Y, где X</span><img src="http://content.snauka.ru/web/38733_files/0(2).gif" alt="" width="16" height="13" /><span> I, Y </span><img src="http://content.snauka.ru/web/38733_files/0(3).gif" alt="" width="16" height="13" /><span>I и X </span><img src="http://content.snauka.ru/web/38733_files/0(4).gif" alt="" width="17" height="13" /><span>Y =</span><img src="http://content.snauka.ru/web/38733_files/0(5).gif" alt="" width="17" height="18" /><span>. Правило X </span><img src="http://content.snauka.ru/web/38733_files/0(6).gif" alt="" width="20" height="16" /><span> Y имеет поддержку s (support), если s% транзакций из D, содержат X </span><img src="http://content.snauka.ru/web/38733_files/0(7).gif" alt="" width="17" height="13" /><span>Y, supp(X </span><img src="http://content.snauka.ru/web/38733_files/0(8).gif" alt="" width="20" height="16" /><span>Y) = supp (X </span><img src="http://content.snauka.ru/web/38733_files/0CAUMLUVE.gif" alt="" width="17" height="13" /><span>Y). Достоверность правила показывает какова вероятность того, что из X следует Y. Правило X </span><img src="http://content.snauka.ru/web/38733_files/0(9).gif" alt="" width="20" height="16" /><span>Y справедливо с достоверностью (confidence) c, если c% транзакций из D, содержащих X, также содержат Y, conf(X </span><img src="http://content.snauka.ru/web/38733_files/0(10).gif" alt="" width="20" height="16" /><span>Y) = supp(X </span><img src="http://content.snauka.ru/web/38733_files/0(11).gif" alt="" width="17" height="13" /><span> Y)/supp(X ) [1].</span></p>
<p><span>Была разработана программа, реализующая алгоритм Apriori на Delphi. Покажем основную процедуру.</span></p>
<p>function TForm1.gen(cand : TList) : TList;<br />
var<br />
&nbsp;&nbsp;i, j, k : Integer;<br />
&nbsp;&nbsp;set_len : Integer; { Длина общей части наборов при объединении}<br />
&nbsp;&nbsp;tSet, tSet1, tSet_new : PProdSet;<br />
&nbsp;&nbsp;new_cand : TList;<br />
&nbsp;&nbsp;equal : Boolean;<br />
begin<br />
&nbsp;&nbsp;{ Новый список наборов}<br />
&nbsp;&nbsp;new_cand := TList.Create;<br />
&nbsp;&nbsp;if cand = nil then<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ Одноэлементные наборы}<br />
&nbsp;&nbsp;&nbsp;&nbsp;for i := 0 to tovars.Count &#8211; 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Новый кандидат}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New(tSet);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetLength(tSet^.Items, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet^.Items[0] := i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet^.podder := 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new_cand.Add(tSet);<br />
&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;end<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;{  Много элементные наборы}<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ Если в списке больше одного набора}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if cand.Count > 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i := 0 to cand.count &#8211; 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Первый набор для объединения}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet := cand.Items[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Длина общей части}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set_len := High(tSet^.items);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for j := i + 1 to cand.count &#8211; 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Второй набор для объединения}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet1 := cand.Items[j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if set_len < 1 then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equal := true<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Сравниваем общие части наборов}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equal := true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for k := 0 to set_len - 1 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if tSet^.Items[k] <> tSet1^.Items[k] then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; equal := false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if equal then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Новый набор}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New(tSet_new);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet_New^.podder := 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Длина нового набора}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetLength(tSet_new^.Items, set_len + 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Копируем первый набор}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for k := 0 to High(tSet^.items) do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tSet_new^.Items[k] := tSet^.items[k];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Добавляем остаток второго набора}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tSet_new^.Items[set_len + 1] := tSet1^.items[set_len];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ Добавляем новый набор в список кандидатов}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new_cand.Add(tSet_new);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end;</p>
<p><span>Данные предоставлены компанией, находящейся в г.Биробиджан. Они были выгружены из системы 1С:Предприятие 8, и представляют собой отчет по продажам за I квартал 2014 года. Данные были обработаны и представлены в формате .csv (рис. 1).</span></p>
<div align="center"><img class="aligncenter" src="http://content.snauka.ru/web/38733_files/62.gif" alt="" width="1251" height="529" /><span>Рисунок 1 &#8211; Входные данные для анализа</span></div>
<p><span>Основное окно программы показано на рис.2.</span></p>
<div align="center"><img src="http://content.snauka.ru/web/38733_files/113.gif" alt="" width="885" height="499" /><br />
<span>Рисунок 2 – Окно программы с загруженными данными</span></div>
<p><span>После запуска алгоритма необходимо выбрать показатели, по которым будет осуществляться расчет (рис.3).</span></p>
<div align="center"><img src="http://content.snauka.ru/web/38733_files/124.gif" alt="" width="324" height="251" /><br />
<span>Рисунок 3 – Окно для выбора показателей</span></div>
<p><span>После проведения анализа, полученные правила выводятся в специальную область (рис. 4).</span></p>
<p><img class="aligncenter" src="http://content.snauka.ru/web/38733_files/167.gif" alt="" width="885" height="499" /></p>
<div align="center"><span>Рисунок 4 – Окно программы после обработки данных</span></div>
<p><span>Результаты анализа можно сохранить в текстовом файле (рис. 5).</span></p>
<div align="center"><img src="http://content.snauka.ru/web/38733_files/236.gif" alt="" width="953" height="691" /><br />
<span>Рисунок 5 – Текстовый файл с результатами</span></div>
<p><span>Полученные в результате исследования ассоциативные правила были переданы руководству компании для принятия решений.</span></p>
<p><span>Таким образом, была разработана простая программа по поиску ассоциативных правил. Полученные в ходе исследования материалы можно использовать на практике для анализа выгруженных данных из 1С:Предприятие и для проведения соответствующей лабораторной работы в курсах «Интеллектуальные информационные системы», «Интеллектуальный анализ данных».</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2014/10/38733/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
