Расчет значений фитнесс функций всех рыб — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Расчет значений фитнесс функций всех рыб

2020-04-01 99
Расчет значений фитнесс функций всех рыб 0.00 из 5.00 0 оценок
Заказать работу

Мы устанавливаем значения размера сетки и размера блока равными grid1 и block1 соответственно. Это означает, что при запуске ядра будет выполнено N потоков и каждый из них рассчитывает фитнесс функцию для рыбы.

Приведем описание алгоритма:

)   Определяем, какое из значений фитнесс функции будем рассчитывать: i

)   Применяем арифметические операции к X[i] и храним посчитанные значения фитнесс функции в TESTF[i].

Обновление результатов оптимизации

Устанавливаем размер сетки и блока равным 1, это означает, что после запуска ядра будет выполняться только 1 поток. Это ядро сканирует массив TESTF[i] и записывает максимальную фитнесс функцию в Ymin

Расчет расстояния между рыбами

Размер сетки и размер блока принимаются grid2 и block1 соответственно. С запуском ядра параллельно будут выполняться  потоков, каждый поток ссылается на уникальную пару рыбок и рассчитывает расстояние между ними. Для преодоления латентности доступа к глобальной памяти, мы привязываем X к текстуре для кэширования элементов X и получения их из текстуры в тот момент, когда нам это нужно.

Приведём алгоритм:

)   Определяем, для какой пары рыб необходимо найти расстояние: (i1, i2)

2) If i1 ≥ N or i2 ≥ N or i2 i1 then return

Рассчитываем расстояние между двумя рыбами (i1, i2)

) Сохраняем результат в массив DIST: DIST[i1] [i2] и DIST[i2] [i1] соответственно.

Процесс добычи

Для реализации процесса добычи, каждой рыбе нужно  случайных чисел и, в связи с этим, нужно подготовить такое же число случайных целых чисел, которые будут служить указателями для массива RAND, хранящего большое число случайных чисел в глобальной памяти ГПУ.

Приведём алгоритм процесса добычи:

)   Определяем, для какой рыбы будет осуществлён процесс добычи: i

2) 

3) For  to tryNum

Do PREY(pr2t-1, pr2t, XP, i)

If preySuccess=false XP[i] X[i] + RAND [r+i]

Процесс инстинктивно-коллективного перемещения

Приведём описание для алгоритма для функции, осуществляющей коллективно-инстинктивное движение. Xc и nf здесь вляются центром позиции спутников рыбы и числом спутников рыбы соответственно. Xc-X[i]

Алгоритм:

)   Определяем процесс добычи для исполнения: i

2) 

3) If i≥ N

Then return

Рассчитываем. Xc и nf

If удовлетворяет условиям инстинктивно-коллективного движения

 

Then

If

 

Then продолжать процесс добычи

Процесс инстинктивно-волевого перемещения

Приведем описание алгоритма для функции инстинктивно-волевого перемещения. Здесь Xmin используется для записи состояния рыб с минимальной фитнесс функцией, а Fmin - минимальная фитнесс функция компаньонов данной рыбы.

Алгоритм:

)   Определяем процесс добычи для выполнения

 

2) 

3) If i≥ N

 

Then return

4) Находим компаньона рыбы с минимальной фитнесс функцией

)   Рассчитываем число компаньонов рыбы nf

 

If nf!= 0 and Fmin < TESTF[i] and nf/N < д

Then

If  then выполнить процесс добычи


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.