Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии обработки информации. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
910 Кб
Скачать

Министерство образования и науки Российской Федерации Рязанский государственный радиотехнический университет

А.Н. КАБАНОВ, Д.Н. ФОЛОМКИН

ТЕХНОЛОГИИ ОБРАБОТКИ ИНФОРМАЦИИ

Учебное пособие

Рязань 2017

УДК 004(075.8)

Технологии обработки информации: учеб. пособие / А.Н. Кабанов, Д.Н. Фоломкин; Рязан. гос. радиотехн. ун-т. Рязань, 2017. 48 с.

Основное внимание направлено на последовательное применение сценарного подхода, реализованного в пакете Dеductor. Данный подход позволяет на базе единой архитектуры пройти все этапы обработки информации: от консолидации данных до построения моделей и визуализации полученных результатов. Изложены основные теоретические положения этапов технологии обработки информации. Дано решение большого количества примеров обработки информации на основе аналитической платформы «Deductor».

Предназначено студентам направления 09.03.02 «Информационные системы и технологии» для изучения дисциплины «Технологии обработки информации».

Табл. 5. Ил. 40. Библиогр.: 11 назв.

Сценарий, хранилище данных, очистка данных, трансформация данных, интерпретация результатов

Печатается по решению редакционно-издательского совета Рязанского государственного радиотехнического университета.

Рецензент: кафедра автоматизированных систем управления Рязанского государственного радиотехнического университета (зав. кафедрой канд. техн. наук, доц. С.И. Холопов)

Ка б а н о в Анатолий Николаевич

Фо л о м к и н Дмитрий Николаевич

Технологии обработки информации

Редактор

Н. А. Орлова

Корректор

С. В. Макушина

Подписано в печать 20.06.17. Формат бумаги 60х84 1/16. Бумага писчая. Печать трафаретная. Усл. печ. л. 3,0.

Тираж 25 экз. Заказ .

Рязанский государственный радиотехнический университет. 390005, Рязань, ул. Гагарина, 59/1.

Редакционно-издательский центр РГРТУ.

© Рязанский государственный радиотехнический университет, 2017

ВВЕДЕНИЕ

Технологии обработки информации включают большое количество этапов обработки информации. Чтобы обеспечить полноценный анализ состояния организации и получить достоверные прогнозы, нужно собрать, сохранить, обработать и проанализировать огромное количество сведений из самых разнообразных источников, а для этого необходим инструмент, объединяющий в себе передовые информационные технологии и развитый математический аппарат. Поэтому роль специализированных информационно-аналитических систем (ИАС) в последнее время становится все более значительной. До 2000 года господствующее положение на этом рынке занимали программные продукты иностранных фирм. В настоящее время положение дел меняется – появилось несколько российских программ такого назначения, по своим характеристикам способных успешно конкурировать с зарубежными, а по ряду параметров и превосходящие их [1, 2]. К подобным информационно-аналитиче- ским инструментам можно отнести аналитическую платформу «Deductor» (далее – Deductor), которая предназначена для решения большого спектра задач. В Deductor для аналитика основополагающим понятием является сценарий. Сценарий представляет собой последовательность операций с данными, представленную в виде иерархического дерева. В дереве каждая операция образует узел, заголовок которого содержит: имя источника данных, наименование применяемого метода обработки.

Deductor предназначен для решения широкого спектра задач [3], прикладная область значения не имеет, так как механизмы, реализованные на данной аналитической платформе, с успехом применяются в страховании, торговле, на финансовых рынках, в промышленности, телекоммуникациях, медицине, маркетинге и других сферах деятельности.

На схеме представлены алгоритмы, используемые в Deductor для реализации основных этапов и сгруппированные по назначению.

Рассмотрим кратко содержание основных этапов технологии обработки информации в Deductor.

1. Очистка данных

