Нейронные сети и нейроконтроллеры. Бураков М.В. - 242 стр.

UptoLike

Составители: 

242
Множество музыкантов составляют оркестр. Каждый музыкант
генерирует свою ноту. Комбинация множества звуков может поро-
дить гармоничную мелодию, при которой отдельные звуки воспри-
нимаются как единое целое. Музыканты импровизируют, пытаясь
добиться гармонии.
Можно провести параллель между процедурой достижения гар-
монии в музыке и поиском экстремума в процессе оптимизации. Так,
число музыкантов оркестра соответствует размерности пространства
поиска, нота, взятая музыкантом, значение в одном из измерений
поискового пространства, совокупность нот точка пространства по-
иска. Импровизации – случайные поисковые движения.
Алгоритм HS можно представить в виде последовательности шагов:
1. Инициализация памяти гармоний. Генерируется hms (harmony
memory size размер памяти гармоний) случайных векторов, каж-
дый из которых имеет длину n. С каждым вектором связывается зна-
чение целевой функции F(X
i
):
1 11
1
2 22
1
hms hms hms
1
... ( )
... ( )
.
... ( )
n
n
n
x x FX
x x FX
HM
x x FX
éù
êú
êú
êú
=
êú
êú
êú
êú
êú
ëû

2.Каждый вектор X преобразуется в X', так что для каждой
компоненты этого вектора:
• с вероятностью hmcr (harmony memory considering rate) выби-
рается значение из памяти гармоний:
rand 0 1 hms 1int( ( . ) )
;
i
i
xx
+
¢
¬
• с вероятностью 1 – hmcr выбирается случайное значение из до-
пустимого интервала.
3.Если компонента была выбрана из памяти гармоний, то с ве-
роятностью par (pitch adjusting rate) выполняется дополнительная
настройка:
• для дискретных переменных
;
ii
xxδ
¢¢
±
• для непрерывных переменных
rand 0 1( , ).
i
i
xxw
¢
¢
±
Если компонента была выбрана случайно, то она не меняется.