Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb97955

.pdf
Скачиваний:
21
Добавлен:
13.02.2021
Размер:
978.55 Кб
Скачать

- 20 -

Шаг 9. Проверяются условия останова.

Рассчитываются входной и выходной сигналы нейрона при предъявле-

нии изображения X 1:

9

S1 xi2wi w0 1 0 1 ( 2) 1 0 1 0 ( 1) 2 1 0 1 ( 2) ( 1) 0

i1

1 0 0 6;

y1 1, так как S1 0.

Рассчитываются входной и выходной сигналы нейрона при предъявле-

нии изображения X 2 :

9

S 2 xi2wi w0 1 0 ( 1) ( 2) 1 0 1 0 1 2 1 0 ( 1) ( 2) ( 1) 0

i1

1 0 0 6;

y2 1, так как S 2 0 .

Поскольку вектор ( y1, y2 ) (1, 1) равен вектору (t1, t2 ) , то вычисления прекращаются, так как цель достигнута – нейрон правильно распознаёт заданные изображения.

Основная идея правила (2.13) – усиливать связи, которые соединяют нейроны с одинаковой по времени активностью, и ослаблять связи, соединяющие элементы с различной активностью, может быть использована и при настройке нейросетей с бинарными элементами. Правило Хебба (2.13) для однослойных бинарных сетей можно записать в виде

wi (t 1) wi (t) wi ,

(2.14)

где

 

 

 

 

 

i

 

 

 

1, если x y

1,

 

 

 

если xi 0,

 

(2.15)

wi 0,

 

1, если x

0

и y 0.

 

 

i

 

 

 

Пример 2. Пусть требуется обучить бинарный нейрон распознаванию изображений X 1 и X 2 из примера 1. При этом изображению X 1 пусть со-

ответствует выходной сигнал нейрона «+1», а изображению X 2 – «0». Применение правила Хебба в этом случае дает следующие результаты:

Шаг 1. Задаётся множество

- 21 -

M X

1

(1, 0, 1, 1, 1, 1, 0, 0, 1), 1 , X

2

, и

 

 

 

 

(1, 1, 1, 1, 0, 1, 1, 0, 1), 0

инициируются веса связей нейрона wi 0 (i 0, 9) .

Шаг 2. Для пар ( X1, 1) , ( X 2 , 1) выполняются шаги 3–5.

Шаг 3. Инициируется множество входов нейрона элементами изображения X 1:

x0 1, xi x1i ( i 0, 9) .

Шаг 4. Инициируется выходной сигнал нейрона для изображения X 1: y t1 1.

Шаг 5. Корректируются веса связей нейрона с помощью соотношений

(2.14), (2.15):

w0 w0 w0 0 1 1; w1 w1 w1 0 1 1;

w1 w3 w4 w5 w6 w9 0; w2 w2 w2 0 0 0;

w2 w7 w8 0.

Шаг 6. Инициируется множество входов нейрона элементами изображения X 2 :

x0 1, xi xi2 (i 0, 9) .

Шаг 7. Инициируется выходной сигнал нейрона для изображения X 2 : y t 2 0 .

Шаг 8. Корректируются веса связей нейрона с помощью соотношений

(2.14), (2.15):

w0 w0 w0 1 ( 1) 0; w1 w1 w1 1 ( 1) 0; w1 w3 w4 w5 w6 w9 0; w2 w2 w2 0 ( 1) 1; w5 w5 w5 1 0 1;

w2 w7 1.

w8 w8 w8 0 0 0.

- 22 -

Шаг 9. Проверяются условия останова.

Рассчитываются входные и выходные сигналы нейрона при предъявле-

нии изображений X 1, X 2 :

9

S1 x1i wi w0 1 0 0 1 1 0 1 0 1 1 1 0 0 1

i1

0 0 1 0 0 1;

y1 1, так как S1 0 ;

9

S 2 xi2wi w0 1 0 1 1 1 0 1 0 0 1 1 0 1 1

i1

0 0 1 0 2;

y2 1, так как

S 2 0 .

Поскольку вектор y1, y2 1, 0

равен заданному вектору

t1, t 2 1, 0 , то цель достигнута и вычисления прекращаются. Нейронная сеть Хебба. Использование группы из m биполярных или

бинарных нейронов A1, ... , Am (рис. 2.4) позволяет существенно расширить возможности нейронной сети и распознавать до 2m различных изображе-