На этом этапе проводится кластеризация данных (разбиение на группы), редактирование аномалий в группах, заполнение пропусков (исключение сбойных результатов), сглаживание, очистка от шумов, обнаружение дубликатов и противоречий. Во многих случаях достаточно провести только очистку данных, и выводы будут очевидны. Кроме того, очистка данных позволяет получить лучшие результаты при дальнейшем построении моделей.

2. Трансформация данных

Производится замена пустых значений, квантование, табличная замена значений, преобразование к скользящему окну, изменение формата набора данных. В Deductor включены механизмы построения прогностиче-

3

ских моделей, в том числе с использованием самообучающихся алгоритмов. Достаточно построить модель, прогнозирующую изменение на 1 шаг, и автоматически использовать ее на произвольное количество отсчетов вперед. Это позволяет получать качественные прогнозы, способные подстраиваться под изменяемую ситуацию.

Алгоритмы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очистка данных

 

 

 

Трансформация данных

 

 

 

 

Data Mining

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Парциальная предобработка

 

 

 

 

Замена пустых значений

 

 

 

Нейронные сети

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Редактирование аномалий

 

 

 

Квантование значений

 

 

 

Линейная регрессия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заполнение пропусков

 

 

Табличная замена значений

 

 

 

Автокорреляция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сглаживание

 

 

 

 

Скользящее окно

 

 

 

Прогнозирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очистка от шумов

 

 

 

Преобразование даты

 

 

 

Деревья решений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обнаружение дубликатов и

 

 

 

 

 

Группировка

 

 

 

Самоорганизующиеся карты

 

 

 

 

противоречий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разгруппировка

 

 

 

Ассоциативные правила

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Комплексная обработка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Понижение размерности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Устранение незначащих факторов

Алгоритмы, используемые в Deductor

3. Data Mining

Термин Data Mining получил свое название из двух понятий: поиска ценной информации в большой базе данных (data) и добычи горной руды (mining). Оба процесса требуют или просеивания огромного количества сырого материала, или разумного исследования и поиска искомых ценностей. Строятся модели Data Mining с использованием нейронных сетей, деревьев решений, самоорганизующихся карт, ассоциативных правил. В Deductor основной акцент сделан на самообучающиеся методы и машинное обучение. Такие алгоритмы являются универсальными, решающими большой спектр задач и при этом просты в применении. Полученные результаты можно просмотреть в виде таблиц, кубов, карт, деревьев и прочее.

4

4. Интерпретация результатов

Работа по интерпретации результатов анализа данных базируется на выполнении следующих действий: импорт данных, обработка данных, визуализация. Наличие графического представления информации в Deductor существенно облегчает интерпретируемость полученных результатов. При принятии управленческих решений полезным инструментом является сценарное моделирование «Что, если…?», которое позволяет моделировать будущие показатели деятельности с учетом имеющихся взаимосвязей. В частности, моделирование «Что, если…?» предназначено для анализа влияния исходных показателей на целевой показатель. Для реализации этого механизма в Deductor существует специальный визуализатор. При этом способ построения модели значения не имеет, работа со всеми алгоритмами производится одинаково. Результаты анализа можно просмотреть как в табличном, так и графическом виде.

ГЛАВА 1. Очистка данных. Многомерная кластеризация. Основные теоретические положения

Предположим, что рассматриваемая совокупность случайных величин Y, Х неоднородна (рис. 1.1) и в нее входят, например, три группы совокупностей случайных величин с существенно различными параметрами распределений (математическим ожиданием и средним квадратическим отклонением).

Рис. 1.1. Кластеризация однородных групп

Истинные зависимости y = y (x) для этих групп совокупности показаны на рис. 1.1. Там же пунктиром показана линия регрессии y на x, построенная для совокупности всех групп. Этот иллюстративный пример показывает, что обработка неоднородной совокупности теми же методами, какие применимы для однородных, могут привести к серьезным ошибкам, т.е. если рассматривать всю совокупность как одно целое, то

5

зависимость y = f (x) убывающая, в то время как в каждой отдельной группе зависимость y = f (x) возрастающая.

