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

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

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

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

2020-04-01 98
Расчет значений фитнесс функций всех рыб 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 выполнить процесс добычи


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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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



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

0.009 с.