ний. Правда, применение этой сети для распознавания 2m (или близких к

2m чисел) различных изображений может приводить к неразрешимым проблемам адаптации весов связей нейросети. В связи с этим часто рекомендуют использовать данную архитектуру для распознавания только различных изображений, задавая каждому из них единичный выход одного A -эле- мента (выходы остальных при этом должны принимать значение «–1» для биполярных нейронов или «0» – для бинарных).

w ji (new) w ji (old) x j yi

- 23 -

x1

 

w11

 

 

A1

y1

w1i

w i1

 

 

 

 

.

 

 

.

 

 

 

 

w1m

 

 

 

 

 

.

 

 

 

.

 

 

 

.

 

 

wn1

 

.

 

 

 

xi

 

 

 

 

 

 

 

 

wii

 

 

Ai

yi

.

 

 

 

wni

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.

 

 

 

 

.

 

 

 

 

 

 

wim

 

.

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

 

 

 

Am

 

ym

 

 

wnm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.4. Нейронная сеть из m элементов

Однослойная нейронная сеть с двоичными нейронами (рис. 2.4) может быть обучена с помощью алгоритма на основе правила Хебба. В этом случае она называется сетью Хебба. Использование других алгоритмов обучения этой же сети приводит и к изменению названия нейронной сети. Использование в названии сетей их алгоритмов обучения характерно для теории нейронных сетей. Для биполярного представления сигналов возможно обучение нейросети с помощью следующего алгоритма:

Шаг 1. Задаётся множество M X 1, t1 , ... , X m , t m , состоящее из пар (входное изображение X k x1k , ... , xmk , необходимый выходной сиг-

нал нейрона t k ( k 1,m ). Инициируются веса связей нейрона: wij 0 , j 1, n, i 1, m .

Шаг 2. Каждая пара ( X k , t k ) проверяется на правильность реакции

нейронной сети на входное изображение. Если полученный выходной век-

тор сети ( y , ...,

yk ) , отличается от заданного t1

(t , ..., tk ) , то выполняют

 

 

i

m

i

m

 

 

 

шаги 3–5.

 

 

 

 

 

 

 

Шаг 3. Инициируется множество входов нейронов:

x0 1, y j xkj

 

 

 

 

 

 

 

 

 

( j 0, n ).

 

 

 

 

 

 

 

 

 

 

 

 

Шаг 4. Инициируются выходные сигналы нейронов: y

t k (i 0, m ).

 

 

 

 

 

i

i

Шаг 5. Корректируются веса связей нейронов по правилу:

( j 0, n, i 0, m) .

- 24 -

Шаг 6. Проверяются условия останова, т. е. правильности функционирования сети при предъявлении каждого входного изображения. Если условия не выполняются, то переход к шагу 2 алгоритма, иначе прекращение вычислений (переход к шагу 7).

Шаг 7. Останов.

Порядок выполнения работы

1.Разработать структуру сети Хебба, способную распознавать 4 различные буквы Вашего имени или фамилии. При этом обосновать выбор:

числа рецепторных нейронов (число n x -элементов сети должно быть в пределах 12 n 30 );

числа выходных нейронов;

векторов выходных сигналов.

2.Разработать алгоритм и программу, моделирующую сеть Хебба. При этом в алгоритме обязательно предусмотреть возможность возникновения ситуаций с неразрешимыми проблемами адаптации весов связей нейросети.

3.Обучить нейронную сеть Хебба распознаванию четырёх заданных символов.

4.Привести набор входных символов и требуемых выходных сигналов, когда в сети возникает ситуация с неразрешимыми проблемами адаптации весов связей.

Содержание отчёта аналогично содержанию отчёта работы 1.

- 25 -

Работа 3. НЕЙРОННАЯ СЕТЬ ХОПФИЛДА

Цель работы – приобретение и закрепление знаний, а также получение практических навыков работы с простейшими нейронными сетями, для обучения которых используется алгоритм Хопфилда.

Порядок выполнения работы

1. Разработать структуру сети Хопфилда, способной распознавать 4 различные буквы Вашего имени или фамилии. При этом обосновать выбор:

числа рецепторных нейронов (число n x -элементов сети должно быть в пределах 12 n 30 );

числа выходных нейронов;

векторов выходных сигналов.

2.Разработать алгоритм и программу, моделирующую сеть Хопфилда. При этом в алгоритме обязательно предусмотреть возможность возникновения ситуаций с неразрешимыми проблемами адаптации весов связей нейросети.

3.Обучить нейронную сеть Хопфилда распознаванию четырёх заданных символов.

4.Привести набор входных символов и требуемых выходных сигналов, когда в сети возникает ситуация с неразрешимыми проблемами адаптации весов связей.

Содержание отчёта аналогично содержанию отчёта работы 1.

Работа 4. НЕЙРОННАЯ СЕТЬ КОХОНЕНА

Цель работы – приобретение и закрепление знаний, а также получение практических навыков работы с простейшими нейронными сетями, для обучения которых используется алгоритм Кохонена.

Порядок выполнения работы

1. Разработать структуру сети Кохонена, способной распознавать 4 различные буквы Вашего имени или фамилии. При этом обосновать выбор:

числа рецепторных нейронов (число n х -элементов сети должно быть в пределах 12 n 30 );

числа выходных нейронов;

векторов выходных сигналов.

-26 -

2.Разработать алгоритм и программу, моделирующую сеть Кохонена.

При этом в алгоритме обязательно предусмотреть возможность возникновения ситуаций с неразрешимыми проблемами адаптации весов связей нейросети.

3.Обучить нейронную сеть Кохонена распознаванию четырех заданных символов.

4.Привести набор входных символов и требуемых выходных сигналов, когда в сети возникает ситуация с неразрешимыми проблемами адаптации весов связей.

Содержание отчёта аналогично содержанию отчёта работы 1.

Работа 5. ИССЛЕДОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА

Цель работы – исследование двух основных способов кодирования генотипа хромосом в генетическом алгоритме и проверка их эффективности.

Порядок выполнения работы

1.Изучить особенности кодирования генетических алгоритмов.

2.Написать программу поиска минимума функции, выбрав вариант тестовой функции из таблицы.

3.Протестировать программу на выбранной тестовой функции.

4.Написать отчёт.

Тестовые функции

 

 

 

 

Функция

 

 

 

 

 

 

 

 

Значение минимума

1

 

 

 

2

3x2

2

2x1x2

 

 

 

 

 

 

(0.2558 ; 0.1163)

 

x1

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2

 

)