1.1. Задача о кластеризации множества элементов

Первичные данные, сведенные в таблицу «Объект-свойство», часто бывают необозримыми, и непосредственно формирование отношений между объектами практически невозможно. Определение связей между объектами сильно облегчается, если исходное множество всех объектов удается описать более кратким способом, чем перечисление всех объектов со всеми их свойствами. Наиболее распространенный способ сокращения описания связан с разделением множества N объектов таблицы на небольшое число групп, связанных друг с другом каким-нибудь закономерным свойством. Обычно в качестве такого свойства используется «похожесть» объектов одной группы. Закономерности «групповой похожести» позволяют намного сократить описание таблиц «Объект-свой- ство» при малой потере информации. Вместо перечисления всех объектов можно дать список «типичных» или «эталонных» представителей групп, указать номера (имена) объектов, входящих в состав каждой группы. При небольшом числе групп описание данных становится обозримым и легко интерпретируемым. Рассмотрим два широко распространенных метода кластеризации – метод кратчайшего остовного дерева (п. 1.2) и метод кластеризации на основе алгоритма k-средних (п. 1.3).

1.2. Построение кратчайшего остовного дерева

Введем некоторые обозначения. Пусть данные таблицы, подлежащие разбиению, содержат N объектов (а1, а2, …, аN), имеющих M свойств (x1, x2,…, xM), и требуется выявить К классов (S1, S2, …, SK), 1 < K < N – 1. Здесь класс Si – это группа объектов, имеющих похожие свойства. Различные варианты разбиения объектов на К классов будем сравнивать по некоторому критерию качества разбиения. Если свойства объекта представить себе в виде координат метрического пространства, то каждый объект со своими значениями свойств будет отображаться в некоторую точку этого пространства. Два объекта с почти одинаковыми значениями свойств отобразятся в две близкие точки, а объекты с сильно отличающимися свойствами будут представлены далекими друг от друга точками. Если имеются сгустки точек, отделенные промежутками от других сгустков, то их целесообразно выделить в отдельные структурные части множества – классы. В дальнейшем можно аппроксимировать сгустки каким-либо известным законом распределения. Можно также указать границы класса, описав их геометрические параметры (например, задав систему уравнений разделяющих гиперплоскостей). По этим описаниям можно узнать, какому классу принадлежит любой объект как изучаемой

6

конечной выборки, так и любого нового объекта из генеральной совокупности.

В основу алгоритма разбиения положен метод разрезания кратчайшего остовного дерева. Если задано число классов К, то путем удаления (К-1) ребра, обеспечивающего оптимальное значение функции качества, производится разбиение на классы. В качестве критерия разбиения множества элементов принято условие: суммарная дисперсия во всех классах должна быть минимальной.

1.2.1.Построение кратчайшего остовного дерева. Алгоритм Прима в табличной форме

Пусть имеется таблица с координатами (X1, X2) 10 объектов.

 

 

 

 

 

 

 

 

 

Таблица 1.1

 

 

 

 

 

 

 

 

Начальные данные

 

№1

№2

№3

№4

№5

№6

№7

№8

№9

№10

X1

1

2

3

4

5

6

7

7

1

2

X2

1

2

3

4

1

2

2

1

3

4

В системе координат (Х1ОХ2) отметим их координаты (рис.1.2).

0

Рис. 1.2. Исходное множество точек

1.2.1.1. Формирование матрицы расстояний (весов)

По заданным данным заполняется матрица расстояний (весов) W (N, N). Пример вычисления расстояний между точками в пакете Excel приведен на рис. 1.3. Веса несуществующих ребер предполагаются равными бесконечности.

7

Рис.1.3. Вычисление расстояний между точками в пакете Excel

1.2.1.2.Нахождение минимального остовного дерева и разбиение неоднородной совокупности на группы

Образуется массив P(N) меток вершин графа (столбцов матрицы весов). Алгоритм решения задачи заключается в последовательном заполнении массива меток столбцов и состоит из следующих этапов.

