Материалы Международной конференции “Интеллектуальные САПР” 11. Nissen V. Einfuhrung in evolutionare algorithmen. Braunschweig: Vieweg, 1997. 12. Montana D.J. Strongly typed genetic programming// Evolutionary computation. 1995. 13. Nordin P., Banzhaf W. Evolving turing-complete programs for a register machine with selfmodifying code// Proc. of the sixth int. conf. on genetic Programming. San Francisko: Morgan Kaufmann, 1995. 14. Родзин С.И. Гибридные интеллектуальные системы на основе алгоритмов эволюционного программирования// Новости ИИ. 2000. №3. УДК 681.3.001.63 Б.К. Лебедев1 СТРУКТУРА ХРОМОСОМ ПРИ КОДИРОВАНИИ СПИСКОВ, СОДЕРЖАЩИХ ФИКСИРОВАННЫЕ ЧИСЛА НУЛЕЙ И ЕДИНИЦ Разработка генетического алгоритма включает три основных компонента: разработка структуры, принципов кодирования и декодирования хромосом; разработка основных генетических операторов; разработка общей структуры генетического поиска [1,2]. Представление исходной формулировки задачи в виде трех компонент в очень большой степени определяют усилия, необходимые для ее решения [3,4]. Для некоторых задач решение полностью определяется списком, составленным из нулей и единиц М = < 0, 1, 1, 0, 0, 1> с фиксированным числом нулей - n0 и числом единиц – n1. С помощью списка М можно некоторое множество А, мощность которого А= n0 + n1 , разбить на два подмножества А1 и А2 такие, что А1= n0, аА2= n1. Представим матрицу Р смежности (или инцидентности), задающей некоторый граф G, в виде набора строк Ri , R = {Ri | i = 1,2,3,…,n}, где Ri = {rij | j = 1,2,…, n }. Каждая строка Ri содержит фиксированное число нулей - n0 и число единиц – n1, n= n0 + n1. Путем последовательного объединения строк Ri матрица смежности R также представляется в виде списка R* с фиксированным числом нулей и единиц. Для представления неориентированных графов можно воспользоваться “треугольной” матрицей (той частью основной матрицы, которая расположена выше или ниже главной диагонали), строки которой имеют переменную длину от 1 до n. Если для всех строк “треугольной” матрицы число единиц – n1 больше нуля, то граф связен. Разработка структуры хромосомы производилась так, чтобы гены в одних и тех же локусах хромосом являлись гомологичными, так как это упрощает выполнение генетических операторов кроссинговера и мутации. Будем использовать множество нулей в качестве опорного множества для кодирования списка М. Сформируем на базе опорного множества нулей множество позиций Р (рис.1), в которых могут располагаться единицы, образующие совместно с нулями список М. Если число нулей n0, то число позиций Р равно n0+ 1. Каждая из n1 единиц может быть расположена в любой из позиций pi ∈ P = { pi i = 1, 2, …, (n0 + 1)}. Всевозможным вариантам размещения единиц в позициях Р совместно с опорным множеством нулей соответствуют всевозможные списки М. Распределение единиц по позициям будем задавать с помощью списка Q, размер которого 1 Работа выполнена при поддержке РФФИ, гранты №01-01-000-44, 02-01-01-275 51 Известия ТРТУ Тематический выпуск равен n1, а значением элемента списка является число, лежащее в диапазоне 1 ÷ (n0 + 1). Таким образом, Q является кодом списка М. Рис.1 Например, пусть n1 = 4, n0 = 4, Q = 5, 3, 3, 1. Тогда М* = <1, 0, 0, 1, 1, 0, 0, 1>. Отметим, что порядок расположения элементов в списке Q не имеет значения, важно только, какие значения имеют элементы списка Q. На основе выше изложенного хромосома, задающая набор графов, имеет следующую структуру (рис.2). H H1 H2 … Hi … Hn Рис.2 Хромосома Н = { Hi | i = 1, 2, …, n } представляет собой объединение множества частей Hi . Каждая часть Hi соответствует графу Gi (задаваемому матрицей смежности Ri). В свою очередь, каждая часть Hi = { Hik | k = 1, 2, …, ni } является объединением частей Hik (рис.3). Каждая часть Hik соответствует строке Rij матрицы Ri. Hi Hi1 Hi2 … Hik … Hini Рис.3 Структура Hik (рис.4) эквивалентна структуре кода Q, несущего информацию ik о списке M (строке Rij). Hik состоит из генов gl , значениями которых являются числа, лежащие в диапазоне 1 ÷ wik, где wik равно числу нулей плюс единица. Число генов в Hik равно числу единиц в строке Rij . Hik ik g1 ik g2 … ik gl … ik gv Рис.4 Как уже указывалось выше, порядок расположения элементов в списке Q и, следовательно, в части Hik хромосомы не имеет значения. Это приводит к избыточности пространства решений, представленного хромосомами. Пусть Pik - число перестановок элементов в списке Hik. Это значит, что одной строке Rij матрицы Ri соответствует Pik списков Hik. Тогда одному множеству графов соответствует ∑∑ P ik i хромосом. k Устранить избыточность можно путем использования модифицированной структуры хромосомы, отличающейся от основной тем, что в пределах каждой части Hik гены упорядочены по возрастанию их значений. При формировании отдельной хромосомы генам в пределах Hik присваиваются случайные значения в диапазоне 1 ÷ wik. 52 Материалы Международной конференции “Интеллектуальные САПР” При использовании модифицированной структуры в пределах каждой части Hik осуществляется упорядочение генов по возрастанию их значений. Постоянными параметрами, определяемыми исходным заданием (исходными данными) и необходимыми для оперирования с хромосомами и декодирования, являются: n - число графов; ni - число строк rik каждого графа Gi; для каждой строки rik число нулей - (wik - 1) и число единиц - vik. Трудоемкость декодирования как основной, так и модифицированной хромосом имеет одну и ту же оценку - О(L), где L - длина хромосомы. Основными генетическими операторами являются кроссинговер и мутация. Кроссинговер заключается в обмене гомологичными генами либо гомологичными участками между родительской парой хромосом. Для описанной выше основной структуры хромосомы для любой пары хромосом гомологичными являются гены, расположенные в одном и том же локусе, а гомологичными участками являются участки, соответствующие одной и той же части хромосом Hi либо Hik. В соответствии с этим используются три типа кроссинговера: 1, 2, 3. При кроссинговере 1 осуществляется обмен гомологичными частями Hi, при кроссинговере 2 - обмен гомологичными частями Hik, а при кроссинговере 3 - обмен гомологичными генами. Во всех случаях реализация кроссинговера осуществляется следующим образом. Последовательно просматриваются гомологичные участки или гены и с вероятностью PK1 для 1 (рис.5), PK2 для 2 (рис.6), PK3 для 3 (рис.7) осуществляется обмен. В случае модифицированной структуры хромосомы гомологичными будут те участки хромосом, которые не приводят к нарушению упорядоченности значений генов в пределах каждой части Hik. Поэтому после выбора родительской пары осуществляется разбиение каждой Hik на гомологичные участки. Сначала проводятся секущие линии, разделяющие в хромосоме части Hik друг от друга, т.е. ограничивающие Hik. Затем в каждой Hik последовательно просматриваются локусы, К К К К К К К К начиная со второго. Если для пары генов локусе ik К ik ik g1 l и g2 l , расположенных в текущем ik ik l родительской пары хромосом, выполняются условия g1 l ≥ g2 l −1 и ik g2 l ≥g1 l −1 , то между локусами (l - 1) и l проводится секущая линия (рис.8). H1 H11 H12 H13 H14 H1i H1i1 H1i2 H1i3 H1i4 H2 H21 H22 H23 H24 H2i H2i1 H2i2 H2i3 H2i4 ⇓ ⇓ H1' H21 H12 H23 H14 H1i H1i1 H2i2 H1i3 H2i4 H2' H11 H22 H13 H24 H2i H2i1 H1i2 H2i3 H1i4 Рис.5 Рис.6 53 Известия ТРТУ Тематический выпуск H1ik 3 1 2 4 5 H1ik 2 3 3 4 7 H2ik 1 3 5 4 3 H2ik 1 2 6 6 6 ⇓ ⇓ H1ik 1 1 2 4 3 H1ik 1 3 6 6 7 H2ik 3 3 5 4 5 H2ik 2 2 3 4 6 Рис.7 Рис.8 Участки хромосом между двумя соседними секущими линиями для данной родительской пары хромосом будут гомологичными, т.к. обмен участками не приведет к нарушению упорядоченности генов в Hik. Таким образом, кроссинговер 3 для модифицированных хромосом выполняется следующим образом. Предварительно родительская пара разбивается на гомологичные участки. Затем осуществляется последовательный просмотр пар гомологичных участков и с вероятностью PK3 осуществляется обмен (см. рис.8). Суть оператора мутации - в произвольном изменении значений генов. Реализация оператора мутации осуществляется следующим образом. Последовательно просматриваются локусы хромосом. При этом отслеживается номер части Hik, в которой расположен рассматриваемый локус. С вероятностью Pm осуществляется мутация гена в рассматриваемом локусе. При этом, в случае использования основ- К ной структуры хромосомы, гену присваивается случайное значение в диапазоне 1 ÷ wik, где wik - число горизонтальных участков в маршруте, реализующем ребро rik, плюс единица. На рис.9 мутации подверглись гены, расположенные во втором и четвертом локусах, wik = 8. В случае модифицированной структуры хромосомы ген ik gl принимает слу- чайное значение в следующем диапазоне: ik ik ik 1 ≤ g l ≤ g l +1 , если g l первый в Hik и | Hik | > 1; ik ik ik ik ik g l −1 ≤ g l ≤ wik, если g l - последний в Hik и | Hik | > 1; ik ik g l −1 ≤ g l ≤ g l +1 , если g l - ни первый, ни последний и | Hik | >1; ik 1 ≤ g l ≤ 2, если | Hik | = 1. При таком способе гены по-прежнему останутся упорядоченными по возрастанию их значений в пределах каждой части Hik. На рис.10 мутации подверглись гены во втором и пятом локусах. Во втором локусе ген может принять значение в интервале 54 2 ÷ 3, в пятом локусе - в интервале 4 ÷ 8. Материалы Международной конференции “Интеллектуальные САПР” Hik 3 • 7 8 • 2 1 7 Hik 2 • 2 3 4 • 7 8 H`ik 3 1 8 5 1 7 H`ik 2 3 3 4 6 8 Рис.9 Рис.10 Как видно из алгоритмов, реализующих операторы кроссинговера и мутации, оценка их временной сложности имеет вид (L), где L - длина хромосомы. Итак, достоинством предложенной структуры хромосомы и принципов ее декодирования является: 1) отсутствие сложных элементов; 2) линейные оценки пространственных сложностей и временных сложностей алгоритма декодирования равняется O(H); 3) хромосомы и гены, расположенные в одних и тех же локусах, гомологичные. О ЛИТЕРАТУРА 1. Handbook of Genetic Algorithms, Edited by Lowrence Davis, Van Nostrand Reinhold, New York, 1991. 385p. 2. Курейчик В.М. Генетические алгоритмы: Монография. Таганрог: Изд-во ТРТУ, 1998. 242 с. 3. Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектирования СБИС: Монография. Таганрог: Изд-во ТРТУ, 2000. 192 c. 4. Лебедев Б.К. Методы поисковой адаптации для решения оптимизационных задач // Новости искусственного интеллекта. М., 2000, №3. С.66-79. УДК.621.3.342 В.В. Курейчик, О.В. Смирнова1 ЭВОЛЮЦИОННОЕ МОДЕЛИРОВАНИЕ ПРИ ПРИНЯТИИ РЕШЕНИЙ Основой для возникновения ЭМ считается модель биологической эволюции и методы случайного поиска [1]. В [1] отмечено, что случайный поиск (СЛП) возник как реализация простейшей модели эволюции, когда случайные мутации моделировались случайными шагами оптимального решения, а отбор - «устранением» неудачных вариантов. Эволюционный поиск [2-4] с точки зрения преобразования информации в искусственных системах (ИС) – это последовательное преобразование одного конечного нечеткого множества промежуточных решений в другое. Само преобразование можно назвать алгоритмом поиска, или генетическим алгоритмом (ГА). Основная задача генетических алгоритмов оптимизировать целевую функцию. Другими словами, ГА анализирует популяцию хромосом, представляющих комбинацию элементов из некоторого множества, и оптимизирует функцию F(n). Здесь n - число генов в хромосоме. ЦФ оценивает каждую хромосому. Генетические алгоритмы манипулируют популяцией хромосом на основе механизма натуральной эволюции. 1 Работа выполнена при поддержке РФФИ, грант №02-01-01-275 55