2

(1 x1)

2

 

 

( 0.3413 ; 0.13172)

100(x2 x1

 

 

 

 

 

 

 

 

3

12x2

 

2

4x2

2

4x1x2

 

(0.5 ; 1)

4x1

 

 

 

 

4

(x1 2)

4

(x1

2x2 )

2

 

 

 

(3.13 ; 3.00)

 

 

 

 

 

 

 

5

 

4(x1 5)

2

(x2

6)

2

 

 

 

 

(5 ; 9)

 

 

 

 

 

 

 

 

 

6

(x1 2)

4

(x1

2x2 )

2

 

 

 

(2.7 ; 1.51)

 

 

 

 

 

 

 

7

3

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

2

 

(5 ; 0.89656)

2x1

4x1x2

 

10x1x2 x2

 

 

8

 

 

 

2

4x1x2

 

2

 

 

 

 

 

( 2.938 ; 4.4479)

 

8x1

5x2

 

 

 

 

 

 

 

9

 

4(x1 5)

2

(x2

6)

2

 

 

 

 

(7.95 ; 9)

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

2

 

)

2

(1 x1)

2

 

(1 ; 1)

100(x2 x1

 

 

 

 

 

 

 

11

(x1

1)

2

(x2

 

3)

2

4(x3

5)

2

(1 ; 3 ; 5)

 

 

 

 

12

 

 

 

2

4x1x2

 

2

 

 

 

 

 

(0 ; 0)

 

8x1

5x2

 

 

 

 

 

 

 

- 27 -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончание таблицы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функция

 

 

 

 

 

 

 

Значение минимума

13

4(x1 5)

2

(x2

6)

2

 

 

(5 ; 6)

 

 

 

 

 

 

14

 

 

 

 

2

)

2

(1

x1)

2

 

 

(1 ; 1)

(x2 x1

 

 

 

 

 

 

 

15

 

 

2

)

2

100(1 x1)

2

 

(1 ; 1)