Предварительный этап. Обнуляется массив P(N) меток столбцов таблицы. Произвольно выбранному столбцу присваивается значение метки, равной его номеру.

Этап, повторяющийся N-1 раз (общий этап). В строках, номера которых равны номерам помеченных столбцов, находится минимальный элемент среди элементов непомеченных столбцов. Столбец, в котором находится минимальный элемент, помечается меткой, номер которой равен номеру его строки. В случае если минимальных элементов несколько, то выбирается любой. После того как будет помечен очередной столбец, элементу, симметричному относительно главной диагонали (для многомерного графа – с «транспонированными индексами»), присваивается сколь угодно большое значение.

Заключительный этап. Ребра, включенные в минимальное остовное дерево, определяются по меткам столбцов. Вес остовного дерева за-

дается суммой весов входящих в него ребер.

 

 

 

В двумерном пространстве расстояние между точками с координа-

тами

(x1,.y1)

и

(x2,.y2)

рассчитывается

по

формуле

p = (x1 x2 )2 + (y1 y2 )2 . Для n-мерного случая, когда в координат- ной системе (0, X1, X2, …, Xn) имеются две точки с координатами (x11, x12, …, x1n) и (x21, x22, …, x2n) справедлива формула

8

p = (x11 x21)2 + (x12 x22 )2 + ...+ (x1n x2n )2 .

Иногда при подсчете расстояний между точками могут учитываться веса.

Рассмотрим решение задачи для двумерного случая. На пересечении вершин с одинаковыми номерами (т.е., если i = j) поставить расстояние, равное бесконечности, или 1000. Например, формула расстояния между вершинами 1 и 2 активизирована в строке формул. Достаточно скопировать ее (растянуть, удерживая клавишу Ctrl) по всей 5-й строке, меняя лишь названия столбцов в относительных ссылках. Итак, должна получиться симметричная матрица А(10…10). Далее построим минимальное дерево.

Для этого воспользуемся алгоритмом Прима. Над первым столбцом ставим цифру 1 и в первой строке выбираем минимальный элемент – А(1;2) = 1,41421. С привязкой к таблице Excel это ячейка С5. Симметричный ему элемент заменяем бесконечностью, т.е. 1000 (в ячейке B6). Значит, помечаем 2-й столбец цифрой 1. И выбираем наименьший элемент из двух строк – 2-й и 1-й. Это элемент А(3;2) = 1,41421 (ячейка D6). Значит, над вторым столбцом ставим цифру 2, а А(2;3) = 1000 (ячейка С7) и т.д., каждый раз добавляя в выбор по одной строке. Ранее выбранные минимальные элементы в последующих выборах не участвуют. Решение показано на рис. 1.4 в строке номер 4.

Рис. 1.4. Нахождение минимального остовного дерева и разбиение неоднородной совокупности на группы

В п. 1.2 было отмечено, что в качестве критерия разбиения множества элементов принято условие: суммарная дисперсия во всех классах должна быть минимальной.

Таким образом, будут пронумерованы все столбцы, а, значит, найдены ребра минимального остовного дерева. Ребрами остовного дерева в соответствии с рис. 1.4 (по отметкам в строке 4B-4K) являются: 1-2,

9

2-3, 3-4, 3-5, 5-6, 7-8, 5-8, 9-2, 10-3. Вид полученного дерева представлен на рис. 1.5. Посчитайте, на сколько изменится длина остовного дерева, если ребро 5-8 удалить, а 6-7 добавить?

Рис. 1.5. Полученное минимальное остовное дерево

Данный метод можно применять и к многомерному объекту. Алгоритм остается прежним, меняется лишь формула для расстояний.

Если рассматривается исходное неоднородное множество объектов (как в нашем случае), графически представленное в виде дерева, то для разбиения этого множества на k однородных групп необходимо удалить (k-1) ребро так, чтобы суммарная дисперсия всех групп была минимальной. Пример расчета суммарной дисперсии показан на рис. 1.4.

