Название: Двумерная кластеризая по предельному расстоянию. Дискретная математика
Вид работы: курсовая работа
Рубрика: Математика
Размер файла: 111.03 Kb
Скачать файл: referat.me-218902.docx
Краткое описание работы: Изучение основных вопросов теории графов и области ее применения на практике. Разработка алгоритма кластеризации по предельному расстоянию и построение минимального остовного дерева каждого кластера. Результаты тестирований работы данного алгоритма.
Двумерная кластеризая по предельному расстоянию. Дискретная математика
Федеральное агентство по образованию
ГОУ ВПО "ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"
Кафедра «Автоматизированные системы обработки информации и управления»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОМУ ПРОЕКТУ
по дисциплине «Дискретная математика»
ДВУМЕРНАЯ КЛАСТЕРИЗАЦИЯ ПО ПРЕДЕЛЬНОМУ РАССТОЯНИЮ
Омск – XXX
Реферат
Отчёт 14с., 1ч., 12рис., 0табл., 3источника, 0прил.
ГРАФ, КЛАСТЕР, МИНИМАЛЬНОЕ ОСТОВНОЕ ДЕРЕВО.
Предметом курсового проекта является кластеризация.
Цель работы – разработка алгоритма кластеризации по предельному расстоянию и построение минимального остовного дерева каждого кластера.
В ходе работы был разработан алгоритм кластеризации.
В результате работы было написан алгоритм, решающий данные задачи.
Введение
Часто бывает полезно и наглядно изображать некоторую ситуацию в виде рисунка, состоящего из точек (вершин) и линий (рёбер), соединяющих некоторые вершины. Такие изображения получили названия графа.
Теория графов получила широкое применение на практике. Она применяется в гражданском строительстве, электротехнике, социологии и экономике и в других областях.
Одной из задач теории графов является кластеризация и построение минимального остовного дерева. Эти задачи часто возникают на практике: при группировке результатов поиска, проектировании компьютерных систем, соединении городов, составлении электрических цепей.
Целью данной работы является разработка алгоритма, выполняющего данные задачи.
Отчет содержит четыре раздела:
- постановка задачи курсового проектирования – это раздел, в котором описывается задача курсового проекта;
- схемы алгоритмов – это раздел, в котором описывается алгоритм и его схема;
- теоретический анализ – теория, необходимая для выполнения поставленной задачи;
- результаты тестирования – это раздел, в котором описываются результаты тестирований на правильность работы разработанного алгоритма.
1 Постановка задачи курсового проектирования
Реализовать алгоритм кластеризации заданного набора точек по предельному расстоянию d. После кластеризации граф каждого кластера редуцировать до минимального остовного дерева.
2 Теоретический анализ
Граф G - это математический объект, состоящий из множества вершин X = {x 1 , x 2 ,..., x n } и множества ребер A = {a 1 , a 2 ,..., a k }.
Связный граф — такой граф, в котором между любой парой вершин существует по крайней мере один путь.
Взвешенный граф — граф, каждому ребру которого поставлено в соответствие некоторое значение (вес ребра).
Вес ребра — значение, поставленное в соответствие данному ребру взвешенного графа. Обычно вес — вещественное число и его можно интерпретировать как «длину» ребра.
Если ребрам графа приданы направления от одной вершины к другой, то такой граф называется ориентированным. Ребра ориентированного графа называются дугами. Если направления ребер не указываются, то граф называется неориентированным (или просто графом).
Подграф исходного графа — граф, содержащий некое подмножество вершин данного графа и некое подмножество инцидентных им рёбер.
Матрица смежности графа G с конечным числом вершин n (пронумерованных числами от 1 до n ) — это квадратная матрица A размера n , в которой значение элемента ai j равно числу ребёр из i -й вершины графа в j -ю вершину.
Матрица смежности простого графа является бинарной матрицей и содержит нули на главной диагонали.
Кластерный анализ — задача разбиения заданной выборки объектов (ситуаций) на подмножества, так, чтобы каждый кластер состоял из схожих объектов, а объекты разных кластеров существенно отличались.
Кластер — группа элементов, характеризуемых общим свойством.
В данном случае в кластеры объединяются точки, находящиеся на расстоянии меньше предельного d .
Лес — неориентированный граф без циклов. Компонентами связности леса являются деревья.
Дерево — это связный граф, не содержащий циклов.
Минимальное остовное дерево (или минимальное покрывающее дерево) в связанном, взвешенном, неориентированном графе — это остовное дерево, имеющее минимальный возможный вес. Вес дерева — сумма весов входящих в него рёбер.
В данном курсовом проекте для построения минимального остовного дерева используется алгоритм Краскала. Рёбра графа упорядочиваются в порядке не убывания их весов и последовательно добавляются к графу. Если добавление нового ребра приведёт к образованию цикла, то это ребро пропускается. Подграф данного графа, содержащий все его вершины и найденное множество рёбер, является его остовным лесом минимального веса.
3 Схемы основных алгоритмов
3.1 Пошаговый алгоритм
Шаг 1. Заполнение матрицы весов T .
Шаг 2. Создание матрицы смежности С .
Шаг 2а. Если расстояние между двумя точками s > d , то в матрицу заносится 0, иначе 1.
Шаг 2б. Повторение шага 2 N раз;
Шаг 3. Создание матрицы минимального остовного дерева ТТ ;
Шаг 3а. Если ttii = 0, ttjj = 0, то ttij = tij , ttii = k , ttjj = k , k = k +1, где tij – минимальный положительный элемент матрицы T ;
Шаг 3б. Если ttii = 0, ttjj ≠ 0, то ttij = tij , ttii = ttjj ;
Шаг 3д. Если ttii ≠ 0, ttjj = 0,то ttij = tij , ttjj = ttii ;
Шаг 3е. Если ttii ≠ 0, ttjj ≠ 0, ttii ≠ ttjj , то ttij = tij , ttii =l , ttjj = l , где l – наименьшее из ttii иttjj ;
Шаг 3ж. Если ttii ≠ 0, ttjj ≠ 0, ttii = ttjj , то tij = -1;
Шаг 4. Проверка диагональных элементов матрицы Т T ;
Шаг 4б. Если ttzz = 1, то повторить шаг 4. Иначе m = 0;
Шаг 5. Повторять алгоритм с шага 3 до тех пор, пока m ≠ 1;
3.2 Схема алгоритма.
Решение данной задачи состоит из нескольких этапов: кластеризации и построения минимального остовного дерева. Схемы этих алгоритмов, изображены на рисунках 2 – 4. Общая схема алгоритма изображена на рисунке 1.
![]() |
Рисунок 1 – Схема основного алгоритма
![]() |
Рисунок 2 – Алгоритм кластеризации
![]() |
Рисунок 3 – Алгоритм построения минимального остовного дерева
![]() |
Рисунок 4 – Алгоритм построения минимального остовного дерева (продолжение)
4 Результаты тестирования
Было проведено 3 различных эксперимента.
4.1 Тест первый.
Пусть граф содержит 8 вершин, координаты которых заданы случайным образом, а взвешенная матрица Т представлена на рисунке 5. Предельное расстояние d = 5;
Рисунок 5 – Тест первый (часть 1)
Шаг 1. Обнуление матрицы дерева ТТ .
Шаг 2. Составляем матрицу смежности С .
Шаг 2а. Если расстояние между двумя точками s > d , то в матрицу заносится 0, иначе 1.
Шаг 2б. Повторение шага 2 8 раз. Полученная в результате матрица смежности представлена на рисунке 6.
Рисунок 6 – Тест первый (часть 2)
Шаг 3. Составляем матрицу дерева ТТ .
Шаг 3а. Первоначально в матрице на главной диагонали все нули, значит
tt 11 = tt 22 = ... = tt 88 = 0, k = 1;
Шаг 3б. Находим минимальный элемент матрицы Т - t 12 = 0,5. Включаем данное ребро в матрицу ТТ и увеличиваем значение счётчика k = k + 1 = 2;
Шаг 3г. Находим следующий минимальный элемент и повторяем все действия из шага 3б. Таким образом перебираем всю матрицу.
Шаг 4. На главной диагонали матрицы ТТ находятся все 1. Полученная матрица представлена на рисунке 7.
Рисунок 7 – Тест первый (часть 3)
4.1 Тест второй.
Результат выполнения алгоритма с 20-ю вершинами, заданными случайными координатами и предельным расстоянием равным 2,5 представлен на рисунке 8.
Рисунок 8 – Тест второй (часть 1)
На данном рисунке видно, что граф был разбит на 8 кластеров. Увеличим предельное расстояние до 3. Из рисунка 9 видно, что количество кластеров сократилось до 4.
Рисунок 9 – Тест первый (часть 2)
Продолжая постепенно увеличивать предельное расстояние, увидим, что в итоге граф будет представлять собой один кластер. Минимальное остовное дерево этого кластера представлено на рисунке 10.
Рисунок 10 – Тест первый (часть 3)
Из этого теста видно, что с увеличением предельного расстояния количество кластеров уменьшается. Минимальное остовное дерево строится верно. Значит, в данном тесте программа работает верно.
4.3 Тест третий
Составим граф из 7 вершин, координаты которых и предельное расстояние представлены на рисунке 11.
Рисунок 11 – Тест второй (часть 1)
Построим данный граф. Остовное дерево данного графа, а так же матрицы смежности, расстояний и остовного дерева представлены на рисунке 12.
Рисунок 12 – Тест второй (часть 2)
Заключение
При рассмотрении данной задачи был изучен один из разделов теории графов кластеризация и построение минимального остовного дерева по алгоритму Краскала.
Результатом курсового проекта является алгоритм, выполняющий необходимые задачи.
Список использованных источников
1 Канева О.Н. Дискретная математика. – Омск: ОмГТУ, 2009. -87с.
2 Кристофидес Н. Теория графов. Алгоритмический подход.- М.: Мир, 1978.-433с.
3 Новиков Ф.А. Дискретная математика для программистов. – СПб: Питер, 2000. -304с.
Похожие работы
-
Разработка алгоритма и программного обеспечения для решения прикладной задачи теории графов
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ»
-
Кластерный анализ и метод горной кластеризации
Классификация методов кластеризации и их характеристика. Метод горной кластеризации в Matlab. Возможная область применения кластеризации в различных предметных областях. Математическое описание метода. Пример использования метода на реальных данных.
-
Деревья и их свойства (частный вид графов)
Вид графов, используемых в теории электрических цепей, химии, вычислительной технике и в информатике. Основные свойства деревьев. Неориентированный граф. Алгоритм построения минимального каркаса. Обоснование алгоритма. Граф с нагруженными ребрами.
-
Математическая логика и теория алгоритмов
Постановка задачи, построение модели, описание алгоритма описание переменных и программа, расчёт вычислительной сложности.
-
Использование математических методов и моделей в управлении микроэкономическими системами
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ
-
Построение минимального остовного дерева графа методом Прима
Алгоритм построения минимального остовного дерева, история его формирования. Построение минимального остовного дерева. Алгоритм Прима, его содержание и назначение. Порядок составления и тестирования программы, ее интерфейс и правила эксплуатации.
-
Моделирование систем
Составление таблицы значений функции алгебры логики и нахождение всех существенных переменных. Связный ориентированный и взвешенный граф. Построение функции полиномом Жегалкина. Текст программы для алгоритма Дейкстры. Определение единиц и нулей функции.
-
Нахождение минимального остовного дерева алгоритмом Краскала
Минимальное остовное дерево связного взвешенного графа и его нахождение с помощью алгоритмов. Описание алгоритма Краскала, возможность строить дерево одновременно для нескольких компонент связности. Пример работы алгоритма Краскала, код программы.
-
Передаточная функция дискретной системы
Определение связи между выходом и входом для непрерывных систем. Вычисление передаточной функции и основы структурного метода дискретной системы. Расчет передаточной функции дискретной системы с обратной связью. Передаточные функции цифровых алгоритмов.
-
Нахождение кратчайших путей в графе Алгоритм Йена
Содержание 1. Введение……………………………………………………………. 2. Логико-функциональная модель алгоритма……………………… 2.1. Теоретические сведения………………………………………...