«Создание базы данных мини- кодов графов» Едигарев А.В.

advertisement
«Создание базы данных миникодов графов»
Едигарев А.В.
Перечень выбранных инструментов

СУБД MySQL 5.6;

C# 4.0;

библиотека MySQL Connector for .NET.
Анализ поставленной задачи

Цель моей курсовой работы — написать
приложение, получающее мини-коды всех
графов с количеством вершин до 10
включительно и заносящее их в БД. Также в
базу данных помещаются: количество
вершин графа, набор степеней вершин, а
также визуальное представление графа.
Подзадачи




Получить n! графов, изоморфных данному
Найти все коды неизоморфных графов с
количеством вершин от 2 до 10
включительно
Построить визуальное представление
графа, а также занести его в БД.
Разработать пользовательский интерфейс
для автоматизации полученной задачи.
Получение графов, изоморфных
данному

Для получения графов, изоморфных
данному, генерируется n! перестановок
числовой последовательности от 1 до n.
Затем в соответствии с каждой
перестановкой p элементы A[i, j] меняются
на A[p[i], p[j]]. Полученная матрица
преобразуется обратно в мини-код.
Нахождение кодов неизоморфных графов


Процедура нахождения кодов
неизоморфных графов работает таким
образом:
1) Код графа ищется среди уже имеющихся
соответствий другим кодам

2) Если такого соответствия нет, то новый
код дописывается в список уникальных и
для него генерируется n! кодов
изоморфных ему графов. Эти коды также
помечаются как уже «пройденные».
Визуальное представление графа

Для визуального представления графа
используется программа dot
пакета GraphViz. На рисунке -
полный граф с 5 вершинами
Структура БД

Rank — количество вершин графа

Code — мини-код

Degree — набор степеней вершин

Image — визуальное представление
Пользовательский интерфейс
приложения

Графический интерфейс пользователя
состоит из единственной формы:
Спасибо за внимание!
Download