1.3. Многомерная кластеризация на основе алгоритма k-средних (k-means)

Для использования этого метода [3, 4] необходимо иметь гипотезу о наиболее вероятном количестве кластеров. Алгоритм k-средних строит k кластеров, расположенных на возможно больших расстояниях друг от друга. Выбор числа k может базироваться на результатах предшествующих исследований, теоретических соображениях или интуиции. Общая идея алгоритма: заданное фиксированное число k кластеров наблюдения сопоставляется кластерам так, что средние в кластере (для всех переменных) максимально возможно отличаются друг от друга.

Описание алгоритма

1.Первоначальное распределение объектов по кластерам. Выбирается число k, и на первом шаге эти точки считаются «центрами» кластеров. Каждому кластеру соответствует один центр.

2.Итеративный процесс. Вычисляются центры кластеров, которы-

ми затем и далее считаются покоординатные средние кластеров. Объекты опять перераспределяются.

Процесс вычисления центров и перераспределения объектов продолжается до тех пор, пока не выполнено одно из условий: кластерные

10

центры стабилизировались, т.е. все наблюдения принадлежат кластеру, которому принадлежали до текущей итерации; число итераций равно максимальному числу итераций.

На рис. 1.6 приведен пример работы алгоритма k-средних для k, равного двум.

Выбор числа кластеров является сложным вопросом. Если нет предположений относительно этого числа, рекомендуют создать 2 кластера, затем 3, 4, 5 и т.д., сравнивая полученные результаты. После получений результатов кластерного анализа методом k-средних следует проверить правильность кластеризации (т.е. оценить, насколько кластеры отличаются друг от друга). Для этого рассчитываются средние значения для каждого кластера. При хорошей кластеризации должны быть получены сильно отличающиеся средние для всех измерений.

Достоинства алгоритма k-средних: простота использования, быстрота использования, понятность и прозрачность алгоритма.

Недостатки алгоритма k-средних: алгоритм слишком чувствителен к выбросам, которые могут искажать среднее. Возможным решением этой проблемы является использование модификации алгоритма – алгоритм k-медианы; алгоритм с исключением сбойных (аномальных) результатов измерений. Алгоритм может медленно работать на больших базах данных. Возможным решением данной проблемы является использование выборки данных или использование метода формирования главных компонент.

Рис. 1.6. Пример работы алгоритма k-средних (k = 2)

11

1.4. Кластеризация множества элементов в Deductor

Deductor Studio – программа, являющаяся составной частью платформы Deductor. Она содержит механизмы импорта, обработки, визуализации и экспорта данных для быстрого и эффективного анализа и прогнозирования. Импорт данных является отправной точкой анализа данных. Импорт в Deductor может осуществляться из популярных форматов хранения данных, таких как Excel, Access, MS SQL, Oracle.

Для выполнения этой процедуры необходимо сделать следующее:

1. Импортировать структурированный текстовый файл с разделителями, содержащий исходные данные. Импорт данных из текстового файла с разделителями осуществляется путем вызова мастера импорта на панели «Сценарии» (рис. 1.7).

Рис.1.7. Импортирование данных из текстового файла

2. Выбрать изложенный выше метод обработки кластеризация алгоритмом k-means (при заданном количестве кластеров) или g-means (при автоматическом определении числа кластеров).

3. Провести анализ полученных результатов (рис. 1.8): назвать принадлежность объектов к классам, указать их свойства (параметры).

12

Рис. 1.8. Примеры кластеризации в Deductor

1.5.Редактирование аномалий в группах. Основные теоретические положения

Дж. Тьюки [5, 6] предложил метод с удалением выпуклых оболочек (выпуклых слоев). Процедура получила название «шелушение». Она позволяет при большом количестве точек измерения эффективно удалять сбойные результаты для объектов высокой размерности и таким образом вести адаптивную обработку данных. Рассмотрим подробнее данный подход.

