В предыдущей лекции были описаны простые генетические алгоритмы для поиска масок. Интерес представляют вопросы, касающиеся оценки времени поиска масок с использованием этих алгоритмов.Кроме того, если речь идет о приближенном решении, то интересна также оценка удаленности такого решения от оптимального и скорости сходимости процесса поиска к оптимальному решению.
Вначале приведем утверждение об оценке вычислительной сложности описанных в предыдущей лекции ПГА.
Введем следующие обозначения. Пусть $$K$$ - число этапов эволюции, реализуемых ГА, $$M$$ - число особей в популяции, $$W$$ - объем памяти (в битах) для хранения одной особи.
Теорема. Пусть для ЦУ с множеством неисправностей $$F$$ получен СПР. Тогда оценка алгоритмической сложности одного запуска генетического алгоритма со структурой хромосомы (29.1) или (29.6) и с использованием любой из фитнес-функций (29.3)-(29.5), (29.7)-(29.10) равна $$O(KM\cdot(W\cdot(|F|+1)+\log{M}))$$, а объем памяти, необходимой для работы генетического алгоритма, равен $$O(2MW)$$.
Доказательство. На каждом этапе эволюции должно быть вычислено значение фитнес-функции каждой особи в популяции, после чего особи должны быть упорядочены по значениям их приспособленности.
Исходя из вида формул (29.3)-(29.5), (29.7)-(29.10), оценка вычислительной сложности для функций приспособленности сводится к оценке вычислительной сложности величин $$\rho_2$$ и $$\rho_6$$. Согласно [1] вычислительная сложность величины оценивается величиной
$$O(W\cdot(|F|+1)) $$Для вычисления значения $$\rho_6$$ необходимо также произвести
$$O(W\cdot(|F|+1))$$сравнений. Сортировка элементов популяции производится за время
$$O(M \log{M})$$Принимая во внимание тот факт, что в процессе эволюции должно быть найдено поколений, а также с учетом (30.1) -(30.3) , получим оценку вычислительной сложности, приведенную в формулировке теоремы.
На каждом этапе эволюции требуется хранение двух поколений: родительской популяции и популяции дочерних особей. Отсюда
Заметим, что один из возможных способов ускорения времени работы ПГА состоит в их распараллеливании.
Генетические алгоритмы предоставляют множество возможностей для реализации на архитектуре, допускающей параллельные процессы.
Самый простой способ распараллелить ГА - распараллелить процесс выполнения его операторов и вычисление значения фитнес-функции. В случае параллельных операторов алгоритм будет работать следующим образом. Базовый поток порождает рабочие потоки, которые могут обмениваться сообщениями с базовым с помощью некоторого интерфейса. Когда вычисления в базовом потоке доходят до параллельного оператора, формируются задания рабочим потокам. Популяция делится на равные части (по количеству рабочих потоков) и каждая часть посылается соответствующему рабочему потоку. Базовый поток продолжает свою работу после получения результатов от всех рабочих потоков. Если в процессе ожидания результатов делается вывод о некорректном завершении какого-либо рабочего потока, задание посылается повторно другому рабочему потоку, свободному в данный момент.
Важно заметить, что при такой организации ГА ему безразлично, как и в какой среде передаются сообщения, поэтому этот способ подходит для вычислительных систем любой организации: однопроцессорных ЭВМ, многопроцессорных ЭВМ или кластеров любой структуры. Эффективность такого распараллеливания зависит прежде всего от скорости передачи сообщений между потоками. Если рассматривать многопроцессорную ЭВМ с общей памятью, где скороcть передачи данных между потоками максимальна, то распараллеливание любых операторов эффективно практически во всех случаях, т. к. генотипы, хранящиеся в общей памяти, не копируются для каждого рабочего потока, а используются совместно.
Если же рассматривать кластер, где оперативная память у потоков разделена, а передача сообщений производится через локальную сеть, то необходимо произвести детальный анализ последствий распараллеливания того или иного оператора с точки зрения потерь производительности алгоритма при передаче сообщений между потоками. В целом, оператор целесообразно распараллеливать, если вычисление результата для каждого генотипа занимает гораздо большее время, чем передача генотипа в сообщении потоку и прием ответа.
Качественные оценки вычислительной сложности ПГА, полученные в сформулированной выше теореме, несомненно представляют интерес, но значительно больший интерес представляют экспериментальные данные, полученные для различных реальных ЦУ. Ниже будет представлена статистика, полученная в результате проведения численных экспериментов как на исходных данных, генерируемых случайным образом, так и на реальной ДИ для некоторых реальных ДУ.
Результаты экспериментов, демонстрируемые ниже в табл. 30.1-30.7, получены на PC Pentium III, 1024
Данные об эффективности применения представленного выше простого ГА для минимизации информации (1-я из задач, сформулированных в лекции 4) при поиске маски приведены в табл. 30.1 (эти результаты получены на случайных исходных данных).
| $$ |S|$$ | $$m|\tau|$$ | Объем ДИ, бит | Объем маски, бит | Время работы ПГА | Доля сокращенной информации по отношению к полной |
|---|---|---|---|---|---|
| 127 | 40 | 5 080 | 9 | 48 сек | 22.5% |
| 511 | 256 | 130 816 | 12 | 6 мин | 4.68% |
| 1023 | 512 | 523 776 | 18 | 12 мин | 3.51% |
| 2047 | 1024 | 2 096 128 | 19 | 2 час 7 мин | 1.85% |
| 4095 | 1024 | 4 192 256 | 24 | 15 час | 2.34% |
Эти данные были получены с использованием оператора отбора линейным ранжированием и оператора булева скрещивания. Применение других типов
В процессе проведения расчетов было эмпирически установлено, что численность популяции достаточно ограничить 50 особями, а длину жизненного цикла - 50 поколениями.
В табл. 30.2 для сравнения приведены результаты решения той же задачи поиска оптимальной маски методом полного перебора.
| $$ |S|$$ | $$m|\tau|$$ | Объем ДИ, бит | Объем маски, бит | Время поиска маски | Доля сокращенной информации по отношению к полной |
|---|---|---|---|---|---|
| 70 | 20 | 1 400 | 9 | 15 мин | 45% |
| 127 | 21 | 2 667 | 10 | 46 мин | 47% |
| 127 | 22 | 2 794 | 10 | 1 час 32 мин | 45% |
| 127 | 23 | 2 921 | 10 | 4 час 25 мин | 43% |
| 127 | 30 | 3 810 | 10 | более суток | 33% |
Как видно из этой таблицы, даже для довольно скромных размеров исходной информации (общий объем не превышал 3810 бит) поиск решения требует очень больших временных затрат. Отсюда можно сделать вывод, что для реальных задач классификации объектов с большим числом признаков (более 100) применения перебора неприемлемо.
Перейдем теперь к оценке эффективности применения разработанного простого ГА для оптимизации информации при поиске маски на случайных данных. Соответствующие результаты приведены в табл. 30.3.
| $$ |S|$$ | $$m|\tau|$$ | Объем ДИ, бит | Заданный объем маски, бит | Время работы ПГА | Доля сокращенной информации по отношению к полной | |
|---|---|---|---|---|---|---|
| 127 | 40 | 5 080 | 7 | 1.01 | 7 сек | 17.5% |
| 511 | 256 | 130 816 | 9 | 1.07 | 42 сек | 3.51% |
| 1023 | 512 | 523 776 | 10 | 1.12 | 1 мин | 1.95% |
| 2047 | 1024 | 2 096 128 | 11 | 1.21 | 35 мин | 1.07% |
| 4095 | 1024 | 4 192 256 | 12 | 1.27 | 1 час 22 мин | 1.17% |
Напомним, что данные, приведенные в табл. 30.3, были получены с применением специальных операторов булева кроссовера и
Попытки находить решение 2-ой задачи методом полного перебора показали, что здесь ситуация полностью аналогична той, что имела место для 1-ой задачи. Для реальных задач поиска маски при длине полной реакции ДУ более 100 бит метод простого перебора практически не применим.
Приведем данные для сокращения ДИ конкретных реальных устройств. В следующей серии экспериментов была использована ДИ, полученная для ЦУ из каталога ISCAS'89 [2] при моделировании одиночных неисправностей с помощью вероятностных последовательностей в качестве диагностического теста. Каждый вероятностный тест был составлен из 100 входных наборов. В множество технических состояний для ДУ было включено исправное состояние, а также по одному представителю от каждого множества неотличимых друг от друга с помощью этого теста неисправностей.
Табл. 30.4 представляет динамику нахождения решения задачи минимизации ДИ для ЦУ из набора схем каталога ISCAS'89.
Данные, приведенные в этой таблице, так же как и в табл. 30.1, получены с применением выбора линейным ранжированием, оператора однородного кроссовера и фитнес-функции (4.1).
Табл. 30.5 показывает динамику нахождения решения задачи 2 для некоторых схем из набора ISCAS'89.
| Схема | $$ |S|$$ | $$m|\tau|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | Доля сокращенной информации по отношению к полной | |||
|---|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | |||||
| S298 | 600 | 92 | 55 200 | 100 | 1.022 | 86 | 1.000 | 72 | 1.000 | 12.00% |
| S349 | 1100 | 184 | 202 400 | 183 | 1.033 | 175 | 1.000 | 156 | 1.000 | 14.18% |
| S382 | 600 | 32 | 19 200 | 39 | 1.062 | 37 | 1.062 | 38 | 1.000 | 6.33% |
| S386 | 700 | 137 | 95 200 | 145 | 1.015 | 132 | 1.000 | 117 | 1.000 | 16.71% |
| S400 | 600 | 33 | 19 800 | 44 | 1.000 | 41 | 1.000 | 37 | 1.000 | 6.17% |
| S510 | 700 | 447 | 312 900 | 320 | 1.000 | 255 | 1.000 | 206 | 1.000 | 29.43% |
| S526 | 600 | 23 | 13 800 | 31 | 1.000 | 30 | 1.000 | 29 | 1.000 | 4.83% |
| S8381 | 100 | 86 | 8 600 | 23 | 1.000 | 18 | 1.000 | 18 | 1.000 | 18.00% |
| S1494 | 1900 | 322 | 611 800 | 345 | 1.118 | 370 | 1.031 | 373 | 1.000 | 19.63% |
| S4201 | 100 | 61 | 6 100 | 20 | 1.000 | 19 | 1.000 | 19 | 1.000 | 19.00% |
| Схема | $$ |S|$$ | $$m|\tau|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | Доля сокращенной информации по отношению к полной | |||
|---|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | |||||
| S382 | 600 | 32 | 19 200 | 20 | 1.063 | 20 | 1.000 | 20 | 1.000 | 3.33% |
| S386 | 700 | 136 | 95 200 | 55 | 1.059 | 55 | 1.044 | 55 | 1.000 | 7.86% |
| S400 | 600 | 33 | 19 800 | 20 | 1.121 | 20 | 1.060 | 20 | 1.000 | 3.33% |
| S510 | 700 | 447 | 312 900 | 70 | 1.027 | 70 | 1.000 | 70 | 1.000 | 10.00% |
Так же как и в табл. 30.3 эти данные получены с применением специальных операторов кроссовера и
Стоит отметить, что, как показывает опыт, значительное увеличение длины вероятностного диагностического теста приводит к довольно малому росту числа обнаруженных с его помощью неисправностей. По этой причине увеличение
Эксперименты по нахождению индивидуальных масок проводились для ДИ полученной для ДУ из каталога ISCAS'89 при моделировании одиночных неисправностей с помощью тестовых последовательностей HITEC[3]. Так же как и в предыдущем случае в множество технических состояний было включено по одному представителю от каждого класса эквивалентности на множестве всевозможных технических состояний.
В
| Схема | $$m|\tau|$$ | $$|S|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | |||
|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | ||||
| S400 | 195 | 13284 | 2590380 | 586 | 1,492 | 693 | 1,226 | 950 | 1,000 |
| S820 | 713 | 21185 | 15104905 | 4055 | 1,547 | 5788 | 1,250 | 7152 | 1,000 |
| S832 | 720 | 21603 | 15554160 | 4483 | 1,547 | 5787 | 1,267 | 7535 | 1,000 |
| S1488 | 1360 | 22230 | 30232800 | 7497 | 1,618 | 9062 | 1,309 | 11539 | 1,000 |
| S1494 | 1361 | 23655 | 32194455 | 8520 | 1,641 | 9965 | 1,309 | 12491 | 1,000 |
Данные из этой таблицы получены с применением выбора линейным ранжированием и однородного кроссовера, при которых
Вторая серия экспериментов ставилась для задачи минимизации объема совокупности индивидуальных масок генетическим алгоритмом с фитнес-функцией (29.8). Так же как и в предыдущей серии экспериментов, наилучшие результаты были получены при отборе линейным ранжированием и использовании однородного кроссовера. Результаты этой серии экспериментов представлены в табл. 30.7.
| Схема | $$m|\tau|$$ | $$|S|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | |||
|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | ||||
| S400 | 195 | 13284 | 2590380 | 795 | 1,667 | 917 | 1,308 | 1149 | 1,000 |
| S820 | 713 | 21185 | 15104905 | 7673 | 1,976 | 11069 | 1,443 | 12915 | 1,000 |
| S832 | 720 | 21603 | 15554160 | 7061 | 2,008 | 11031 | 1,447 | 13817 | 1,000 |
| S1488 | 1360 | 22230 | 30232800 | 13587 | 1,956 | 17396 | 1,479 | 21074 | 1,000 |
| S1494 | 1361 | 23655 | 32194455 | 13507 | 1,989 | 18419 | 1,481 | 22520 | 1,000 |
Эксперименты с ДИ для реальных устройств показали, что оптимальная численность популяции для предложенных ПГА - 100 особей, а для получения приемлемого решения достаточно 70 поколений.
На следующем этапе были проведены исследования для оценки ускорения ГА при использовании многопроцессорных ЭВМ. Наиболее трудоемким этапом в ПГА для поиска маски является получение значения фитнес-функции для каждой
| Схема | $$n$$ | $$m$$ | $$|S|$$ | $$|\tau|$$ | $$m|\tau|$$ | Объем ДИ, бит |
|---|---|---|---|---|---|---|
| С499 | 41 | 32 | 985 | 184 | 5888 | 5799680 |
| С1355 | 41 | 32 | 2027 | 198 | 6336 | 12843072 |
| С2670 | 233 | 140 | 4111 | 102 | 14280 | 58705080 |
| S298 | 3 | 6 | 178 | 322 | 1932 | 343896 |
| S344 | 9 | 11 | 241 | 127 | 1397 | 336677 |
| S526 | 3 | 6 | 139 | 2258 | 13548 | 1883172 |
| S1488 | 8 | 19 | 1360 | 1170 | 22230 | 30232800 |
| S2081 | 10 | 1 | 56 | 100 | 100 | 5600 |
| Схема | Время работы алгоритма с использованием одного процессора | Время работы алгоритма с использованием двух процессоров |
|---|---|---|
| S2081 | 14 с | 9 с |
| S298 | 7 мин 16 с | 4 мин 03 с |
| S344 | 17 мин 11 с | 9 мин 44 с |
| S526 | 23 мин 30 с | 14 мин 03 с |
Из приведенных в этой таблице данных следует, что при распараллеливании ГА в системе, имеющей два процессора, время работы алгоритма сокращается практически вдвое.
Также были поставлены эксперименты по поиску масок с помощью ГА на многомашинных системах. В экспериментах использовались 4 базовых ЭВМ со следующими характеристиками: ЦП Intel Pentium D 2.8 ГГц (2 ядра), 1 ГБ ОЗУ, которые были объединены в локальную вычислительную сеть с пропускной способностью 100 Мбит/сек. Результаты этих экспериментов приведены в табл. 30.10.
| Схема | Время работы алгоритма с использованием одной двухпроцессорной машины | Время работы алгоритма с на четырех двухпроцессорных машинах | Ускорение |
|---|---|---|---|
| S1488 | 4 час 10 мин | 1 час 14 мин 57 с | 3,33 |
| С499 | 53 мин 17 с | 17 мин 41 с | 3,01 |
| С1355 | 5 час 15 мин 50 с | 1 час 21 мин 42 с | 3,86 |
| С2670 | 13 час 57 мин | 3 час 43 мин 15 с | 3,74 |
Данные из этих таблиц были получены при количестве этапов эволюции - 300 поколений и численности популяции: для схемы С2670 - 100 особей, для всех остальных ДУ - 500 особей.
Эксперименты показали, что практический смысл использования многомашинных систем имеют только вычисления со значительным объемом ДИ. В этом случае временные затраты на передачу данных по сети и синхронизацию становятся незначительными по сравнению с затратами на сами вычисления. В ходе экспериментов было установлено, что запуск на многомашинных системах ГА для поиска маски ДИ объема, не превышающего 10 мегабит, не дает преимущества во времени работы алгоритма по сравнению с запусками на одномашинной системе.
Оценка эффективности ГА - получение совокупности показателей, характеризующих качественно и/или количественно требуемый объем памяти и быстродействие генетического алгоритма.
Вычислительная сложность поиска маски- емкостные и временные оценки ГА в терминах размерности популяций, обрабатываемых ГА, и количества битов, необходимых для хранения информации об одной особи популяции.
Экспериментальные данные - совокупность результатов численных экспериментов с различными цифровыми схемами, связанных с применением ГА для поиска масок с целью сокращения объема полной ДИ упомянутых схем.
В лекции приведены многочисленные статистические данные, подтвердающие высокую эффективность описанных в предыдущей лекции
В предыдущей лекции были описаны простые генетические алгоритмы для поиска масок. Интерес представляют вопросы, касающиеся оценки времени поиска масок с использованием этих алгоритмов.Кроме того, если речь идет о приближенном решении, то интересна также оценка удаленности такого решения от оптимального и скорости сходимости процесса поиска к оптимальному решению.
Вначале приведем утверждение об оценке вычислительной сложности описанных в предыдущей лекции ПГА.
Введем следующие обозначения. Пусть $$K$$ - число этапов эволюции, реализуемых ГА, $$M$$ - число особей в популяции, $$W$$ - объем памяти (в битах) для хранения одной особи.
Теорема. Пусть для ЦУ с множеством неисправностей $$F$$ получен СПР. Тогда оценка алгоритмической сложности одного запуска генетического алгоритма со структурой хромосомы (29.1) или (29.6) и с использованием любой из фитнес-функций (29.3)-(29.5), (29.7)-(29.10) равна $$O(KM\cdot(W\cdot(|F|+1)+\log{M}))$$, а объем памяти, необходимой для работы генетического алгоритма, равен $$O(2MW)$$.
Доказательство. На каждом этапе эволюции должно быть вычислено значение фитнес-функции каждой особи в популяции, после чего особи должны быть упорядочены по значениям их приспособленности.
Исходя из вида формул (29.3)-(29.5), (29.7)-(29.10), оценка вычислительной сложности для функций приспособленности сводится к оценке вычислительной сложности величин $$\rho_2$$ и $$\rho_6$$. Согласно [1] вычислительная сложность величины оценивается величиной
$$O(W\cdot(|F|+1)) $$Для вычисления значения $$\rho_6$$ необходимо также произвести
$$O(W\cdot(|F|+1))$$сравнений. Сортировка элементов популяции производится за время
$$O(M \log{M})$$Принимая во внимание тот факт, что в процессе эволюции должно быть найдено поколений, а также с учетом (30.1) -(30.3) , получим оценку вычислительной сложности, приведенную в формулировке теоремы.
На каждом этапе эволюции требуется хранение двух поколений: родительской популяции и популяции дочерних особей. Отсюда
Заметим, что один из возможных способов ускорения времени работы ПГА состоит в их распараллеливании.
Генетические алгоритмы предоставляют множество возможностей для реализации на архитектуре, допускающей параллельные процессы.
Самый простой способ распараллелить ГА - распараллелить процесс выполнения его операторов и вычисление значения фитнес-функции. В случае параллельных операторов алгоритм будет работать следующим образом. Базовый поток порождает рабочие потоки, которые могут обмениваться сообщениями с базовым с помощью некоторого интерфейса. Когда вычисления в базовом потоке доходят до параллельного оператора, формируются задания рабочим потокам. Популяция делится на равные части (по количеству рабочих потоков) и каждая часть посылается соответствующему рабочему потоку. Базовый поток продолжает свою работу после получения результатов от всех рабочих потоков. Если в процессе ожидания результатов делается вывод о некорректном завершении какого-либо рабочего потока, задание посылается повторно другому рабочему потоку, свободному в данный момент.
Важно заметить, что при такой организации ГА ему безразлично, как и в какой среде передаются сообщения, поэтому этот способ подходит для вычислительных систем любой организации: однопроцессорных ЭВМ, многопроцессорных ЭВМ или кластеров любой структуры. Эффективность такого распараллеливания зависит прежде всего от скорости передачи сообщений между потоками. Если рассматривать многопроцессорную ЭВМ с общей памятью, где скороcть передачи данных между потоками максимальна, то распараллеливание любых операторов эффективно практически во всех случаях, т. к. генотипы, хранящиеся в общей памяти, не копируются для каждого рабочего потока, а используются совместно.
Если же рассматривать кластер, где оперативная память у потоков разделена, а передача сообщений производится через локальную сеть, то необходимо произвести детальный анализ последствий распараллеливания того или иного оператора с точки зрения потерь производительности алгоритма при передаче сообщений между потоками. В целом, оператор целесообразно распараллеливать, если вычисление результата для каждого генотипа занимает гораздо большее время, чем передача генотипа в сообщении потоку и прием ответа.
Качественные оценки вычислительной сложности ПГА, полученные в сформулированной выше теореме, несомненно представляют интерес, но значительно больший интерес представляют экспериментальные данные, полученные для различных реальных ЦУ. Ниже будет представлена статистика, полученная в результате проведения численных экспериментов как на исходных данных, генерируемых случайным образом, так и на реальной ДИ для некоторых реальных ДУ.
Результаты экспериментов, демонстрируемые ниже в табл. 30.1-30.7, получены на PC Pentium III, 1024
Данные об эффективности применения представленного выше простого ГА для минимизации информации (1-я из задач, сформулированных в лекции 4) при поиске маски приведены в табл. 30.1 (эти результаты получены на случайных исходных данных).
| $$ |S|$$ | $$m|\tau|$$ | Объем ДИ, бит | Объем маски, бит | Время работы ПГА | Доля сокращенной информации по отношению к полной |
|---|---|---|---|---|---|
| 127 | 40 | 5 080 | 9 | 48 сек | 22.5% |
| 511 | 256 | 130 816 | 12 | 6 мин | 4.68% |
| 1023 | 512 | 523 776 | 18 | 12 мин | 3.51% |
| 2047 | 1024 | 2 096 128 | 19 | 2 час 7 мин | 1.85% |
| 4095 | 1024 | 4 192 256 | 24 | 15 час | 2.34% |
Эти данные были получены с использованием оператора отбора линейным ранжированием и оператора булева скрещивания. Применение других типов
В процессе проведения расчетов было эмпирически установлено, что численность популяции достаточно ограничить 50 особями, а длину жизненного цикла - 50 поколениями.
В табл. 30.2 для сравнения приведены результаты решения той же задачи поиска оптимальной маски методом полного перебора.
| $$ |S|$$ | $$m|\tau|$$ | Объем ДИ, бит | Объем маски, бит | Время поиска маски | Доля сокращенной информации по отношению к полной |
|---|---|---|---|---|---|
| 70 | 20 | 1 400 | 9 | 15 мин | 45% |
| 127 | 21 | 2 667 | 10 | 46 мин | 47% |
| 127 | 22 | 2 794 | 10 | 1 час 32 мин | 45% |
| 127 | 23 | 2 921 | 10 | 4 час 25 мин | 43% |
| 127 | 30 | 3 810 | 10 | более суток | 33% |
Как видно из этой таблицы, даже для довольно скромных размеров исходной информации (общий объем не превышал 3810 бит) поиск решения требует очень больших временных затрат. Отсюда можно сделать вывод, что для реальных задач классификации объектов с большим числом признаков (более 100) применения перебора неприемлемо.
Перейдем теперь к оценке эффективности применения разработанного простого ГА для оптимизации информации при поиске маски на случайных данных. Соответствующие результаты приведены в табл. 30.3.
| $$ |S|$$ | $$m|\tau|$$ | Объем ДИ, бит | Заданный объем маски, бит | Время работы ПГА | Доля сокращенной информации по отношению к полной | |
|---|---|---|---|---|---|---|
| 127 | 40 | 5 080 | 7 | 1.01 | 7 сек | 17.5% |
| 511 | 256 | 130 816 | 9 | 1.07 | 42 сек | 3.51% |
| 1023 | 512 | 523 776 | 10 | 1.12 | 1 мин | 1.95% |
| 2047 | 1024 | 2 096 128 | 11 | 1.21 | 35 мин | 1.07% |
| 4095 | 1024 | 4 192 256 | 12 | 1.27 | 1 час 22 мин | 1.17% |
Напомним, что данные, приведенные в табл. 30.3, были получены с применением специальных операторов булева кроссовера и
Попытки находить решение 2-ой задачи методом полного перебора показали, что здесь ситуация полностью аналогична той, что имела место для 1-ой задачи. Для реальных задач поиска маски при длине полной реакции ДУ более 100 бит метод простого перебора практически не применим.
Приведем данные для сокращения ДИ конкретных реальных устройств. В следующей серии экспериментов была использована ДИ, полученная для ЦУ из каталога ISCAS'89 [2] при моделировании одиночных неисправностей с помощью вероятностных последовательностей в качестве диагностического теста. Каждый вероятностный тест был составлен из 100 входных наборов. В множество технических состояний для ДУ было включено исправное состояние, а также по одному представителю от каждого множества неотличимых друг от друга с помощью этого теста неисправностей.
Табл. 30.4 представляет динамику нахождения решения задачи минимизации ДИ для ЦУ из набора схем каталога ISCAS'89.
Данные, приведенные в этой таблице, так же как и в табл. 30.1, получены с применением выбора линейным ранжированием, оператора однородного кроссовера и фитнес-функции (4.1).
Табл. 30.5 показывает динамику нахождения решения задачи 2 для некоторых схем из набора ISCAS'89.
| Схема | $$ |S|$$ | $$m|\tau|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | Доля сокращенной информации по отношению к полной | |||
|---|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | |||||
| S298 | 600 | 92 | 55 200 | 100 | 1.022 | 86 | 1.000 | 72 | 1.000 | 12.00% |
| S349 | 1100 | 184 | 202 400 | 183 | 1.033 | 175 | 1.000 | 156 | 1.000 | 14.18% |
| S382 | 600 | 32 | 19 200 | 39 | 1.062 | 37 | 1.062 | 38 | 1.000 | 6.33% |
| S386 | 700 | 137 | 95 200 | 145 | 1.015 | 132 | 1.000 | 117 | 1.000 | 16.71% |
| S400 | 600 | 33 | 19 800 | 44 | 1.000 | 41 | 1.000 | 37 | 1.000 | 6.17% |
| S510 | 700 | 447 | 312 900 | 320 | 1.000 | 255 | 1.000 | 206 | 1.000 | 29.43% |
| S526 | 600 | 23 | 13 800 | 31 | 1.000 | 30 | 1.000 | 29 | 1.000 | 4.83% |
| S8381 | 100 | 86 | 8 600 | 23 | 1.000 | 18 | 1.000 | 18 | 1.000 | 18.00% |
| S1494 | 1900 | 322 | 611 800 | 345 | 1.118 | 370 | 1.031 | 373 | 1.000 | 19.63% |
| S4201 | 100 | 61 | 6 100 | 20 | 1.000 | 19 | 1.000 | 19 | 1.000 | 19.00% |
| Схема | $$ |S|$$ | $$m|\tau|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | Доля сокращенной информации по отношению к полной | |||
|---|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | Объем маски | $$\rho_2(h)$$ | |||||
| S382 | 600 | 32 | 19 200 | 20 | 1.063 | 20 | 1.000 | 20 | 1.000 | 3.33% |
| S386 | 700 | 136 | 95 200 | 55 | 1.059 | 55 | 1.044 | 55 | 1.000 | 7.86% |
| S400 | 600 | 33 | 19 800 | 20 | 1.121 | 20 | 1.060 | 20 | 1.000 | 3.33% |
| S510 | 700 | 447 | 312 900 | 70 | 1.027 | 70 | 1.000 | 70 | 1.000 | 10.00% |
Так же как и в табл. 30.3 эти данные получены с применением специальных операторов кроссовера и
Стоит отметить, что, как показывает опыт, значительное увеличение длины вероятностного диагностического теста приводит к довольно малому росту числа обнаруженных с его помощью неисправностей. По этой причине увеличение
Эксперименты по нахождению индивидуальных масок проводились для ДИ полученной для ДУ из каталога ISCAS'89 при моделировании одиночных неисправностей с помощью тестовых последовательностей HITEC[3]. Так же как и в предыдущем случае в множество технических состояний было включено по одному представителю от каждого класса эквивалентности на множестве всевозможных технических состояний.
В
| Схема | $$m|\tau|$$ | $$|S|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | |||
|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | ||||
| S400 | 195 | 13284 | 2590380 | 586 | 1,492 | 693 | 1,226 | 950 | 1,000 |
| S820 | 713 | 21185 | 15104905 | 4055 | 1,547 | 5788 | 1,250 | 7152 | 1,000 |
| S832 | 720 | 21603 | 15554160 | 4483 | 1,547 | 5787 | 1,267 | 7535 | 1,000 |
| S1488 | 1360 | 22230 | 30232800 | 7497 | 1,618 | 9062 | 1,309 | 11539 | 1,000 |
| S1494 | 1361 | 23655 | 32194455 | 8520 | 1,641 | 9965 | 1,309 | 12491 | 1,000 |
Данные из этой таблицы получены с применением выбора линейным ранжированием и однородного кроссовера, при которых
Вторая серия экспериментов ставилась для задачи минимизации объема совокупности индивидуальных масок генетическим алгоритмом с фитнес-функцией (29.8). Так же как и в предыдущей серии экспериментов, наилучшие результаты были получены при отборе линейным ранжированием и использовании однородного кроссовера. Результаты этой серии экспериментов представлены в табл. 30.7.
| Схема | $$m|\tau|$$ | $$|S|$$ | Объем полной ДИ | Результат после 40 поколений | Результат после 60 поколений | Результат после 80 поколений | |||
|---|---|---|---|---|---|---|---|---|---|
| Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | Объем маски | $$\rho(H)$$ | ||||
| S400 | 195 | 13284 | 2590380 | 795 | 1,667 | 917 | 1,308 | 1149 | 1,000 |
| S820 | 713 | 21185 | 15104905 | 7673 | 1,976 | 11069 | 1,443 | 12915 | 1,000 |
| S832 | 720 | 21603 | 15554160 | 7061 | 2,008 | 11031 | 1,447 | 13817 | 1,000 |
| S1488 | 1360 | 22230 | 30232800 | 13587 | 1,956 | 17396 | 1,479 | 21074 | 1,000 |
| S1494 | 1361 | 23655 | 32194455 | 13507 | 1,989 | 18419 | 1,481 | 22520 | 1,000 |
Эксперименты с ДИ для реальных устройств показали, что оптимальная численность популяции для предложенных ПГА - 100 особей, а для получения приемлемого решения достаточно 70 поколений.
На следующем этапе были проведены исследования для оценки ускорения ГА при использовании многопроцессорных ЭВМ. Наиболее трудоемким этапом в ПГА для поиска маски является получение значения фитнес-функции для каждой
| Схема | $$n$$ | $$m$$ | $$|S|$$ | $$|\tau|$$ | $$m|\tau|$$ | Объем ДИ, бит |
|---|---|---|---|---|---|---|
| С499 | 41 | 32 | 985 | 184 | 5888 | 5799680 |
| С1355 | 41 | 32 | 2027 | 198 | 6336 | 12843072 |
| С2670 | 233 | 140 | 4111 | 102 | 14280 | 58705080 |
| S298 | 3 | 6 | 178 | 322 | 1932 | 343896 |
| S344 | 9 | 11 | 241 | 127 | 1397 | 336677 |
| S526 | 3 | 6 | 139 | 2258 | 13548 | 1883172 |
| S1488 | 8 | 19 | 1360 | 1170 | 22230 | 30232800 |
| S2081 | 10 | 1 | 56 | 100 | 100 | 5600 |
| Схема | Время работы алгоритма с использованием одного процессора | Время работы алгоритма с использованием двух процессоров |
|---|---|---|
| S2081 | 14 с | 9 с |
| S298 | 7 мин 16 с | 4 мин 03 с |
| S344 | 17 мин 11 с | 9 мин 44 с |
| S526 | 23 мин 30 с | 14 мин 03 с |
Из приведенных в этой таблице данных следует, что при распараллеливании ГА в системе, имеющей два процессора, время работы алгоритма сокращается практически вдвое.
Также были поставлены эксперименты по поиску масок с помощью ГА на многомашинных системах. В экспериментах использовались 4 базовых ЭВМ со следующими характеристиками: ЦП Intel Pentium D 2.8 ГГц (2 ядра), 1 ГБ ОЗУ, которые были объединены в локальную вычислительную сеть с пропускной способностью 100 Мбит/сек. Результаты этих экспериментов приведены в табл. 30.10.
| Схема | Время работы алгоритма с использованием одной двухпроцессорной машины | Время работы алгоритма с на четырех двухпроцессорных машинах | Ускорение |
|---|---|---|---|
| S1488 | 4 час 10 мин | 1 час 14 мин 57 с | 3,33 |
| С499 | 53 мин 17 с | 17 мин 41 с | 3,01 |
| С1355 | 5 час 15 мин 50 с | 1 час 21 мин 42 с | 3,86 |
| С2670 | 13 час 57 мин | 3 час 43 мин 15 с | 3,74 |
Данные из этих таблиц были получены при количестве этапов эволюции - 300 поколений и численности популяции: для схемы С2670 - 100 особей, для всех остальных ДУ - 500 особей.
Эксперименты показали, что практический смысл использования многомашинных систем имеют только вычисления со значительным объемом ДИ. В этом случае временные затраты на передачу данных по сети и синхронизацию становятся незначительными по сравнению с затратами на сами вычисления. В ходе экспериментов было установлено, что запуск на многомашинных системах ГА для поиска маски ДИ объема, не превышающего 10 мегабит, не дает преимущества во времени работы алгоритма по сравнению с запусками на одномашинной системе.
Оценка эффективности ГА - получение совокупности показателей, характеризующих качественно и/или количественно требуемый объем памяти и быстродействие генетического алгоритма.
Вычислительная сложность поиска маски- емкостные и временные оценки ГА в терминах размерности популяций, обрабатываемых ГА, и количества битов, необходимых для хранения информации об одной особи популяции.
Экспериментальные данные - совокупность результатов численных экспериментов с различными цифровыми схемами, связанных с применением ГА для поиска масок с целью сокращения объема полной ДИ упомянутых схем.
В лекции приведены многочисленные статистические данные, подтвердающие высокую эффективность описанных в предыдущей лекции
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.