УДК 681.3(07)
В.И. ЛИТВИНЕНКО
ПРИМЕНЕНИЕ АЛГОРИТМА КЛОНАЛЬНОГО ОТБОРА ДЛЯ РЕШЕНИЯ СИСТЕМ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ______________________________________________________________
Abstract: In the given paper the features and characteristics of the clonal algorithm, intended for decision of the system algebraic equations are discussed. Clonal algorithm is very powerful method of combinatorial search; which makes decision on the base of sorting multiplicity variants of sequences from n-variables of them and represents more adaptive mechanisms than genetic algorithms when searching decisions.
Key words: clonal algorithm, genetic algorithm, combinatorial search, adaptive mechanisms.
Анотація: У даній роботі висвітлюються особливості і характерні риси клонального алгоритму, призначеного для рішення систем алгебраїчних рівнянь. Клональний алгоритм є могутнім методом комбінаторного пошуку, який будує своє рішення на основі перебору багаточисельних варіантів послідовностей із n-перемінних системи і отбору кращих з них і представляє більш адаптивні механізми, ніж генетичні алгоритми при пошуку рішень.
Ключові слова: клональний алгоритм, генетичний алгоритм, комбінаторний пошук, адаптивні механізми.
Анотация: В данной работе обсуждаются особенности и характерные черты клонального алгоритма, предназначенного для решения системы алгебраических уравнений. Клональный алгоритм является очень мощным методом комбинаторного поиска, который строит свое решение на основе перебора многочисленных вариантов последовательностей из n-переменных системы и отбора, лучших из них и предоставляет более адаптивные механизмы, чем генетические алгоритмы при поиске решений. Ключевые слова: клональный алгоритм, генетический алгоритм, комбинаторный поиск, адаптивные механизмы.
1. Введение
Иммунная система представляет большой интерес для специалистов в области информатики, так как она является примером мощных и гибких возможностей децентрализованной обработки информации. При этом иммунная система является примером биологической системы с превосходными адаптивными механизмами на локальном уровне и эмерджентных механизмов поведения на глобальном уровне. В настоящее время иммунные алгоритмы разрабатываются для решения множества задач в широкой области приложений, таких как задачи оптимизации, задачи распознавания образов и т.д. В соответствии с известными нам литературными данными, в настоящее время наибольшей популярностью из подходов, использующих иммунные алгоритмы, являются алгоритмы, применяющие механизмы отрицательного отбора, клонального отбора и модели иммунных сетей для решения задач автоматической генерации и настройки архитектуры нейронных сетей; в приложениях, ориентированных на прогнозы, защиты информации [1]. Мы провели ряд исследований по применению принципов и механизмов естественной иммунной системы, в частности теории клонального отбора. В настоящей работе мы описываем и используем алгоритм, основанный на механизмах клонального отбора.
2. Теория клонального отбора
Теория клональной селекции используется с тем, чтобы объяснить, как иммунная система “борется” против чужеродных антигенов [2]. Когда бактерия проникает в наш организм, она начинает размножаться и поражать своими токсинами клетки нашего организма. Была предложена одна из теорий, которая описывает, как иммунная система справляется с этими чужеродными антигенами. Те клетки, которые способны распознавать чужеродный антиген, размножаются асексуальным способом, пропорционально степени их распознавания: чем лучше распознавание
антигена, тем большее количество потомства (клонов) было сгенерировано. В течение процесса репродукции клетки отдельные клетки подвергаются мутации, которая позволяет им иметь более высокое соответствие (аффинность) к распознаваемому антигену: чем выше аффинность родительской клетки, тем в меньшей степени они подвергаются мутации, и наоборот. Обучение в иммунной системе обеспечивается увеличением относительного размера популяции и аффинности тех лимфоцитов, которые доказали свою ценность при распознавании представленного антигена. Основными иммунными механизмами при разработке алгоритма являются обработка определенного множества антител из набора клеток памяти, удаление антител с низкой аффинностью, созревание аффинности и повторный отбор клонов пропорционально их аффинности к антигенам [3, 4, 5].
1. Инициализация: генерация случайного начального репертуара (популяции) атрибутов
строк (иммунных клеток).
2. Популяционный цикл: для каждого антигена ВЫПОЛНИТЬ:
2.1.Отбор: отобрать клетки, имеющие наиболее высокую аффинность к антигену.
2.2. Репродукция и генетическая изменчивость: создать копии иммунных клеток, при этом чем лучше каждая клетка распознает антиген, тем больше создается ее копий.
2.3.Осуществить процедуру мутации в каждой клетке инверсивнопропорционально их аффинности: чем выше аффинность, тем меньше уровень мутации.
3. Цикл: повторять Шаг 2, пока не будет достигнут заданный критерий останова.
Рис. 1. Обобщенный алгоритм клонального отбора Основываясь на данном механизме, в общем виде алгоритм клональной селекции представлен на рис. 1. Формально клональный алгоритм можно представить следующим образом [6]:
СЬСЖЛЬО = (АЬ0, Ag, Ь, N, п, /, ё, е), (1)
где ЛЪ° - исходная популяция антител; Лg - популяция антигенов; N - количество антител в популяции; Ь - длина рецептора антитела; п - количество антител, отбираемых для клонирования (с самой высокой аффинностью); / - множительный фактор, регулирующий
количество клонов отобранных антител; ё - количество антител, подлежащих замене новыми (т.е. имеющие самую низкую аффинность); е - критерий останова. Если клональный алгоритм используется для решения задач оптимизации, а не распознавания, то популяция антигенов заменяется функцией, подлежащей оптимизации, - целевой функцией (/).
Несмотря на широту модификаций клонального алгоритма [7], все они имеют единый принцип работы: популяция антител подвергается некоторым преобразованиям, в результате которых индивидуумы увеличивают свою аффинность.
В клональном алгоритме, при решении той или иной задачи, можно использовать различные способы представления операторов, вычисление аффинности, параметров (сюда относят размер
1 Аффинность - общий термин, относящейся к качеству элемента иммунной системы в отношении внешней среды, в работе которой он помещен, в данной работе - сила связывания между антигеном и антителом называется их
популяции, вероятности применения операторов гипермутации и замещения, количество итераций, условия остановки работы клонального алгоритма). Кроме того, они обладают универсальностью в решении различных видов задач, упрощают нахождение их решения, а также позволяют полностью автоматизировать процесс поиска оптимума [8].
Таким образом, клональный алгоритм работает с совокупностью “антител” (наборов решений) - популяцией, каждая из которых представляет возможное решение данной задачи. Каждое из антител оценивается мерой пригодности согласно тому, насколько “хорошо” соответствующее ей решение задачи. Наиболее подходящие антитела получают возможность “воспроизводить” потомство с помощью гипермутации. Это приводит к появлению новых антител, которые в процессе гипермутации улучшают своё соответствие целевой функции. Антитела с наименьшей аффинностью замещаются случайно сгенерированными антителами, равномерно распределенными по всей области определения целевой функции, что позволяет не замыкаться на локальных экстремумах, а исследовать всю целевую функцию. Таким образом, происходит итеративный процесс воспроизведения новых популяций из лучших представителей предыдущего поколения. Каждое новое поколение содержит более высокое соотношение характеристик, которыми обладают лучшие члены предыдущих поколений.
3. Постановка задачи исследования
В данной работе обсуждаются некоторые особенности применения и характерные черты клонального алгоритма, предназначенного для решения систем алгебраических уравнений, описаны некоторые отличительные особенности клонального алгоритма, приспособленного для решения систем алгебраических уравнений. Сюда входят задание целевой функции, а также процедура динамического перекодирования параметров.
4. Проблемы решения систем алгебраических уравнений
Система алгебраических уравнений представляет собой совокупность из т уравнений с п неизвестными и требуется найти последовательности из п чисел, которые одновременно удовлетворяют каждому из т уравнений [9]. Если все т уравнений линейны, то такая система называется системой линейных уравнений. Если одно или несколько уравнений нелинейны, система носит название нелинейной системы уравнений. В общем виде систему алгебраических уравнений можно представить следующим образом:
'/(х1з х2,..., Хп) = 0;
Л(х1> Х2,..., Хп ) =0;
(2)
/т (Х1. Х2,...> Хп ) = 0.
В данной работе остановимся на решении систем, в которых число уравнений равно числу неизвестных, т.е. т = п . Систему линейных алгебраических уравнений часто представляют в виде произведения матрицы коэффициентов системы на столбец неизвестных:
аффинностью или степенью соответствия, комплементарности [1]. Является эквивалентом функции пригодности в эволюционных алгоритмах.
[ Л]х (X) = (В),
где [Л] - матрица коэффициентов системы; X вектор-столбец свободных членов системы.
[ А]:
(3)
вектор-столбец переменных системы; В-
і Гп " Г X: ^ Гь 1
: Г ; Г ■Г2п ;(X) = *2 ; (В) = К
1 Г 2 ■■апп _ V *п ) V Ьп ,
(4)
Существующие на сегодняшний день методы решения систем алгебраических уравнений не являются в достаточной степени универсальными, так как, согласно условиям их использования, система уравнений должна удовлетворять различного рода требованиям, ограничивающим область применения того или иного метода. Например, одними из методов решения системы уравнений (2) являются решение по правилу Крамера и методом Гаусса [10]. В
случае больших систем (п > 4) решение по правилу Крамера оказывается очень громоздким, так
как возникают трудности с нахождением определителей порядка больше 4. Метод Гаусса, хорошо применимый для систем линейных уравнений оказывается практически неприменим для решения нелинейных систем (за исключением тех случаев, когда нелинейную систему, посредством математических преобразований, например, заменой переменных, можно привести к линейному виду). Клональный алгоритм является очень мощным методом комбинаторного поиска, который строит свое решение на основе перебора многочисленных вариантов последовательностей из п переменных системы, называемых антителами, и отбора лучших из них путем оценки через прямую подстановку этих последовательностей во все уравнения системы. Таким образом, степень нелинейности системы не столь значительно сказывается на способности клонального алгоритма к ее решению, тем самым делая его наиболее универсальным методом решения систем алгебраических уравнений.
5. Предлагаемый метод решения
Создание клонального алгоритма начинается с построения целевой функции, которая содержит в себе информацию о целях задачи и их приоритетах. Для той или иной задачи цели могут выражаться по-разному. Так, целью задачи решения алгебраического уравнения вида
/ (х) = 0 (5)
является достижение баланса левой и правой частей. Целевую функцию для такого уравнения можно представить в виде
Ф(х) = /(х) ® 0; (6)
для клонального алгоритма более удобной будет запись
Ф(х) = (/(х)( ® шт . (7)
Тогда целевая функция для системы уравнений (1) представляет собой вектор, компонентами которого являются отдельные под целевые функции, стремящиеся к минимуму:
Ф(х^ x2,..., х„) = (ф1(x1, x2,..., х„X ф2(x1, x2,..., х„),..., Ф„(х^ x2,..., х„)), (8)
при т = п , где Ф1(х1,х2,..., хп) = (£(х1,х2,...,хп)( ® шт , I = 1,п.
Следовательно, решение систем алгебраических уравнений сводится к решению задачи многоцелевой оптимизации с равными приоритетами целей. Множество О значений целевой функции Ф определяет множество вариантов решений системы
О = {& ^ ^2 ,..., &п )1 & ^2 ,..., &п ) = Ф(хи Х2 ,..., хп )} , (9)
среди которых клональный алгоритм должен найти наиболее предпочтительный вариант, т.е. вектор , все компоненты которого минимальны. Однако для нормальной работы клонального
алгоритма необходимо иметь скалярное значение аффинности для каждого варианта решения. Для этого вводится функция аффинности, объединяющая все компоненты & и дающая на выходе значение, которое воспринимается клональным алгоритмом как значение аффинности антител его популяции. В данной работе используется один из наиболее простых способов задания функции аффинности, выражающееся формулой
( п ^
Р(&) = 1п (& (• 2 & I и (10)
V 1=1 У
р(&) ® ш1п.
Не менее важным элементом при создании клонального алгоритма является способ представления данных, с которыми он работает. В нашем случае в качестве данных выступают последовательности из п переменных системы в двоичном представлении. Каждая переменная х{
кодируется в виде строки бит размером с . Вследствие того, что все антитела имеют одинаковый,
фиксированный размер, клональный алгоритм может работать на ограниченном множестве решений. Для того чтобы определить такое множество, в качестве параметров клонального алгоритма устанавливаются интервалы изменения для всех переменных системы с одинаковым шагом изменения внутри каждого интервала. Величина с1 определяет количество возможных
вариантов значений переменной х1 в интервале [а1, Ь ]. В случае двоичного представления
данных каждая переменная х1 может принимать в интервале [а1, Ь ] 2с значений. Тогда
количество всех возможных вариантов решений системы (1) определится формулами:
п
” Ёс
К = П 2с или К = 2и , (11)
1=1
где К - количество возможных вариантов решений системы алгебраических уравнений.
Из (11) видно, что увеличение параметра с1 вызывает увеличение К, а это может
отрицательно сказываться на поисковой способности клонального алгоритма, так как в этом случае происходит значительное увеличение количества вариантов неверных решений, т.е. антител с низкой аффинностью, которые являются помехами в поисковом процессе. С другой стороны,
уменьшение значения величины сг приводит к увеличению размера шага изменения переменной
хг в интервале [аг, V ], что обуславливает появление "мертвых зон" в ландшафте решений, но
которые могут содержать в себе лучшее решение. Для преодоления указанных трудностей в данной работе использован метод, называемый динамическим перекодированием параметров, который заключается в том, что при наступлении определенных условий в работе клонального алгоритма границы интервалов изменения всех переменных системы пересчитываются для новых, уменьшенных интервалов, и процесс продолжается до тех пор, пока не будет достигнуто нужное качество решения или не будет выполнено необходимое количество итераций. Границы интервалов в итерации для г -й переменной системы рассчитываются по следующим формулам:
V
а1! = хг11
иґ-і аи~і
2
ьи-1 - аг-1
ьг = хВ1+ьV, г ^2
(12)
ЛІ-1
где Хв - значение переменной х для лучшего антитела, полученного в предыдущей итерации; Ъ'*~1, а!_ - границы интервала для г -й переменной в предыдущей итерации; V - функция сжатия интервала (0 < Vi < 1).
Условиями для пересчета границ является совпадение популяции в итерации г1_1, т.е.
ситуация, когда гены всех хромосом популяции в соответствующих позициях становятся одинаковыми. Характерные особенности некоторых систем алгебраических уравнений позволяют значительно ускорить процесс их решения при помощи клональных алгоритмов.
Рассмотрим, например, систему линейных уравнений вида
а11 а12 0 0 0 . .. 0 0 0. .. 0 0 0 " ' Х1 ^ (ь 1
а21 а22 а23 0 0 . .. 0 0 0. .. 0 0 0 Х2
0 а32 азз а34 0. .. 0 0 0. .. 0 0 0 Х3 Ь3
0 0 а43 а44 а45 . .. 0 0 0. .. 0 0 0 X Х4 = ... 4ь
0 0 0 0 0. . а-1 аи а+1 . .. 0 0 0 Х ь
0 0 0 0 0. .. 0 0 0. . ап-1п-2 ап-1п-1 а , п-1п Хп-1 . -п : -О
0 0 0 0 0. .. 0 0 0. .. 0 апп-1 а пп V Хп ) ь а
(13)
Как видно из выражения (13), ненулевые коэффициенты матрицы располагаются только на трех ее диагоналях. Каждое г +1 значение х может быть вычислено из г-го уравнения системы
при известных хг и хг-1, т.е.:
для первого уравнения
Хг +1 = /г (Хг, Хг-1) ,
(14)
Х2 = /1(Х1) , (15) тогда после некоторых математических преобразований систему (13) можно представить в виде
Хі+1 = /г (Хг, Хг-1);
уравнение представляет собой балансовое уравнение, в котором известны все переменные. На основании этого уравнения строится целевая функция, выражаемая формулой
при помощи которой можно непосредственно задавать значения пригодности хромосомам. Приведение системы (13) к виду (16) избавляет от необходимости включения в состав антитела полного набора переменных (х1,..., хп). В данном случае антитело должно состоять только из
одной переменной х1, что при прочих равных условиях (количество бит, используемое для кодирования переменных, фиксированный размер антител и т.д.) позволяет значительно сократить время работы алгоритма и расход памяти на содержание популяции антител.
Системы, подобные (13), часто используются для описания некоторых физических и физико-химических процессов. В частности, подобной системой пользуются в химической и нефтехимической промышленности для инженерных расчетов противоточных каскадов ректификационных колонн.
В качестве экспериментальных задач были выбраны две системы алгебраических уравнений:
- система линейных алгебраических уравнений:
Ф =\/п (Хп , Х„-1)1® тІП ,
(17)
Х1 - 0,7 Х2 + 9 Х3 + 3, 6х4 + 5, 9х5 + 3х6 + 7 Х7 = 22,9;
2х1 +1,7Х2 - 5х3 + 4,7Х4 + 5х5 + 2,7х6 - 3,7Х7 = 27;
1,5х1 + 2,6х2 + 5,1х3 + 7,6 Х4 + 4,9х5 + 8,3х6 +1,7 Х7 = 37;
< 1, 8х1 + 7, 1х2 + 3х3 + 8, 5х4 - 5,9Х5 + х6 + 7, 8х7 = 23,6;
1,7Х1 + 6,7Х2 + 9,5х3 -1,6Х4 + 3,7Х5 - 9,5х6 + 5,8х7 = 45,1; 7 Х1 - 7,7 Х2 + 5, 6х3 + 3,7 Х4 + 2,5х5 + 9х6 + 7,7 Х7 = 12,4;
3х1 + 9,7 Х2 + 3, 5х3 - 7, 6х4 + 2, 9х5 + 3, 1х6 + 8, 1х7 = 34;
(18)
- нелинейная система алгебраических уравнений:
Х1 - Х22 + 3х+Х4 - 5х2х5 - 2х3 -15 = 0; 2(Х1 - Х2)2 + 2Х23 + (Х3 - Х5)3 +15 = 0; < 3(Х2 - Х3)2 - (Х2Х3 +1)2 + 3х52 - 2 = 0; 8х1 - 7Х22 + (3х2 -Х3Х4)2 = 0;
(19)
Х1 ■ 2Х2 + 5х3 - 3х4 + 3х52 - 3 = 0.
Ввод :
n - количество переменных системы
a (n),b (n) - границы интервалов изменения для каждой переменной системы
c (п) - вектор представления переменных системы
V (п) - вектор функций сжатия интервалов £ - качество решения l - количество итераций
loop unti l Decision_quality £ £ or l = 0
Vars = 0
i = 1
loop) until i = n
Vassi = Variable_encoding_procedure(ai,bi,ci) //Задание интервалов изменения для всех переменных системы
i = i + 1 endloop
Population = Create_population(Vars) // Создание первой популяции антител
New_population = 0 // Оценка аффинности каждого антитела в популяции Make_ affinity(Poeulation-l)
loop) until Convergence // Условие: стовпгад^ние популяции
// Осуществление селекции антител с самой высокой аффинностью Клонирование антител с //самой высокой аффиннрстью
Make_ Clonoue_ Antibody (Population_Best_antibody) /н Гипермутнеия получеовых лучших антител Hypermutation(Best_Antibody/ //Определение аффинности измененных клонов Make_affinity_antibody_from (modifieе_beсt_antibody)
// Селекция из^ненных ^ит^тел с симпИ высокоП аффинноатью New_population = Select antibody_from(modified_best_antibody) // Замена части старой популяции новой Population-2 = Replace_antibody_from(New_population)
// Разнообразие репертуара: заменить подмножество антител с самой низкой аффинностью новыми // // // индивидуумами
Neg_Select= Replace_ worst_antibody_lTom (Population-2)
NNeeww__vvaarrss== 0 i = 1
loop) until i = n
New_vars i = Variable_decoding_prrosedure(Best_antibody)/n Процедура декодирования переменных системы // Перекодирование параметров для новой итерации
b - Oii
ai = New _ var si------ ----Vt
bi — ai
bt = New _ var si +---- ----Vi
i = i + -endloop
и = I- 1
endloop
Вывод!: Best_antibody - лучшее решение
Рис. 2. Алгоритм динамического перекодирования
Эксперименты проводились с одинаковыми параметрами клонального алгоритма для обеих систем, приведенных ниже:
- начальный диапазон значений для всех переменных: [-50, 50];
- количество бит представления для всех переменных: с = 5;
- функция сжатия интервала для всех переменных представлена формулой
V = 1 -ТГ , (20)
г 2С‘
где - степень сжатия интервала (0 < < сг) , г = 1,п; степень сжатия интервала для всех
переменных: э =3; размер популяции антител: 50; вероятность замещения: 0,9; вероятность гипермутации: 0,07.
Критерием качества решения выбрано значение функции аффинности, которое не должно превышать 0,0000005.
Эксперименты проводились на ЭВМ типа 1ВМ РС АТ 804860X2-66. Решение системы линейных уравнений продолжалось в течение 1 мин. В результате были получены корни системы: х =4,45331; х2 =3,12814; х3 =1,44209; х4=1,31441; х5 =2,11429; х6 =-0,42241; х7 =-1,18305. Решение нелинейной системы уравнений продолжалось в течение 42 секунд. В результате решения получены следующие корни: х1 =0,70639; х2 =-1,95692; х3 =-0,92561; х4 =1,37341;
х5 =1,49586. Необходимо отметить, что корни (х1,...,х5) нелинейной системы не являются
единственными на выбранном интервале. Поэтому для ее решения, на наш взгляд, целесообразно воспользоваться алгоритмом искусственной иммунной сети [11, 14], который использует дополнительно функцию антигенных взаимодействий и функцию взаимодействия внутри сети между антителами, которые добавляют эффект метадинамики, т.е. приток новых элементов и гибель нестимулируемых антител [12]. Этот механизм иммунной сети позволит одновременно определять несколько корней системы на заданном интервале.
6. Заключение
В данной работе рассмотрен случай использования алгоритма, использующего принципы клонального отбора и процесса созревания аффинности адаптивного иммунного ответа. Разработанный алгоритм предназначен для решения систем алгебраических уравнений. Следует отметить что, сравнивая клональный алгоритм и генетический алгоритм при решении рассматриваемого класса задач [13], важно, что основные шаги генетического алгоритма используются в клональном алгоритме. Однако, наряду с тем, что в генетическом алгоритме используется терминология, позаимственная из генетики, на основе теории дарвинской эволюции в предложенном алгоритме используются понятия и механизмы, позаимствованные из теоретической иммунологии. Помимо этого, в данном алгоритме используется формализм, опирающиеся на понятия взаимодействия антиген - антитело (Ag - ЛЬ - взаимодействия). В отличие от генетического алгоритма предложенный алгоритм осуществляет свой поиск при помощи механизмов соматической гипермутации, редактирования рецепторов и сбалансированного использования лучших решений с исследованием пространства поиска. Клональный алгоритм в целом может быть охарактеризован как кооперативный и вместе с тем как конкурентный подход, где отдельные антитела конкурируют за оптимизацию или распознавание антигенов, но целевая функция будет сотрудничать как ансамбль индивидуумов, представляющих конечное решение. Сравнивая наши ранние работы по решению систем алгебраических уравнений [13] с полученными
последними результатами с помощью клонального алгоритма следует отметить, что в то время, как генетический алгоритм имеет тенденцию концентрировать целую популяцию индивидуумов к лучшему кандидату решения, то клональный алгоритм позволяет получать разнообразное множество локальных решений, в том числе и глобальный оптимум. Что касается особенностей механизма работы клонального алгоритма, то следует заметить, что в данном алгоритме используется значение аффинности получаемого антитела (решения), для того, чтобы определить уровень мутации, который нужно применить к каждому члену популяции, в генетических же алгоритмах принимаемый уровень мутации и кроссинговера обычно игнорирует пригодность индивидуального решения (хромосомы). Таким образом, клональный алгоритм предоставляет более адаптивные механизмы, чем генетические алгоритмы при поиске решений.
СПИСОК ЛИТЕРАТУРЫ
1. De Castro L.N. & Timmis J. Artificial Immune Systems: A New Computational Intelligence Approach. - 2002. - 357 р.
2. Burnet F.M. A modification of Jerne's theory of antibody production using the concept of clonal selection. Australian Journal of Science 20. - 1957. - P. 67-69.
3. Ройт А. Основы иммунологии: Пер. с англ. - М.: Мир, 1991. - 328 с.
4. Ройт А., Бростофф, Мейл Д. Иммунология: Пер. с англ. - М.: Мир, 2000. - 582 с.
5. Вершигора А.Е. Общая иммунология: Учебное пособие. - К.: Выща школа, 1989. - 736 с.
6. Литвиненко В.И., Фефелов А.А., Горавский С.П. Объектно-ориентированная реализация алгоритма клональной селекции // Радіоелектроніка. Інформатика. Управління. - 2003. - № 9. - С. 81-88.
7. De Castro L.N., Von Zuben F.J. Artificial Immune Systems. - Part II: A Survey of Applications, Technical Report. -RT DC A 02/00, FEEC/UNICAMP. - Brazil, 2000. - 64 p.
8. De Castro L.N., Von Zuben F.J. The Clonal Selection Algorithm with Engineering Applications, submitted to GECC0'00. - 2000. - P. 36-37.
9. Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и учащихся втузов. - М.: Наука. Гл. ред. физ.-мат. лит., 1981. - 720 с.
10. Лихолетов И.И. Высшая математика, теория вероятностей и математическая статистика. - Минск: Высшая школа, 1976. - 720 с.
11. De Castro L.N., Von Zuben F.J. An Artifitial Immune Network for Data Analysis // Data Mining: A Heuristic Approach, Hussein A. Abbass, Ruhul A. Sarker and Charles S. Newton (eds.) Idea Group Publising. - USA, 2001. -Vol. XII. - P. 231-259.
12. Erelson A.S. Immune network theory // Immunological Reviews. - 1989. - Vol. 110. - P. 5-33.
13. Литвиненко В.И., Фефелов А.А., Ткачук А.А. Генетические алгоритмы в математическом моделировании // Вестник Запорожского университета. - 2001. - № 2. - C. 61-68.
14. Грицик В.В., Литвиненко В.І., Цмоць І.Г., Стех С.М. Теоретичні і прикладні проблеми застосування штучних імунних систем // Інформаційні технології і системи. - 2003. - Т. 6, №1-2. - C. 7-45.