між членами поділу.
Класифікація проводиться в наступних цілях:
систематизація об'єктів деякої області і фіксування їх властивостей і відносин,
пошук впорядкованих об'єктів.
2. Розробка алгоритму оптимальної класифікації одновимірного впорядкованої множини на основі «склеювання з найближчим»
. 1 Основні положення алгоритму методу оптимального «склеювання» класів
Вихідні дані:
- кількість класів, на які необхідно розбити впорядкована множина Х,
- кількість класифікованих елементів у множині Х,
,, - значення елементів впорядкованої множини Х.
Нехай I - кількість класів після деякого розбиття множини Х.
Інформацію про розбиття на класи пропонується зберігати у вигляді безлічі (),, де - містить номер першого елемента в класі i.
Будемо вважати, що -ий «фіктивний» клас починається з «фіктивного» елемента з номером,
.
В якості початкового розбиття на класи можна розглянути розбиття, в якому в кожен клас входить тільки один елемент. У даному випадку кількість класів і значення елементів множини (),, задаються наступними співвідношеннями,
,
,.
Метод оптимального «склеювання» класів полягає в наступному.
Для виконання чергового оптимального «склеювання» двох сусідніх класів необхідно:
) Знайти похибки подання всіх попарних об'єднань сусідніх класів.
.2 Алгоритми первісного розбиття
Тривіальним початковим розбиттям є «просте» розбиття на класи, при якому в кожен клас входить точно один елемент классифицируемого множини.
Наведемо лістинг функції, що реалізує вказане «просте» розбиття.
Лістинг 1. Функція, що реалізує алгоритм «простого» початкового розбиття
//функція простого первісного розбиття
//повертає кількість классовf_init0 (int * n, int N0)
{i; (i=0; i lt; (N0 + 1); i ++)
{[i]=i;
} N0;
}
Для підвищення швидкодії процесу розбиття множини,, на класи пропонується застосовувати алгоритм початкового розбиття на задану кількість класів,
.
Пропонований метод первісного розбиття передбачає виконання наступних умов:
) ширина класу повинна бути не більше заданої величини,
) сусідні (суміжні) елементи повинні належати різним класам, якщо відстань між ними більше заданої величини ширини розриву.
3. Програмна реалізація методу оптимальної класифікації одновимірного впорядкованої множини на основі «склеювання з найближчим»
В якості середовища розробки [3, 4, 5] методу оптимальної класифікації одновимірного впорядкованої множини на основі «склеювання з найближчим» обрано середовище MSVisualStudio 2013.
Вході виконання роботи була розроблена програмна реалізація методу оптимальної класифікації одновимірного впорядкованої множини на основі «склеювання з найближчим», і виконана перевірка його працездатності.
. 1 Інтерфейс програмної реалізації
«Метод оптимальної класифікації одновимірного впорядкованої множини на основі« склеювання з найближчим »» реалізований у вигляді консольного застосування Win32 написаного на мові програмування С ++ [6, 7].
Вихідні дані про значеннях елементів классифицируемого безлічі вводяться з файлу.
У вікні консольного застосування з'являється діалог, що дозволяє ввести кількість класів, на яке необхідно розбити вихідне безліч елементів (рисунок 3.1).
Малюнок 3.1 - Введення кількості класів у вікні консольного застосування «Метод оптимальної класифікації одновимірного впорядкованої множини на основі« склеювання з найближчим »»
Потім у вікні консольного застосування виводяться вихідні дані, введені з файлу, і їх кількість.
Після виконання розрахунків за класифікацією у вікні консольного застосування виводяться значення центрів тяжіння класів, похибка представлення вихідних даних у кожному класі при оптимальному розбитті, значення середньоквадратичного відхилення при оптимальній і рівномірної класифікації (рисунок 3.2).
Рисунок 3.2 - Висновок результатів класифікації
Для завершення роботи програми слід натиснути будь-яку клавішу.
Після завершення розрахунків у файл виводяться наступні результати роботи програми:
Кількість елементів вихідного безлічі;
Кількість класів, на яке необхідно розбити вихідне безліч елементів;
...