Секция ««Информатика и автоматизированные системы»
УДК 004.652.2
Т. В. Пермина Научный руководитель - О. Н. Моргунова Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
БИБЛИОТЕКА ПРОЦЕДУР ДЛЯ РАБОТЫ С ИЕРАРХИЧЕСКИМИ СТРУКТУРАМИ ДАННЫХ
Предлагается библиотека процедур на языке высокого уровня для выполнения иерархических операций в базах данных реляционного типа. Библиотека проектируется с учетом различных методов хранения иерархий.
Иерархические структуры данных занимают важное место во всех областях информационных технологий, а особенно в организации баз данных. Хранение иерархий в реляционных базах данных сопряжено с целым рядом проблем, обусловленных спецификой реляционной модели. При управлении иерархическими структурами данных используется ряд так называемых иерархических операций [1]: добавление элемента в дерево с заданным родителем; удаление заданного элемента; удаление поддерева; перемещение поддерева; поиск родителя; поиск множества предков; поиск множества потомков и др.
В настоящее время известен ряд подходов к организации хранения иерархий в реляционных базах данных [1].
1. Метод реляционного моделирования иерархии списком смежности. Хранение прямых связей между родителем и его сыновьями.
2. Метод реляционного моделирования иерархии материализацией пути. При использовании данного метода в кортеж реляционного отношения вводится поле, которое определяет путь от корня до текущего элемента.
3. Метод реляционного моделирования иерархии вложенными множествами. Кодирование каждого элемента древовидной иерархии двумя числами.
4. Метод реляционного моделирования иерархии вложенными интервалами. Использование в качестве границ не целые, а рациональные или вещественные числа.
5. Метод реляционного моделирования иерархии транзитивным замыканием. Расширяет метод списка смежности.
Для выполнения иерархических операций используются команды языка SQL. При этом ряд операций выполняется с помощью одной-двух SQL-команд. Выполнение таких операций для программиста не представляет трудностей. Однако существуют иерархические операции, выполнение которых требует формирования значительного количества SQL-команд, что делает данную процедуру весьма трудоемкой.
Мною предлагается разработать библиотеку процедур для реализации иерархических операций при использовании различных методов хранения иерархий. Для разработки библиотеки предполагается использование языка программирования С/С++. Каждая функция библиотеки будет соответствовать одной иерархической операции. Функция должна принимать ряд параметров: имя базы данных, имя таблицы, в которой хранится иерархия, имена полей, содержащих идентификаторы объектов, входящих в иерархию, и др.
Использование предлагаемой библиотеки позволит повысить эффективность работы прикладного программиста с иерархическими структурами данных.
Библиографическая ссылка
1. Celko J. Trees and Hierarchies in SQL for Smar-ties. Morgan Kaufmann, 2004.
© Пермина Т. В., Моргунова О. Н., 2010
УДК 519.68
Е. Ю. Побирский Научный руководитель - В. В. Тынченко Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
СИСТЕМА АВТОМАТИЗИРОВАННОГО СИНТЕЗА ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
ГЕНЕТИЧЕСКИМИ АЛГОРИТМАМИ
Исследуются проблемы проектирования искусственных нейронных сетей произвольной архитектуры. Рассматриваются задачи адаптации генетического алгоритма к решению задач выбора эффективной структуры и обучения нейросети.
Общеизвестно, что искусственные нейронные сети (ИНС) способны решать сложнейшие научно-технические задачи, в том числе те, решение кото-
рых не поддается формализации. Но для достижения наилучших результатов при решении этих задач необходимо автоматизировать процедуры формиро-
Актуальные проблемы авиации и космонавтики. Информационные технологии
вания эффективной архитектуры ИНС, а также ее обучения. Задача автоматизации этих процедур является актуальной, поскольку методы ее решения все еще плохо изучены [1].
Для решения задач выбора эффективной архитектуры и обучения ИНС было решено использовать генетический алгоритм (ГА), поскольку подобные алгоритмы не требуют информации о свойствах оптимизируемой функции, обеспечивают глобальный просмотр пространства решений, а также позволяют избежать локальных экстремумов [2].
С точки зрения архитектуры ИНС наиболее общим случаем является сеть, в которой каждый нейрон может быть связан с любым другим (в том числе и с самим собой). Чтобы закодировать топологию такой ИНС, наиболее приемлемым способом видится кодирование с помощью матрицы, где номера строк и столбцов будет соответствовать номерам нейронов. Таким образом, элементы, стоящие выше главной диагонали подматрицы A-A будут кодировать прямые связи, элементы на главной диагонали - аето-связи (связь нейрона с самим собой), а элементы под ней - обратные связи; Ненулевое значение элемента матрицы кодирует наличие связи, нулевое значение - ее отсутствие.
А - А ■■*
с; , д
: о— о—►Гч
Я,
Л
А—>А A—«-R
К
Структура матрицы весовых коэффициентов многосвязной ИНС
Чтобы иметь возможность решать задачу выбора эффективной архитектуры ИНС с помощью генетического алгоритма, необходимо определить данную задачу в терминах ГА:
Хромосома (решение) - один вариант топологии сети. Количество генов хромосомы будет равно количеству элементов матрицы топологии.
Пространство решений - пространство, размерность которого равна количеству генов в хромосоме (и количеству элементов матрицы).
Функция пригодности (приспособленности) -функция, оценивающая качество выбранной архитектуры по значению ошибки обучения ИНС. Следовательно, чтобы выполнить такую оценку, сначала необходимо обучить сеть.
Обучение ИНС заключается в нахождении такой совокупности весовых коэффициентов связей между нейронами, при которой сеть выдавала бы удовлетворительные по точности ответы на всем множест-
ве обучающей выборки. Наилучшим способом кодирования весов при данном представлении топологии является кодирование с помощью матрицы, размер которой эквивалентен размеру матрицы топологии ИНС. Элементы этой матрицы - весовые коэффициенты соответствующей связи.
Определим задачу обучения ИНС в терминах ГА:
- Хромосома - один вариант совокупности весовых коэффициентов. Количество генов хромосомы равно количеству элементов в матрице весов.
- Пространство решений - пространство, размерность которого равна количеству генов.
- Функция приспособленности - функция оценки качества обучения ИНС.
Опираясь на вышеописанные положения, была разработана программная система автоматизированного синтеза ИНС произвольной архитектуры, позволяющая формировать эффективную архитектуру нейросети, а также обучать ее. Для того чтобы иметь возможность работать с системой, необходимо:
1. Загрузить данные о конфигурации ИНС (количество нейронов каждого типа, характер актива-ционных функций) и параметрах ГА (размер популяции, тип используемой селекции, вероятность мутации, и др.) из файла конфигурации.
2. Загрузить обучающую выборку из предварительно отформатированного файла.
По окончании загрузки параметров задачи инициализируется популяция особей - топологий ИНС, после чего последовательно выполняются генетические операторы селекции, скрещивания и мутации. Оценивание пригодности каждой особи, задающей топологию ИНС, требует обучения нейросети с указанной топологией. Для обучения сети инициализируется популяция особей - матриц весовых коэффициентов, и так же выполняются генетические операторы. Пригодность этих особей определяет среднеквадратичная ошибка обучения.
Разработанная программная система была успешно апробирована при решении ряда тестовых задач.
На основании полученных результатов можно сделать вывод, что применение разработанной программной системы позволяет автоматизировать сложный и плохо формализуемый процесс синтеза ИНС произвольной архитектуры, что, в свою очередь, даст возможность широкому кругу прикладных специалистов эффективно использовать нейро-сетевое моделирование при решении практических задач.
Библиографические ссылки
1 Комашинский В. И., Смирнов Д. А. Нейронные сети и их применение в системах управления и связи. М. : Горячая линия-Телеком, 2003.
2 Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы : пер. с польск. М. : Горячая линия-Телеком, 2004.
© Побирский Е. Ю., Тынченко В. В., 2010