Метод гиперплоскостей для построения выпуклой области

Метод гиперплоскостей заключается в последовательном включении каждой граничной точки в N-мерном пространстве в выпуклую оболочку и в исключении гиперплоскостей, оказавшихся внутри области.

Вычислительная процедура построения области работоспособности по граничным точкам методом гиперплоскостей заключается в выполнении следующих операций.

13

1. Выбираются произвольным образом первые (N + 1) граничные точки (на рис. 1.9 для N = 2 точки 1, 2, 3) и строятся по ним (N + 1) гиперплоскости (для N = 2 прямые 1 – 2, 2 – 3, 3 – 1). Для каждой построенной гиперплоскости запоминаются координаты граничных точек, по которым она построена, и координаты ее вершины.

Вершиной данной гиперплоскости условимся называть ту точку из выбранных (N + 1) точек, через которую не проводится гиперплоскость (на рис. 1.9 точки 1 и 2 являются соответственно вершинами гиперплоскостей 2 – 3 и 1 – 3).

1

2

6 4

3

5

 

Рис. 1.9. Пример построения выпуклой оболочки

2.Определяется для следующей, выбранной произвольно, граничной точки (точка 4) соответствующая ей генеральная гиперплоскость (прямая 1 – 3). Генеральной гиперплоскостью данной граничной точки будем называть гиперплоскость, вершина которой и данная граничная точка расположены по разные от нее стороны.

Генеральных гиперплоскостей для данной граничной точки может быть несколько (для точки 5 прямые 1 – 4, 3 – 4), особенно при построении многомерных областей работоспособности. Поэтому поиск генеральной гиперплоскости осуществляется среди всех ранее построенных гиперплоскостей.

Отсутствие генеральной гиперплоскости для граничной точки означает, что точка находится внутри области, образованной ранее проведенными гиперплоскостями.

3.Выполняется п. 1 для данной граничной точки и точек, через которые была ранее проведена ее генеральная плоскость, найденная в п. 2. Затем стираются значения коэффициентов генеральной гиперплоскости, координаты ее вершины и точек, через которые она проведена. В противном случае область может быть построена неверно, так как генеральная гиперплоскость пересекает ее, а также может быть принята за генеральную гиперплоскость для последующих граничных точек.

Аналогичные действия выполняются для каждой генеральной гиперплоскости, если их для данной граничной точки несколько. При этом среди вновь проведенных гиперплоскостей будут одинаковые (на рис. 1.9

14

через точки 4 и 5 дважды проводится прямая 4 – 5), информация о которых должна стираться по тем же причинам, что и для генеральных гиперплоскостей.

4. Выбирается следующая по порядку граничная точка, и все повторяется с п. 2.

После перебора всех граничных точек процесс построения области работоспособности заканчивается и производится определение знаков «³», «£» для системы линейных неравенств.

Блок-схема алгоритма построения области работоспособности по граничным точкам приведена на рис. 1.10.

Блок 1.

Производится выбор первых (N + 1) граничных точек из массива всех граничных точек.

Блок 2.

Процедура построения гиперплоскости через заданные N граничных точек занимает центральное место в данном алгоритме. Коэффициенты гиперплоскости (неравенства) определяются в результате решения системы линейных алгебраических уравнений (N + 1)-го порядка. Систему получают в результате составления уравнений гиперплоскостей, записав вместо переменных координаты N точек, через которые необходимо провести гиперплоскость:

aX1 + bY1 + ... +

cH1 +

k =

0 ;

 

aX 2 + bY2 + ... +

cH2 +

k = 0 ;

(1.1)

aX N + bYN + ... + cH N +

k =

0 .

Так как количество неизвестных коэффициентов (N + 1), то необходимо одному из них задать произвольное значение, например a = 1. Однако в этом случае невозможно построить гиперплоскость, параллельную оси координат X.

