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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

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

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


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

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

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

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...



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

0.007 с.