(x2 x1

 

 

 

 

 

 

16

3(x1 4)

2

5(x2

3)

2

7(2x3 1)

2

(4 ; 3 ; 0.5)

 

 

 

 

 

 

 

17

3

 

2

3x2

2x2 2

 

(1 ; 1)

x1

x2

 

 

 

18

 

 

 

 

 

2

4x2

2

4x1x2

 

(1 ; 2)

12x2 4x1

 

 

 

 

19

(x1 2)

4

 

(x1

2x2 )

2

 

(2 ; 1)

 

 

 

 

 

 

 

Содержание отчёта

1.Цель работы.

2.Краткое описание ГА на основании лекционного материала и [3], [4].

3.Описание схемы пошагового выполнения алгоритма.

4.Формализация задачи, представление программы на языке UML, спецификация программы, раскрывающая смысл работы алгоритма.

5.Листинг программы с детальными комментариями. Программа должна быть реализована в виде Windows Forms или WPF-приложения на языке С#.

6.Описание контрольного примера. Результаты тестирования программы на наборе целевых функций с указанием числа итераций и количества вычислений целевой функции.

7.Анализ результатов работы алгоритма. Предложения по улучшению работы алгоритма. Процесс отладки алгоритма с соответствующими графиками, комментариями и выводами.

8.График функции, построенный с помощью приложений MathCAD или

MatLab.

9.Выводы по работе.

Работа 6. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА МОДЕЛИРОВАНИЯ ПЕРЕМЕЩЕНИЯ БАКТЕРИЙ

Цель работы – исследование особенностей алгоритма моделирования перемещения бактерий для решения задач глобальной оптимизации.

- 28 -

Порядок выполнения работы

1.Изучить особенности алгоритма моделирования перемещения бакте-

рий.

2.Написать программу поиска минимума функции, выбрав вариант тестовой функции из таблицы. Программа должна использовать парсер.

3.Протестировать программу на выбранных тестовых функциях (5–7 функций). Результат моделирования сохранить в файле.

4.Сравнить полученные результаты работы алгоритма на выбранных тестовых функциях.

5.Написать отчёт.

Содержание отчёта для реализации алгоритма моделирования перемещения бактерий аналогично содержанию отчёта работы 5.

Работа 7. РЕАЛИЗАЦИЯ МЕТОДА ПЧЕЛИНОЙ КОЛОНИИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ГЛОБАЛЬНОЙ

ОПТИМИЗАЦИИ

Цель работы – исследование особенностей метода пчелиной колонии для решения задач глобальной оптимизации.

Порядок выполнения работы

1.Изучить особенности пчелиного алгоритма.

2.Написать программу поиска минимума функции, выбрав вариант тестовой функции из таблицы на c. 26.

3.Протестировать программу на выбранной тестовой функции.

4.Результат моделирования сохранить в файле.

5.Написать отчёт.

Содержание отчёта для реализации пчелиного алгоритма аналогично содержанию отчёта работы 5.

Работа 8. ПОИСК ОПТИМАЛЬНЫХ РЕШЕНИЙ В ЗАДАЧАХ ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ. РЕШЕНИЕ ЗАДАЧИ О КОММИВОЯЖЁРЕ

Цель работы – исследование особенностей решения задачи о коммивояжёре.

Название «Задача о коммивояжёре» устойчиво закрепилось за одной из самых интересных, практически значимых и одновременно сложных задач теории графов. Задача, берущая свое начало из работ Гамильтона, состоит в определении кратчайшего гамильтонова цикла в графе. Её решение связано

-29 -

срешением задачи о назначениях и с задачей об остове наименьшего веса

[5] (рисунок).

3

 

a

 

 

 

 

3

 

 

 

b

3

 

3

3

 

 

1

3

 

 

 

8 3

g

4

f

 

3

 

 

 

 

 

1

 

 

3

 

5

 

 

 

 

c

 

 

1

8

 

 

 

1

d

Задачу необходимо решить в общем виде.

Порядок выполнения работы

1.Формализовать задачу о коммивояжёре с помощью нескольких алгоритмов: ближайшего соседа, имитации отжига, муравьиного алгоритма.

2.Подготовить контрольный пример, используя взвешенный орграф (рисунок).

3.Найти кратчайший гамильтонов цикл.

4.Сравнить решение задачи о коммивояжёре с помощью различных алгоритмов. Результаты сравнения представить в таблице.

Содержание отчёта

1.Цель работы.

2.Краткое описание алгоритма на основании материала лекций и учебного пособия [3].

3.Описание схемы пошагового выполнения алгоритма.

4.Формальное представление программы на языке UML.

5.Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных и методов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]