Аналогично, если присвоить значение другому коэффициенту b = 1 уравнений (1.5.1), то предлагаемый подход будет неприменим для построения гиперплоскостей, параллельных соответствующим осям координат, а при задании k ¹ 0 – для построения гиперплоскостей, проходящих через начало координат.

С целью устранения второго недостатка вводятся (N + 1)-я переменная z и дополнительная точка (точка 4 на рис. 1.11). Тогда построение гиперплоскости осуществляется в (N + 1)-м пространстве, а произвольное значение присваивается коэффициенту при переменной z. Координаты дополнительной точки (точка 4) необходимо выбирать такими, чтобы ни одна из гиперплоскостей не была параллельна оси координат (N + 1)-й переменной z. Это требование выполняется, если значение хотя бы одной из координат дополнительной точки (не считая координаты по оси z) меньше минимального или больше максимального значения со-

15

ответствующей координаты множества граничных точек. Значения остальных координат задаются произвольно.

 

Начало

 

 

 

 

 

 

 

 

7

 

1

Выбор первых

 

 

Все

Да

 

 

граничные

 

 

 

 

 

(N+1) граничных

 

 

точки?

 

 

точек

 

 

 

 

 

 

 

8

Нет

 

2

 

 

 

 

Построение

 

Выбор следующей по

 

 

 

порядку граничной

 

 

(N+1)-й гипер-

 

 

 

 

 

точки

 

 

плоскости

 

 

 

 

 

 

 

 

 

3

 

9

Поиск

 

 

Да

 

 

 

1 шаг?

 

генеральной

 

 

 

гиперплоскости

 

 

 

 

 

 

Нет

 

 

 

 

 

4

 

 

10

 

 

Все генер.

Нет

 

Есть генер.

Нет

 

плоскости

 

 

гиперплос-

 

 

найдены?

 

 

кость

 

 

Да

 

 

Да

 

 

 

11

 

 

 

5

 

 

 

 

 

Определение координат

 

 

 

 

 

 

Генераль-

Нет

гранич. точек генеральн.

 

 

ных

 

гиперплоскостей

 

 

плоскостей 2?

 

 

 

 

6

Да

 

12

 

 

Поиск и удаление

 

 

Определение

 

 

 

 

 

 

 

знаков неравенств

 

 

одинаковых

 

 

 

 

 

£ ”, “³

 

 

гиперплоскостей

 

 

 

 

 

 

 

 

 

 

 

 

Конец

 

Рис. 1.10. Блок-схема алгоритма

16

X

2

1

3

Y

4

Z

Риc. 1.11. Пример построения гиперплоскости

Рис. 1.11. Пример построения гиперплоскости

В результате решения системы (N + 1)-го порядка (1.1) определяются значения коэффициентов (N + 1)-й гиперплоскости. Исключение из уравнений гиперплоскостей дополнительной переменной позволяет получить область в N-мерном пространстве (заштрихованная область на рис. 1.11).

Блоки 3, 4.

Производится проверка – первые ли (N + 1) гиперплоскостей построены. Если первые, то осуществляется поиск генеральной гиперплоскости. В противном случае выполняется проверка – все ли генеральные гиперплоскости найдены и использованы при построении гиперплоскостей для данной граничной точки.

Блоки 5, 6.

После построения всех гиперплоскостей для данной граничной точки внутри области работоспособности оказываются генеральная гиперплоскость и одна или несколько пар одинаковых гиперплоскостей, если генеральных гиперплоскостей больше одной (рис. 1.10).

Как указывалось ранее, при дальнейшем построении выпуклой оболочки эти гиперплоскости могут быть приняты за генеральные для последующих граничных точек, что приведет к неправильному построению области работоспособности. Поэтому при переходе к следующей граничной точке значения их коэффициентов необходимо исключить.

Блоки 7, 8.

Проверяется наличие граничных точек. Если есть граничные точки, которые еще не включены в выпуклую оболочку, то выбирается следующая точка из массива граничных точек и процесс построения области работоспособности продолжается далее.

17

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]