- •Архитектуры вычислительных систем
- •Нейрокомпьютерные системы
- •2 Нейронные сети обратного распространения с непрерывной функцией активации: архитектура, алгоритмы обучения, применение.
- •3 Конструируемые нейронные сети с конкурирующими нейронами: архитектура, применение.
- •4. Обучаемые нейронные сети с конкурирующими нейронами: архитектура, алгоритмы обучения, применение.
- •Базы данных
- •1 Понятие «базы данных». Основные компоненты базы данных.
- •2 Архитектура системы баз данных.
- •3 Нормальные формы БД. Нормализация данных.
- •4 Язык SQL для работы с реляционными базами данных.
- •5 Хранимые процедуры, триггеры, транзакции.
- •Системы поддержки принятия решений
- •1 Сравнительный анализ парадигм исследования операций и принятия решений. Классификация типов проблем по Г. Саймону.
- •2 Основные элементы многокритериальной задачи принятия решения. Выявление цели и определение типа задачи. Формирование множества альтернатив, критериев, шкал.
- •Структуры данных
- •1 Временная сложность алгоритма. Сравнительный анализ алгоритмов поиска.
- •Алгоритмы поиска в неупорядоченных массивах
- •Алгоритмы поиска в упорядоченных массивах
- •Анализ алгоритма блочного поиска
- •Сортировка Шелла
- •Пирамидальная сортировка
- •Анализ пирамидальной сортировки
- •Улучшенная сортировка обменом 1
- •Анализ улучшенной сортировки обменом 1
- •Улучшенная сортировка обменом 2
- •Анализ улучшенной сортировки обменом 2
- •Анализ улучшенной сортировки обменом 2 аналогичен анали-зу улучшенной сортировки обменом 1. Порядок функций ВС этих алгоритмов в лучшем и худшем случаях одинаковый.
- •Алгоритм быстрой обменной сортировки
- •7 Структуры данных типа граф. Представление графов в памяти. Алгоритмы прохождения в «глубину» и в «ширину». Топологическая сортировка. Матрица достижимости.
- •Технология разработки программного обеспечения
- •1 Технология разработки программного обеспечения. Основные этапы на примере классического жизненного цикла.
- •2 Описание технического задания по ГОСТ.
- •3 Паттерны проектирования. Формат описания.
- •Описание паттернов.
- •Результаты применения паттернов:
- •4 Кодирование. Стандарты на кодирование. Кодирование и проектирование. Исходный код как главный проектный документ.
- •5 Рефакторинг. Цели, описание, примеры.
- •6 Системы управления версиями. Использование в проектах.
- •7 Тестирование. Виды тестирования. Разработка через тестирование.
- •Человеко-машинное взаимодействие
- •2 Применение метафор, идиом, аффордансов и стандартов в пользовательском интерфейсе. Основные принципы. Примеры.
- •4 Основные элементы пользовательского интерфейса и удобство их использования. Особенности. Рекомендации.
- •Теория языков программирования
- •3 Регулярные языки и конечные распознаватели. Использование конечных распознавателей в трансляторах.
- •4 Лексические анализаторы. Основные функции, проектирование и методы программной реализации.
- •5 Нисходящий анализ методом рекурсивного спуска.
- •6 Транслирующие грамматики. Построение нисходящих МП-трансляторов.
- •7 Грамматики польского перевода. Построение восходящих МП-трансляторов.
- •Теория вычислительных процессов
- •1 Автоматы Мили и Мура. Трансформация автоматов. Эквивалентность и минимизация.
- •2 Функциональная эквивалентность, логико-термальная эквивалентность и изоморфизм стандартных схем программ.
- •3 Стандартные и рекурсивные схемы программ. Алгоритмы трансляции.
- •4 Анализ сетей Петри с использованием дерева достижимости и матричных уравнений.
- •Объектно-ориентированное программирование
- •5 Общая характеристика классов в объектно-ориентированном программировании. Особенности реализации классов в различных объектно-ориентированных языках программирования.
- •Сети ЭВМ и телекоммуникации
- •1 Каналы передачи данных. Физический канал. Логический канал. Понятие блока данных. Пример формата блока данных любого протокола.
- •2 Структуризация сетей. Понятие и характеристики основных сетевых топологий. Структурообразующие аппаратные средства и программное обеспечение.
- •4 Характеристика протоколов IP, TCP, ARP, ICMP, POP3, SMTP.
Нейрокомпьютерные системы
1 Нейронные сети прямого распространения с дискретной функцией активации:
архитектура, алгоритмы обучения, применение.
Сети прямого распространения – сети без обратных связей. В таких сетях нейроны входного слоя получают входные сигналы, преобразуют их и передают нейронам первого скрытого слоя, и так далее вплоть до выходного, который выдает сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал n-го слоя передастся на вход всех нейронов
(n+1)-го слоя;
Искусственные нейронные сети, предназначенные для решения конкретных задач, могут содержать от нескольких нейронов до тысяч и даже миллионов элементов. Каждый отдельный искусственный нейрон имеет некоторое множество входов, на которые подаются компоненты х1,
... хn входных векторов или изображений и постоянный сигнал смещения x0 = 1. Все входные сигналы суммируются с учетом весов w0, w1, ..., wn связей нейрона:
а затем сигнал суммы воздействует на функцию активации нейрона.
Простейшие нейроны обладают следующими функциями активации:
1. Биполярная
2. Бинарная
Алгоритмы обучения.
Для адаптации, настройки обучения весов связей нейрона может использоваться несколько методов. Рассмотрим один из них, получивший название правила Хебба. В соответствии с
правилом Хебба, если предъявленному биполярному изображению соответствует неправильный выходной сигнал y, то веса связей нейрона адаптируется по формуле , где
- соответственно вес i-й связи нейрона до и после адаптации;
- компоненты входного изображения;
- сигнал смещения;
y - выходной сигнал нейрона.
В более полной форме алгоритм настройки весов связей нейрона с использованием правила Хебба выглядит следующим образом:
Шаг 1. Задается множество состоящее из пар
- входное изображение, |
- необходимый выходной сигнал |
нейрона, |
. |
|
|
Инициируется веса связей нейрона: |
. |
|
Шаг 2. Для каждой пары |
пока не соблюдается условия |
останова |
выполняются шаги 3-5. |
|
|
Шаг 3. Инициируется множество входов нейрона: |
|
|
Шаг 4. Инициируется выходной сигнал нейрона:
Шаг 5. Корректируется веса связей нейрона по правилу:
Шаг 6. Проверка условий останова.
Для каждого входного изображения рассчитывается соответствующий ему выходной сигнал
:
Если вектор рассчитанных выходных сигналов равен вектору заданных сигналов нейрона, т.е. каждому входному изображению соответствует заданный выходной сигнал, то вычисление прекращается (выполняется шаг 7), иначе переход к шагу 2 алгоритма.
Шаг 7.Останов.
Использование группы из m биполярных нейронов позволяет существенно расширить возможности сети и распознавать до различных изображений. Правда, применение этой сети для распознавания (или близких к чисел) различных изображений может приводить к неразрешимым проблемам адаптации весов связей нейросети.
Часто рекомендуют использовать данную архитектуру для распознавания только m различных изображений, задавая каждому из них единичный выход только на выходе одного А- элемента (выходы остальных нейронов при этом должны принимать значение -1).
Шаг 1. Задается множество состоящее из пар -
входное изображение, - необходимый выходной сигнал нейрона,
Инициируется веса связей нейронов: .
Шаг 2. Каждую пару проверяют на правильность реакции нейронной сети на входное изображение. Если полученный выходной вектор сети ( отличается от заданного
, то выполняются шаги 3 - 5.
Шаг 3. Инициируется множество входов нейронов:.
Шаг 4. Инициируются выходные сигналы нейронов:
Шаг 5. Корректируют веса связей нейронов по правилу:
Шаг 6. Проверяют условия останова, т. е. Правильность функционирования сети при предъявлении каждого входного изображения. Если условия выполняются, то переход к шагу 2 алгоритма, иначе - прекращение вычислений ( шаг 7).
Шаг 7. Останов.
Применение.
1. Несмотря на простоту отдельного нейрона он может быть использован для решения ряда задач распознавания и классификации изображений. Поскольку выходной сигнал у двоичного нейрона принимает только два значения, то нейрон можно использовать для классификации предъявляемых изображений на два класса:
Пусть первому классу Х1 соответствует выходной сигнал у =1, а классу Х2 - сигнал у = -1. Если, например, предъявлено некоторое изображение и его взвешенная сумма входных сигналов превышает нулевое значение:
то выходной сигнал у = 1 и, следовательно, входное изображение Хa принадлежит классу Х1. Если S ≤ 0, то у = -1 и предъявленное изображение принадлежит второму классу.
2. Возможно использование отдельного нейрона и для выделения у множества классов M =
изображений единственного класса Xi. В этом случае полагают, что один из двух возможных выходных сигналов нейрона (например, 1) соответствует классу Xi, а второй - всем остальным
классам. Поэтому, если входное изображение приводит к появлению сигнала если у = -1 (или у = 0, если используется бинарное кодирование), то это означает, что предъявленное изображение не принадлежит выделяемому классу.