Назад в библиотеку

Эволюционный синтез аналоговых схем конструкции VLSI

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

Термины: синтез, аналоговая схема, генетический алгоритм, генетическое программирование, оператор репродукции, оператор кроссинговера, оператор мутации, SPICE.

Аналоговые схемы, будучи  замененными  на цифровые схемы во многих случаях, остаются очень важными в высокоскоростных приложениях, таких  как коммуникация. Синтез аналоговой схемы очень труден, и традиционно представлен специалистами у которых есть запас опыта и интуиция. В последнее время используется оптимизация алгоритмов, что привело к  большому прогрессу в синтезе автоматической аналоговой схемы. Определенная оптимизация алгоритма, которая была применена к задаче автоматизации синтеза аналоговой схемы, является Генетический Алгоритм (ГА). Эта лекция даст обзор о том, как генетические алгоритмы развивались и использовались для синтеза аналоговых схем.

Аналоговая схема характеризуется высоким уровнем сложности, в сравнении с цифровыми конструкциями, и эта реализация полагается во многом на опыт и интуицию разработчика. Нельзя всегда находить четко определенные правила для выполнения аналоговой структур, которая делает этот вид применения подходящим для использования в эволюционных методах. Даже несмотря на то, что в большинстве современных интегрированных схемах используется цифровая технология, аналоговая схема по прежнему необходима для реализации интерфейса с внешним миром, который аналоговый. (1).

Следовательно, сложность этого вида конструкций, вместе с относительно недостаточным числом экспертов, мотивирует исследования в этой области. Методы для автоматизации аналоговых схем были известны с семидесятых. Эти методы могли включить эвристику [1] экспертные системы или имитацию отжига. Это были ограниченные методы, в смысле, что они обычно ограничивали свой поиск хорошо известными  топологическими схемами. Представительный потенциал Эволюционных Алгоритмов, который позволяет кодировать произвольные топографические схемы, мотивирует применение в этой области. Использование эволюционных методов в синтез аналоговых схем началось недавно, но многие области аналоговых конструкций были проанализированы: синтез пассивных фильтров; синтез активных фильтров; усилители;  и преобразователи данных.

Пользовательский проект аналоговой схемы подразумевает создание топологической схемы, выбор допустимых значений и размеров создаваемой схемы с желаемой функциональностью. Чтобы применить ГА к проблеме проектирования аналоговой схемы, шаги ГА инициализации, кроссинговера  и мутации должны быть определенными; схема представления, и фитнес функция должны быть также определены. Этот раздел объяснит различные передачи ГА, которые используются в синтезе аналоговых схем, затем перечислит и даст оценку различным видам схем называемых в литературе хромосомами, следуя проекту соответствующих функций пригодности для аналоговых схем. И наконец, будут обсуждены возможности и компромиссы аналоговых схем на шагах кроссинговера и мутаций.

 ГА используемый для конструкции пользовательской аналоговой схемы обычно следует общему ГА потоку. Шаг инициализации используется для создания первой популяция особей обычно генерируется в произвольном порядке, но существуют случаи где первое популяция заполнена решениями имеющими характеристики близкие к желаемому решению. Заполнение первого поколения известными схемами имеет преимущество, которое может привести к более быстрому схождению к подходящему решению за счет уменьшения области поиска, но в то же время может ограничить ГА от исследования новых проектов которые человечество может никогда не придумать (1). Следующий шаг в декодировании  совокупности хромосом в формат, распознаваемый средством моделирования схемы такой как SPICE. Средство моделирования схемы будет воспроизводить каждое решение, а затем применяется функция пригодности на выходные данные моделирования, чтобы произвести меру пригодности для каждого решения. Как и в общем ГА, шаги отбора, кроссинговер, мутации и пересчет фитнес функции применяются многократно до тех пор, пока решение которое отвечает спецификации не будет найдено.  Общий поток представлен на рис 8.1.

генетический алгоритм потока для синтеза аналоговой схемы.

Рис. 8.1. генетический алгоритм потока для синтеза аналоговой схемы.

8.1. эволюция параметрического синтеза на примере активных фильтров.

Формулировка проблемы может быть настолько сложной, что многие синтетические аналоговые алгоритмы были разработаны с установленной топологией, и только значения компонентов выбиралось на протяжение фазы ГА. В одном из таких случаев фильтр переменного состояния с частотной характеристикой низких частот разрабатывался таким образом, что усиление DC, критическая частота и коэффициент избирательности должны достигать определенных характеристик. Схема имела шесть резисторов и два конденсатора как показано на рис 8.2., и таким образом поиск полного пространства поиска для надлежащего решения был бы невозможной задачей. Тем не менее, доступность только «предпочтительных» значений для резисторов и конденсаторов сделала проблему еще более трудной. В стандартной методике проектирования установлено много других ограничений для значений компонентов, чтобы сделать проблему решаемой.

Из-за затрат, в реализации аналоговой электрической схемы обычно практикуется определение  дискретного пассивного компонента, который оценивает произведенные предпочтительные значения от диапазона. Оригинальный проект обычно приводит к значениям, которые не все совпадают с предпочтительным значением, и традиционно разработчик выбирает самое близкое предпочтительное значение, таким образом, вызывающее отклонение проекта. В целом лучший набор предпочтительных значений будет существовать. Однако, этот набор будет в пространстве решения всех комбинаций значения компонента, которых обычно огромное множество.

Мы показываем, что генетический алгоритм может быть успешно использован для поиска в пространстве. Выбранное приложение является второй переменной состояния порядка активного фильтра. Произведенные проекты в значительной мере превосходят  то достигнутое, используя условный метод.

8.1.1. синтез с предпочтительной величиной.

На заре электроники, компоненты, такие как резисторы и конденсаторы были произведены в ранг предпочтительной величины. Здесь, дискретные компоненты производятся, чтобы иметь постоянное число номинальной величины в каждой декаде; по широкому диапазону декады, значения, приблизительно равномерно распространяются на логарифмической шкале. Известно  «двенадцать рядов», для которых предпочтительны значения…, 10, 12, 15, 18, 22, 27, 33, 39, 47 ,56, 68, 82, 100… . Чтобы уменьшить затраты, компоненты для схем дискретного элемента обычно выбираются как из этого так и из другого предпочитаемого диапазона по мере возможности. Не смотря на преобладание интегрированных схем, дискретные компоненты все еще широко применяются в аналоговых схемах, например схемы активных фильтров.

Обычно, процедуры конструкции аналоговых схем приводят к значениям компонентов, которые не все точно совпадают с предпочтительными значениями. Производительность, следовательно, отклоняется от идеала, когда самое близкое предпочтительное значение выбрано. Это отклонение может придерживаться в приемлемой сумме, выбирая из более близко расположенного ряда, соединяя пары компонентов последовательно или параллельно, или же определяя специальные значения. Тем не менее, все эти методы имеют последствия. В аналоговых схемах распространено большее количество компонентов, чем существенных параметров ответа. Классические методы разработки обычно уменьшают последовательное количество степеней свободы, например, выбираются определенные компоненты, чтобы быть равными, при этом позволяя прямым формулам проекта быть полученными. Это упрощение в проекте означает, что комбинации значений предпочтительных компонентов могут быть исключены, что привело бы к проекту, являющемуся ближе к идее.  Но выполнение  исчерпывающего поиска на всех возможных комбинациях предпочтительных значений, для получения оптимизированного проекта, часто невозможно. Например, в восьмикомпонентной схеме, которая рассматривается в этом разделе, если компоненты выбраны из двенадцати рядов по диапазону с четырьмя декадами, то пространство поиска содержит приблизительно 3-1013 точек, которое является вне диапазона, который мог искать компьютер в соответствующее время. Альтернативный метод определения дискретных значений компонентов является заданным. Цель этого раздела показать, что приложение Генетических алгоритмов (ГА) к проблеме предпочтительного выбора значения может привести к улучшенным значениям компонента. Различные генетические методы представлены в сравнении с классическим подходом к проектированию [2-4]. Выбранным примером схемы является переменная состояния второго порядка активного фильтра. Однако, подход может быть так же применен к другим аналоговым электронным схемам.  Рассматриваются две формы переменного состояния активного фильтра. Первой является стандартная версия операционного усилителя, в которой весь резистор и конденсаторные пассивные компоненты выбраны из серии предпочтительных значений. Второй является полуинтегрированная форма, иллюстрируемая  AF100 от Национальных Полупроводников, которая типична для нескольких такого типа. В этой форме интегрированы операционные усилители и некоторые пассивные компоненты, а остающиеся дискретные компоненты присоединены внешне. В примерах, которые рассматриваются, двенадцать серий предпочтительных значений приняты для дискретных резисторов и конденсаторов.

8.1.2 Переменная активного фильтра

Фильтр переменного состояния проиллюстрирован в рис. 8.2 и хорошо описан в литературе, например [2].

Фильтр переменного состояния с частотной характеристикой низких частот.

Рис. 8.2. Фильтр переменного состояния с частотной характеристикой низких частот.

Вывод низких частот, как предполагается, здесь является желаемым выводом. Ответ второго порядка в схеме низких частот полностью определен усилением полосы пропускания, H, критическая частота полосы пропускания ?0 =2? f 0, и коэффициент избирательности, Q. Для схемы переменного состояния эти величины  даны, с точки зрения значений пассивного компонента, следующими выражениями.

(8.1)

Спецификация, выбранная здесь, является ?0=10000 ?? =1591.55 рада/секунда и Q = v2 =1.41421. Усиление полосы пропускания, H, не очень важно в большинстве приложений, так как оно может быть с готовностью компенсировано другими каскадными аналоговыми схемами. В стандартной методике проектирования H фиксирован в некотором значении; однако, для метода Генетического алгоритма, описанного ниже, он неограничен. В результате выбора предпочтительных значений для компонентов критическая частота и селективность отклонятся от спецификации ? ? и ?Q соответственно. Важно, чтобы эти отклонения были максимально низки, особенно где схема - один из многих разделов, которые в каскаде составляют старший разряд, где ответ более чувствителен к ошибкам. Ошибочный критерий, принят здесь

(8.2)

где a1 = 0.5 и a2 = 0.5. Другие значения для этих констант были  выбраны, где приемлемые допуски проекта для критической частоты и селективности неравны.

8.1.3 Стандартная методика проектирования

Для полностью дискретной схемы есть восемь значений компонентов (шесть резисторов и два конденсатора), чьи значения должны быть выбраны, чтобы дать указанные значения для ?0 и Q, и также H, где это важно. Выбор значений компонентов поддается обработке, представляя дальнейшие ограничения. Метод, который традиционно предложен, должен произвольно принять решение сделать оба конденсатора равными C и всем резисторам (кроме R2) равными R. Уравнения (8.1) тогда уменьшают до следующего.

(8.3)

Процедура должна сначала выбрать пару значений для R и C, чтобы удовлетворить (8.3); тогда вычислить элементы схемы, используя уравнения (8.4). Получающееся усиление полосы пропускания - H=1.

Для точного проектирования разумный путь состоит в том, чтобы сначала выбрать предпочтительное значение для R в середине диапазона, так как это приводит к пяти из резисторов, также имеющих  предпочтительные значения. Значения для оставшихся R2, C1 и C2 тогда следуют из (8.3) и (8.4), и в целом должны быть специальными непредпочтительными значениями, если точный проект должен быть получен.

Для проектирования, используются предпочтительные значения, только эти точные значения могут быть округлены к самым близким предпочтительным значениям. Простое улучшение этой процедуры должно повторить его для всех возможных предпочтительных значений  R и выбрать проект, имеющий самую низкую ошибку. Только необходимо сделать это для двенадцати значений через одну декаду, так как ошибки произведут повторение в каждой декаде из-за представленных ограничений. Результат выполнения этого для этого примера показан во втором столбце, 'Самый близкий Предпочтительный', из Таблицы 8.1. Полученная ошибка проекта составляет 7.1824%.

Для полуинтегральной схемы AF100, компоненты R1, R5 и R6 соединены внешне. Другие пять пассивных компонентов интегрированы в устройство и имеют фиксированные значения. В стандартном проекте пользователь определяет эти три эксплуатационных параметра, H, ?0 и Q и решает для трех внешних значений резистора посредством(8.1).

8.1.4 Генетический алгоритм компонентного выбора

Для заявления, рассмотренного здесь, каноническая форма ГА, как было видно, выполнялась удовлетворительно, и не было необходимо реализовать более тщательно продуманную схему. Полностью дискретная проблема схемы была представлена при наличии восьми расположений в каждом гене - одно расположение для каждого пассивного компонента (Ri или Cj) в схеме. Итак  отдельный компонент представлен  двоичной строкой, что соответствует вектор параметра (R1, R2, R3, R4, R5, R6, C1, C2). Здесь каждое из этих расположений было выделено группами битов (ассоциированных  с Ri или Cj), чтобы идентифицировать определенное предпочтительное значение для того компонента.

Число выделенных битов зависит от метода представления. Для 'Одноразрядного' метода выделен один бит, который позволяет выбор двух предпочтительных значений. Эти значения являются самыми близкими к точным расчетным значениям, которые появились из стандартной методики проектирования, описанной выше. Число битов прогрессивно увеличено в 'Двухразрядных', 'Трехразрядных' и 'Четырехразрядных' методах. В последнем методе четыре бита позволяют шестнадцати предпочтительным распространенным  значениям по обе стороны от точных значений предлагаться для выбора ГА. Цель этих методов состоит в том, чтобы исследовать эффект увеличения диапазона поиска.

В методе 'Полной Эволюции' восемь групп шести битов используются, чтобы определить любое предпочтительное значение по диапазону с четырьмя декадами. Два из этих битов показывают декаду в диапазоне 103 - 106 Омов для резисторов и 10-9 к 10-6 фарадам для конденсаторов. Ценности вне этих диапазонов были определены, чтобы привести к нежелательным практическим эффектам, таким как эффекты паразитной емкости или большие сигнальные токи. Однако, диапазон декады может быть с  изменен, при помощи изменения числа битов. Остающиеся четыре бита используются, чтобы показать любое из двенадцати предпочтительных значений в диапазоне декады. Для полуинтегральной схемы был применен метод 'Полной Эволюции', используя ту же генную структуру данных, как и для полностью дискретной схемы, но три вместо восьми групп шести битов для определения трех внешне соединенных компонентов.

Различные Кодировки Хромосомы для Значений компонентов

             Ген n                                                                  хромосома

                    Пятое значение из Е-12 серий                

Рисунок 8.3: Различные Кодировки Хромосомы для Значений компонентов

 (a) Кодирующий для 22E4 значение резистора

 (b) Кодирующий для переменных операционного усилителя.

ГА, используемый для решения проблемы, представлял хромосому с 8 генами [5]. Каждый ген представлял один из элементов схемы и имел два 3 - 6 полей: первые два бита указали значение декады для компонента от 10 до 10, а заключительные четыре бита, показывали одно из 12 предпочтительных значений, которые компонент может принять в выбранной декаде. Демонстрационный ген представлен в рисунке 8.3 a. С этим кодированием ГА смог выбрать надлежащие значения для всех компонентов. В другом примере [5], в котором разрабатывался операционный усилитель, ГА использовал хромосому с 10 генами; каждый ген был скалярной величиной, представляющей или транзисторную ширину, транзисторную длину, ток смещения, или компенсирующей конденсаторное значение. Структура хромосомы, используемая в [5], представлена на рисунке 8.3 b.

Функция пригодности была определена как простая обратная величина ошибки, что было определено уравнением (8.2). Это приводит к  желаемой характеристике, и  пригодность будет больше для лучших схем с более низкими ошибками, и также вызовет увеличенное разделение пригодности для групп решений, которые являются наиболее оптимальными.

Всюду в литературе отбор и методы кроссинговера, используемые для синтеза аналоговой схемы, варьируются значительно и включают Турнирый выбор, Универсальный Отбор и Отбор Рулетки, но процесс отбора не отличается в ГА, используемом для синтеза аналоговой схемы по сравнению с любым другим ГА. Перекрестные методы, используемые в ГА для синтеза аналоговой схемы реальны, поэтому не отличаются от методов кроссинговера используемых в другом ГА. Одноточечный кроссовер было самой преобладающей формой кроссинговера для аналоговых схем, но ее вероятность варьируется от 0.3 до 0.8 [2-4].

Процесс мутации, в противоположность выбору и кроссинговеру, может отличаться для ГА синтезом аналоговой схемы по сравнению с другим ГА. В то время как многие алгоритмы все еще выполняют мутацию на разрядном уровне для каждой хромосомы (у каждого бита есть низкая вероятность переключения), мутация может также произойти на уровне схемы. Возможная мутация может включать серийные мутации, где новый компонент вставлен последовательно с видоизмененным геном или мутацией элемента изменения, где компонентный тип изменен [2]. В то время как эти типы мутаций могут только использоваться с определенными представлениях схемы, их использование может привести к мутациям, которые, как известно, создают допустимые схемы, таким образом, сохраняющие вычислительное усилие.

Допустим, что численность популяции была пятьдесят. Из популяции были выбраны 'Родительские' гены с вероятностью, которая однородно увеличивается согласно ранжированию по фитнесс функции генов. 'Дочерние' гены были сгенерированы, используя случайное одноточечный кроссинговер, примененное с  вероятностью 0.3, и мутация была применена к каждому биту в гене с вероятностью 0.01. Никакой формальный критерий не использовался, чтобы обнаружить сходность; совокупность была неоднократно сгенерирована, пока лучшая пригодность не обосновалась в относительно устойчивом значении.

Результаты, полученные этими ГА, показаны в таблице 8.1. Столбцы три - семь применяются к полностью дискретной схеме. Очевидно очень большое сокращение ошибки проекта. Даже высоко ограниченный Одноразрядный Генетический алгоритм производит десятикратное улучшение по сравнению со стандартной «Самой близкой Приставкой». Для метода полного развития ошибка проекта чрезвычайно низка в 0.001%.В практических схемах это низкое число, вероятно, будет замаскировано ошибками производственного допуска в самих компонентах даже в наиболее строго указанных случаях. Последний столбец показывает результаты для полуинтегрированной схемы AF100. Есть пять фиксированных внутренних компонентов, обозначенных круглой скобкой. Оставление трех параметров доступно для выбора ГА. Поскольку эта схема более строга, чем полностью дискретная схема, полученная ошибка больше. Даже в этом случае, число является хорошим, учитывая большое разделение между предпочтительными значениями приблизительно в 8%.

В генетическом развитии этих проектов усиление полосы пропускания, H, было неограниченно. Получающиеся усиления полосы пропускания, при H=1 в стандартном проекте, колеблются от 0.165 до 1.414 в проектах ГА. Эти значения были бы приемлемы для многих приложений. В AF100 включен дополнительный операционный усилитель, который может использоваться для того, чтобы скорректировать усиление полосы пропускания. Однако, возможно, что могли появиться недопустимые значения. Стратегия избегания этого могла состоять в том, чтобы добавить термин к функции пригодности, которая зависит от получающегося H. Этот термин был бы обнулен, если бы H был в приемлемом диапазоне и установил бы большую отрицательную величину, если нет.

Таким образом, генетические алгоритмы были применены к компонентному выбору в аналоговой активной схеме. Значительные сокращения ошибки проекта могут быть достигнуты по сравнению со стандартным подходом. Больше свободы компонентного выбора, обычно позволенного Генетическому алгоритму, приводит к более низкой достигнутой ошибке проекта. Ожидается, что эти методы применимы к другим типам аналоговых схем с большей сложностью. Сокращение ошибки проекта достаточно большое, чтобы полагать, что ограничение поиска минимизирует число различных предпочтительных значений в любом проекте, таким образом уменьшая затраты материально-технических ресурсов. Привлекательная функция ГА - простота, с которой смешанные критерии могут быть включены с мерой по пригодности, такими как денежные затраты на компоненты и  источники питания. Наша работа продолжается над этим и связанными с этим разделами.

Таблица 8.1. Значения компонентов и производительность представлены для различных методик проектирования.

               Ближайшее предпочтительное, одноразрядный генетический, двухразрядный генетический, трехразрядный генетический, четырехразрядный генетический, полное развитие, национальный АF100.

ошибка

8.1.5 Пример эволюционного параметрического синтеза

Седьмой фильтр низких частот (рис 8.4) шаблонной спецификации был выбран в качестве второго примера с максимальной пульсацией полосы пропускания 1 дБ и краем полосы в 105 рад/секунда; и относительным затуханием в полосе задержки-160 дБ с краем полосы в 106 рад/секунда. В полосе перехода ответ неограничен. Абсолютному значению ответа полосы пропускания позволили быть свободно определенным ГА в разумных пределах, в разумных пределах пульсация полосы пропускания и относительное затухание в полосе задержки были удовлетворены.

Лестничная структура низкочастотных полюсов

Рис 1. Лестничная структура низкочастотных полюсов

Рис 8.4

Фиксированная схема структуры представлена оцененным геном двоичного файла, включающим девять разделов, один для каждого компонента в схеме, рис 8.2. Каждый раздел включает группу битов, которые используются, чтобы адресовать таблицу предпочтительных значений компонентов, которые будут использоваться в проектировании схем. Для примера ниже, шесть битов было достаточно для предпочтительных значений 'двенадцати рядов', выбранных для перекрытия четырех  декад.

Основная функция пригодности - вычисление частотной характеристики по однородно расположенной с интервалами сетке точек частоты,     f n  для каждого гена в совокупности. Формулировка узловой матрицы проводимости (УМП) выбрана, потому что записи УМП  сформированы для идеальных компонентов, вставляя в расположения УМП соответствующих компонентам вершинных чисел, проводимости, вычисляемой при R ? 1, j ? C, (j ? L) ?1, соответственно, где ? = 2 ? f. Уравнения УМП решены, если используется факторизация LU, чтобы дать функцию передачи напряжения. Для  позволения неидеальных компонентов, этот метод был расширен включением в таблицу предпочтительных значений компонентов, присваивая значения паразитных компонентов. Они теперь используются полными выражениями для проводимостей эквивалентных схем справа от рисунка 8.5 для вставки в УМП. Для паразитного соединения схемы условия формулы j 2?f Cs   введены в УМП в соответствующих позициях узла. Частотная характеристика сравнивается с указанным шаблоном частотной характеристики, и все отклонения вне шаблона суммированы. Обратная величина этой суммы используется в качестве пригодности. Этот метод пригодности имеет преимущество перед более стандартным подходом, используя отклонения в квадрате суммой от единственной идеальной частотной характеристики в этом, а не едином решении, группа решений теперь получена ГА, все из которых удовлетворяют спецификацию проекта.

эквивалентные схемы пассивных компонентов

Рис. 2.  эквивалентные схемы пассивных компонентов

Для паразитных компонентов типичные практические значения были приняты 10, 10, и 20 pF соответственно для паразитных емкостей всех резисторов, конденсаторов и индукторов. Индуктор эквивалентного сопротивления потерь составляло 10 Омов и проводимость диэлектрических потерь конденсатора, как предполагалось, была незначительна. Соединение, паразитное между основными узлами и основа была принята  20 pF.

Для операторов двухточечного кроссинговера используется с мутацией, примененной на универсальном уровне 0.05. Для примера, представленного здесь, численность совокупности пятьдесят, как было обнаружено, была удовлетворительной, и совокупность, обычно, стабилизировалось приблизительно в ста поколениях.

Рис 8.6 показывает ответ типичного решения нашего метода ГА, используя идеальные компоненты. Это удовлетворяет шаблон. Когда вышеупомянутые паразитные компоненты добавлены к этой схеме, полученный ответ в рисунке 8.5 (b) привел к сбою. Используя метод, описанный здесь, в котором паразитные компоненты включены в ГА, рисунок 8.5 (c) показывает типичное решение для полученной группы. Это удовлетворяет указанный шаблон.

реакция полученного генетического  лестничного фильтра LC без паразитных компонентов

(а)реакция полученного генетического  лестничного фильтра LC без паразитных компонентов.

(б)Реакция фильтра после дополнения ожидаемых паразитических эффектов.

(с)реакция полученного генетического  лестничного фильтра LC с паразитными компонентами.

Рис. 8.6

Итак, это расширение, ранее описанного ГА, может с готовностью использоваться для того, чтобы разработать любую пассивную или активную структуру аналоговой схемы, в которой компоненты выбраны из набора с известными значениями эквивалентной схемы. Вычисление времени, было разумно (обычно 5 часов) для этого примера со стандартным используемым ГА. Однако, было бы желательно изменить к лучшему это, чтобы повысить предел размера схемы, который может быть разработан.

8.2 Структура эволюционного синтеза на примере пассивных фильтров.

В первых приложениях в этой области эволюционные алгоритмы использовались, чтобы выполнить выбор топологии или простое определение значений компонентов для фиксированной топологии (как показано в предыдущем разделе 8.1). Исследовательская группа во главе с Джоном Козой разрабатывала некоторые новаторские приложения в этой области, где все шаги, необходимые для проекта пассивных фильтров, обработаны Эволюционным Алгоритмом []. Этими шагами является  определение размера и топология схемы и определение значений компонентов.

Пассивные фильтры - электронные схемы, которые не используют DC источники питания. Они часто состоят из расположенных резисторов, конденсаторов и индукторов, вместе с источником напряжения переменного тока. Особенно важным является класс полиномиальных фильтров, где нули и полюса могут быть непосредственно найдены от корней числителя функции передачи и знаменателя. Четыре основных группы составляют класс полиномиальных фильтров: Баттеруорс; Чебыщев; инверсия Чебыщев; и эллиптические фильтры.

8.2.1 Представление фильтра

Генетические алгоритмы были применены к синтезу пассивных фильтров. Как говорилось раннее, большая часть отличительного признака Генетических алгоритмов относительно других Эволюционных Алгоритмов - использование строковых структур данных, таких как хромосомы. Мы приняли целочисленное представление, основанное на строках фиксированной или переменной длины.

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

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

В принципе эти компоненты могут взять бесконечное число действительных значений; следовательно, мы могли думать о реальном представлении для этой функции. Однако, поскольку мы имеем дело с проблемой реального мира, мы знаем, что можем рассчитать только с конечным диапазоном значений компонентов. Поэтому, мы можем использовать целочисленное представление, где каждое целочисленное значение укажет на определенное значение, которое компонент может принять. Это зависит от пользователя, выбирать эти значения, и это должно быть сделано разумным способом, позволяя ГА использовать только распространенные производные значения компонентов. Обычно, одного местоположение достаточно, чтобы сохранить эти данные. Общее количество значений компонентов определяет количество элементов алфавита представления для этого определенного местоположения. Обратите внимание на то, что это количество элементов может измениться в зависимости от компонентной природы. Наконец, ген должен закодировать информацию о том, где компонентные терминалы соединены. Эта информация позволяет ГА кодировать для произвольной топологии схемы в случае, если мы не ограничиваем кодирование. Будет столько же кодирования местоположений для соединительных точек, сколько и терминалов для определенного компонента. У каждого местоположения будет количество элементов алфавита представления равным числу узлов схемы. Пользователь ГА должен предоставить информацию того, сколько узлов позволено иметь развивающимся схемам.

Продолжая тему узлов схемы, они могут быть классифицированы в два набора, внешние и внутренние узлы. Внешние узлы будут присоединены к внешним сигналам или зондирующим точкам, таким как входной сигнал, выходной узел и основа. В принципе ГА не отдает предпочтение одному виду узла или другому; они только идентифицированы вдоль процесса декодирования хромосомы. Часто желательно, однако, вызвать(вынудить) некоторые местоположения хромосомы, относительно части гена, который кодирует для соединительных точек, чтобы указать на внешние точки. Это - способ защитить от бессмысленных схем, типа  ввода, вывода, или основы.

Эти понятия получены в итоге на рис. 8.7, где дан пример кодирования схемы [1]. Показано, в том числе и гипотетическая пассивная топология фильтра и ее соответствующая хромосома, для определенного набора выбора представления: в общей сложности восемь соединительных точек, три внешних и пять внутренних; десять возможных значений резистора; шесть возможных значений индуктора; шесть возможных конденсаторных значений. У хромосомы, в этом примере, есть фиксированный размер 10 генов, отсюда кодирование схем до десяти компонентов. Определенные местоположения генов 1 и 2 осуществляли их значения, чтобы указать на ввод и вывод соответственно. Обратите внимание на то, что гены 6 и 9 не соединяли терминалы своих компонентов с узлами, которые соединяются с выводом, и, поэтому, плавают. В этом случае средство моделирования обычно игнорирует эти компоненты.

Отображение между хромосомой и электронной схемой для гипотетического пассивного фильтра

Вышеупомянутые значения не предпочтительны. Дополнительно мы можем выбрать только предпочтительные произвольные значения.

Рисунок 8.7, Отображение между хромосомой и электронной схемой для гипотетического пассивного фильтра.

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

8.2.2 Фитнес оценка

Вычисление каждой индивидуальной фитнес функции достигается, выполнением моделированием схемы в частотной области, также названной анализом AC. Как только моделирование заканчивается, файл будет сгенерирован с частотной характеристикой определенной схемы. Функция оценки пригодности тогда вычисляется следующим образом:

(8.5)

где n составляет общее количество выборок, произведенных на моделировании; w счета на вектор веса; и векторы A и учетная запись T, соответственно, для фактических и целевых частотных характеристик. Поэтому, функция фитнес оценки вычисляет ошибочную меру относительно требуемой частотной характеристики T. Чтобы подчеркнуть, что ошибка измеряет |A (i) – T (i) |, желательно определить частотную характеристику в децибелах.

Определение весов (плотности) фитнес функции критически важно по отношению к производительности ГА. Посредством большого экспериментирования авторы достигли ряда значений веса, которые работали хорошо: постоянное значение 600 для точек частоты располагалось в передающейся полосе; и постоянное значение 10 к другим точкам частоты, т.е., те которые расположены при переходе и полосе задерживания. Основная идея этих чисел состоит в том, чтобы не допустить более тяжелых ошибок в передающейся полосе. Конечно, нужно принять во внимание факт, что есть различное число точек частоты в различных полосах, и присвоение вектора веса должно также сбалансировать вклады полос.

8.2.3 Тематическое исследование: низкочастотный кирпичный фильтр

Мы исследуем синтез  низкочастотного кирпичного фильтра, схему, которая является ссылкой на оценку новых методологий проекта [1]. Передающиеся промежутки полосы от 0 - 1 кГц и полоса задерживания запускаются в 2 кГц. Использовался генетический алгоритм, с функцией ранее определенной оценки представления и пригодности. Здесь следуют некоторые дополнительные функции ГА:

• Представление переменной длины, используя UDIP  стратегию развертки;

 • Генотипы, состоят максимум из 20 активных генов;

• Каждый ген может кодировать для резистора, конденсатора или индуктора;

• Есть семь взаимосвязанных точек, четыре являются внутренними и три являются внешними (основа, ввод и выходные точки);

• ГА выберет среди 80 различных предпочтительных значений для каждого компонента те значения, которые, более вероятно, будут коммерчески доступны;

• Эксперимент обработал в общей сложности 400000 людей (10 выполнений, 1000 поколений и 40 людей);

 • Одноточечный кросинговер применялось с вероятностью 70%;

 • вероятность мутации 2% на хромосому.

Схема рисунка 8.8 показывает один из лучших ответов, достигнутых эволюционным процессом.

Схема лучшего низкочастотного кирпичного фильтра, достигнутого эволюционным процессом

Рисунок 8.8, Схема лучшего низкочастотного кирпичного фильтра, достигнутого эволюционным процессом.

За исключением нагрузочного резистора, вышеупомянутая схема представляет девять компонентов. Развернутая схема первоначально представила 15 компонентов, но шесть из них, как определили, были избыточны, в том смысле, что, если их убрать из схемы, частотная характеристика не изменялась. Относительно вышеупомянутого числа следующие значения компонентов были получены GA: L1=220µH; R1=1 ?; C1=470µF; L2=470µH; C2=150µF; L3=2.2µH; R2=2.7 ?; L4=22µH; C3=1.2µF. Эта схема представляет максимальное затухание –3dB в передающейся полосе; и затухание-74 дБ в начале полосы задерживания. Предположим, тем не менее, что кто-то не удовлетворен частотной характеристикой фильтра. Разработчик может думать, что затухание –3dB в передающейся полосе недопустимо.

Таблица 8.2 изображает сравнение производительности среди шести схем: эти две схемы, развитые ГА, как показано в этом разделе; два Кирпичных фильтра развились через Генетический алгоритм Программирования; [KOZA] стандартный фильтр Баттеруорс; и стандартный фильтр Чебыщева. Это ясно из сравнения, что ГА и схемы ГП достигают подобной производительности с точки зрения их частотных характеристик. Однако, можно заметить, что выборки ГА меньше индивидуальны, чем ГП. Кроме того, схемы ГА немного более экономны, чем ГП. Мы опишем позже детали использования ГП, в развитии электронных схем.

Табличное 8.2 Сравнение фильтров низких частот, синтезируемых ГА, ГП и схемами Баттеруорта и Чебыщева.

8.3 Синтез на основе генетического программирования (Koza)

В этом разделе мы теперь опишем процедуру, выполненную Koza( Коза) и др. [6-8] (1996), чтобы развить аналоговые схемы через ГП, включая представление, оценку и некоторые тематические исследования.

Представление

Представление - конечно, наиболее важный вопрос на приложении ГП для развития схемы. Уже изученный в главе 5, ГП использует древовидные структуры данных как хромосомы. Прямое отображение между топологией схемы и древовидными структурами данных очевидно не  безотносительно. Поскольку это утверждено Koza [6-8]:

Генетическое программирование порождает население базированных, точка - маркированных деревьев (т.е., деревья без циклов) с упорядоченными ответвлениями. Есть значительная разница между видами деревьев, порожденных генетическим программированием и маркированными циклическими графиками, с которыми встречаются в мире электрических схем. Электрические схемы - циклические графа, в которых каждая строка принадлежит циклу (т.е., нет никаких свободных проводов или повисших компонентов). Строки графа, которые представляют схему, маркированы. Основная метка на каждой строке дает тип электрической детали (например, резистор). Вторичная метка (метки), если таковые имеются, дает значение (я) компонента. Одного численного значения достаточно, чтобы определить определенные компоненты (например, резисторы); ни одного значения не требуется для диодов; и многие требуются для синусоидального источника напряжения.

Генетическое программирование может быть применено к схемам, если отображение установлено между видом маркированных точкой деревьев, найденных в мире генетического программирования и маркированными строкой циклическими графиками, используемыми в мире схем. В нашем случае биология, связанная с развитием, обеспечивает побуждение для этого отображения. Чтобы преодолеть эту проблему, придумали подход, связанный с развитием, чтобы выполнить это отображение.

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

Каждое дерево программы содержит (1) создающие схему функции и терминалы, которые создают топологию схемы от эмбриональной схемы, (2) устанавливающие компонент функции, которые преобразовывают провода (и другие компоненты) в схеме в указанные компоненты, и (3) выполняющие арифметику функции и числовые терминалы, которые вместе определяют численное значение (калибровка) для каждого компонента схемы.

Деревья программы соответствуют ограниченной синтаксической структуре. У устанавливающих компонент функций есть выполняющие арифметику поддеревья параметра и продолжающие конструкцию поддеревья параметра, в то время как у создающих схему функций, которые управляют топологией схемы, есть одно или более продолжающих конструкцию поддеревьев параметра. Левое поддерево параметра каждого устанавливающего компонента функции состоит из состава арифметических функций и числовых постоянных терминалов, которые вместе приводят к численному значению для компонента. Правильное поддерево параметра каждого устанавливающего компонента функции определяет, как конструкция схемы должна продолжаться. И случайные деревья программы в начальном населении (поколение 0) и любые случайные поддеревья, создаваемые работой мутации в более поздних поколениях, создаются, чтобы соответствовать этой ограниченной синтаксической структуре. Эта ограниченная синтаксическая структура сохранена перекрестной работой, используя сохраняющую структуру перекрестного соединения с вводом точки.

Эмбриональная схема может содержать (или не содержать) определенную информацию о виде схемы, которая будет развита. Как упомянуто в Koza [6-8], сумма знаний проблемной области, включенных в эмбриональную схему, должна быть минимальной. Итак, мы должны разъяснить средства, посредством чего дерево обеспечит инструкции, чтобы изменить модифицируемые провода эмбрионального. Как ранее описано, мы можем разделить узлы деревьев GP в функциональные узлы и терминальные узлы. Функциональные и терминальные наборы выбраны согласно особенностям приложения, и так процедура, здесь определенна. Функциональные узлы могут принадлежать двум классам: Создающие компонент Функции и Функции Изменения Соединения. Создающие компонент функции указывают на модифицируемую часть схемы и создают определенный компонент в этой части схемы. В особом случае пассивных фильтров у нас могут быть R, C, и функции L, которые создают резисторы, конденсаторы и индукторы, соответственно. Функции Изменения соединения изменяют топологию модифицируемых частей схемы. Примеры этих функций - Ряд и PSS, которые создают, соответственно, ряд и параллельное соединение определенного компонента. И создающие компонент функции и соединение - изменяющие функции укажут на определенный провод или компонент в модифицируемой части схемы.

Определив, какие функции будут присутствовать в деревьях ГП, остается определить терминальный набор. Почему мы нуждаемся  в терминалах в этом виде отображения? Самая очевидная причина состоит в том, что мы просто должны закончить последовательность инструкций, закодированных деревом; следовательно, терминал используется КОНЦА. Другая причина состоит в том, что, каждый раз, когда компонент создается функциями создания, значение должно быть связано с ним. Это достигается, присоединением так называемого арифметического поддерева к создающему компонент функциональному узлу. Это арифметическое поддерево выполнит арифметические операции по вещественным числам, чтобы произвести действительное значение. Итак, суммируем это обсуждение, определяя функцию (?) и терминал (?) наборы:

где ?cc обозначает компонентные функции создания; ?cm обозначает функции изменения соединения; {+, –} функции, используемые арифметическим поддеревом; ? обозначает вещественные числа, используемые в вычислении значений компонентов; и КОНЕЦ - терминал без определенной функции кроме конца дерева.

8.3.1 Эмбриональные схемы

Электрической схемы создается посредством выполнения программы дерева. Каждое дерево в программе населения создает одну электрическую схему из общего эмбриональной цепи. Эмбриональных схем, используемую на конкретной проблеме, зависит от количества входных сигналов и количества выходных сигналов (зонд баллов). Он может также содержать некоторые фиксированные компоненты, необходимые или желательные для схемы стадии разработки.

     Эмбриональной схема, используемые здесь содержат один входной сигнал, один зонд точки, двое изменяемых проводов, постоянный источник сопротивления, и фиксированные резистором нагрузки. В эмбриональный цепи, два модифицируемых провода, каждый изначально обладает пишущей головка (то есть выделяются круг). Схема разработана путем изменения компонента, к которому пишущая головка направлена ??в соответствии с функцией построения схемы в программе дерева. Каждый функция построения схемы в программе дерева изменяет связанный выделенный компонент в цепи развивается в определенном направлении и указывает будущее расположение преемника пишущая головка (и), если таковые имеются.

один вход и один выход эмбриональных электрической цепи

Рисунок 8.9 один вход и один выход эмбриональных электрической цепи .

    

     Нижние три четверти показатель 8,9 показывает эмбриональных схемы, используемую для одного входа и одного выхода схемы. Источником энергии является 2 вольт синусоидальный VSOURCE источника напряжения, которого отрицательный (-) конец соединен с узлом 0 (земля) и чей положительный (+) конец соединен с узлом 1. Существует фиксированный 1000-ом источник резистором RSOURCE между узлами 1 и 2. Существует провода модифицируемые (т.е. провода с пишущей головкой) Z1 между узлами 2 и 3, а другой Z0 модифицируемые провода между узлами 3 и 4. Есть круги вокруг провода, модифицируемые Z0 и Z1 чтобы указать, что две письменных головки (толстые линии) указывают на них. Существует фиксированный изолирующий провод ZOUT между узлами 3 и 5, Напряжение зонда, меченного VOUT в узле 5, и фиксированную 1000 Ом сопротивление нагрузки между узлами RLOAD 5 и 0 (земля). Существует изолирующего провода ZGND между узлами 4 и 0 (земля). Все вышеперечисленные элементы этой эмбриональной цепи  (кроме Z0 и Z1) фиксируются навсегда, они не могут быть изменены в процессе разработки схемы. Все последующее развитие цепи происходит от написания головы.

     Схема разработана модификация компонента, к которому пишущая головка указывает в соответствии с функцией построения схемы в программе дерева. На рисунке показан L и FLIP функции чуть ниже LIST и два письменных головки указывая на модифицируемые провода Z0 и Z1. L и FLIP функций может привести Z0 быть изменены в конденсатор и полярность модифицируемые провод Z1 на обратное.

    Эмбриональная схема разработана так, что количество линий попадающих на любой узел в цепи две или три. Это состояние поддерживается всеми функция составления схемы. Изолирующий провод ZOUT защищает точки измерения VOUT от модификации во время процесса развития и выделения ZGND защищает провод отрицательной клеммы VSOURCE. Обратите внимание, что некоторое малое количество знаний о домене вошли в эмбриональную схему В частности, (1) эмбриональный схемы это схемы, (2) эмбриональных схемы имеет один вход и один выход, и (3) имеются модифицированное соединение между выходом, источником и землей. Это эмбриональные схема применима к любым схемам с одним входом и одним выходом. Это фитнес-мера, которая руководит эволюционным процессом поиска нужной схеме.

8.3.2 Функция построения схемы

  Каждый функция построения схемы  работает на одном компоненте.

8.3.2.1 C и L компонент составляющий функции

Компоненты вводятся в схему компонент составляющих функций. Правый аргумент поддерево каждого компонента установления функция продолжает строитель поддерева, указывает на функцию преемника или терминал в программе дерева. По завершении одного пишущая головка указывает на новый компонент. Левый аргумент поддерева компонентов функции настройки является арифметической - выполнение поддерева, которое содержит композицию арифметических функций (сложение и вычитание) и случайные константы (в диапазоне от -1,000 до 1,000) арифметической - выполнение поддерево возвращает значение с плавающей точкой которой, в свою очередь, интерпретируется как значение компонента с помощью логарифмической шкалы следующим образом:

    Если возвращается значение между -5,0 и 5,0, U приравнивается к значению, возвращенному аргумент поддерево. Если возвращаемое значение меньше, чем -100 или больше +100, U устанавливается в ноль. Если возвращается значение между -100,0 -5,0 и, U находится из прямой линии, соединяющей точки (-100,0) и (-5, -5). Если возвращается значение между 5,0 и +100, U находится из прямой линии, соединяющей (5,5) и (100, 0). Значение компонента U 10 в блок, который подходит для типа компонента. Это соответствие дает компоненту значение в диапазоне 11-ти порядков, который отцентрирован на определенном значении. Это соответствие дает компоненту значение в диапазоне от 11-ти порядков, который отцентрирован на определенном значении, и который использует соответствующие единицы измерения, вычисленные в результате изучения большого количества практических схем в современных книгах.

     Если компонент (например, диод) не имеет численных значений, то и нет левого аргумента поддерева. Двух-аргументная функция C ("конденсатор") приводит к замене выделенного компонента на конденсатор. Величина конденсатора есть антилогарифм (основание 10) промежуточного значения U вычисленного выше в микрофарадах (мкФ). Такое отображение обеспечивает конденсатору значение в диапазоне плюс-минус 5 порядков сосредоточенных на 1 мкФ.

Двух-аргументная функция L ("индуктивность") приводит к замене выделенного компонента на индуктивность. Величина индуктивности есть антилогарифм (основание 10) промежуточного U значение в микро-генри (мГн).

     8.3.2.2 FLIP функции

   Все электрические компоненты в SPICE имеют положительный (+)  и  отрицательный  (-) концы. Полярность имеет большое значение для компонентов, например, диодов и транзисторов, и это влияет на ход процесса развития для всех компонентов. Одно - аргументная – FLIP Функция прилагает положительный конец выделенного компонента к узлу, к которому уже прикреплён отрицательный и наоборот. После завершения одна пишущая головка указывает  на теперь перевернутые оригинальные компоненты.

цепи, содержащей резистор R1

Рисунок 8.10 цепи, содержащей резистор R1.

8.3.2.3 Разделение серий

    Трёхаргументная функция  SERIES ("серии разделение") работает на один выделенный компонент и создает ряд композиций, состоящий из выделенного компонента, копии выделенного компонента, одного нового модифицируемого провода,  и двух новых узлов. После выполнения функции SERIES, существуют три пишущие головки, указывающие на исходный компонент, новый модифицируемый провод  и копию оригинального  компонента.

 На    Рис 8,10 показан резистор R1 соединительные узлы 1 и 2 частичный контур, содержащий различные конденсаторы. Предполагается, что R1 обладает пишущей головка (то что выделено). Рисунок 8.11 иллюстрирует результат применения функции серии отдела с резистором R1 на рисунке 8.10. Во-первых, функция  SERIES создает два новых узла, 3 и 4. Во-вторых, SERIES перемаркирует положительный (+) конец R1 (помеченные 2) в качестве первого нового узла, 3. В-третьих, SERIES создает новый Z6 провод между первым новым узлом, 3, и второй новый узел, 4. В-четвертых, SERIES вставляет дубликат (так называемый R7) исходного компонента (в том числе все его значения компонент) между новым узлом 4 и оригинальным узлом 2.

Результат после применения PSS с резистором R1.

Рисунок 8.11 Результат после применения PSS с резистором R1.

     Обратите внимание, на наше условие о глобальной нумерации компонентов в последовательном порядке (а не поддержание различных серий последовательных номеров для каждого типа компонента). Кроме того, заметим, что провода (например, Z6) используются только в течение процесса развития; все провода вырезали до окончательного создания списка соединений для специй. Также, обратите внимание, что ряд функций может быть применен к проводу, в этом случае результатом является композиционный ряд из трех проводов (каждый со своей собственной пишущей головкой)

8.3.24..Параллельное разделение функций

    Двух-четырехаргументные функции параллельного разделения (PSS и PSL) работают на одном выделенном компоненте для создания параллельной композиции, состоящей из оригинального выделенного компонента, дубликата выделенного компонента, двух новых проводов, и двух новых узлов. После выполнения параллельного разделения, есть четыре пишущие головки. Они указывают на исходный компонент, два новых модифицируемых провода, и копию оригинала компонента. Мы описываем (и используем)  PSS только здесь.

Результат после применения PSS с резистором R1

                       Рисунок 8.12 Результат после применения PSS с резистором R1.

    

Во-первых, функция параллельного разделения PSS создает два новых узлы, 3 и 4. Во-вторых, функция параллельного разделения втсавляет дубликат выделенного компонента (включая все его значения компонентов) между новыми узлами 3 и 4 с отрицательным концом дубликата, подключенного к узлу 4 и положительным концом дубликата,  подключенного к узлу 3 . В-третьих функция , параллельного  разделения создает первый новый провод Z6 между положительным (+) концом R1 (который находится в исходнои узле  2) и первым новым узлом, 3. В-четвертых, функция параллельного разделения создает второй новый провод Z8 между отрицательным(-) выводом R1 (который находится в исходном узле 1) ко второму новому узлу, 4. Второй символ (то есть, первый S или L) имени о функции параллельного разделения указывает, является ли положительный конец нового компонента подключенным к меньшему (S) или большему (L)  из пронумерованных двух компонентов, которые изначально подключены к положительному концу выделенного компонента. Третий символ (т.е. второй S или L) названия функции параллельного  разделения указывает отрицательный конец нового компонента соединен с меньшими (S) или большим (L) из пронумерованых компонентов, которые изначально были подключены к отрицательному концу выделенного компонента. На рисунке 8.10 показаны результаты применения PSS функции резистора R1 с рисунка 8.8. Поскольку C4 имеет меньшее количество, чем С5, новый узел 3 Z6 и новые провода расположены между исходным узлом 2 и C4. Так как C2 имеет меньшее число, чем С3, новый узел 4 и новый провод Z8 расположены между оригинальным узлом 1 и C2.

8.3.2.5 VIA и GNDфункций

 

   Восемь двухаргументных функций (так называемый VIA0, ..., VIA7) и двухаргументная GND ("земля") объединяют    отдаленные части схемы в совместное подключение. Восемь двух -аргументных VIA0, ..., VIA7 функций создания серии композиции, состоящая из двух проводов, каждый из которых  обладает преемником записывающей головки и номером порта (так называемый помощью), чем не обладает пишущая головка. Порт подключен к назначенному одному из восьми слоев (пронумерованных от 0 до 7) в подложке, на которой схема находится. Если одна или несколько частей схемы подключены к одному слою, то все эти части становятся электрически соединенными, как если бы между ними проходили провода. Если другие части цепи не соединяется с конкретным слоем, один порт подключенный к слою бесполезен (и этот порт удаляется, когда список соединений для схемы в конечном счете создан).

     Двухаргументная  GND («земли») функция является специальной "via" функцией, которая подключается непосредственно к электрической земли схемы. Это прямая связь с землей делается даже если есть только одна функция, вызывающая GND для подключения на массу в цепи. После выполнения этих функций, пишущие головки  указывают на два новых провода.

8.3.2.6 Функция NOP

 

   Одно- аргументная NOP функция не имеет никакого влияния на выделенный компонент, однако, она задерживает деятельность на пути развития, на котором она появляется в связи с другими путями  развития в общем дереве программы - тем самым (возможно), влияет  на общий результат процесса построения. После выполнения NOP, одна пишущая головка указывает на первоначально выделенный компонент

     8.3.2.7. Конец функции

   Без аргументов END функция заставляет выделенный компонент терять свою пишущую головка - таким образом происходит окончание этого конкретного пути развития цепи..

8.3.3 Измерение фитнес функции

 

Примечание что всё перечисленное выше может быть применено к любой схеме с одним входом и одним выходом LC . Это фитнес функция , которая направляет эволюционный процесс (в пространстве поиска автоматических построений деревьев программы) на программу, которая строит необходимый асимметричный полосовой фильтр. Другими словами, структура цепи возникает из фитнес функции.

       Оценки пригодности для каждого отдельного автоматического построения дерева программы в популяции начинается с его исполнением. Эта исполнение применяется функцией в программе дерева к очень простой эмбриональной схеме, тем самым проявляя эмбриональные цепи в полностью разработанной схеме. Список соединений описывающих схему будет создано. Список соединений идентифицирует каждый компонент схемы, узлы, к которым подключен компонент и  значение этого компонента. Каждый контур затем моделируется, чтоб определять его поведение. 217000-линейный SPICE симулятор был модифицирован для работы как подмодуль в генетической системе программирования. SPICE (акроним для имитационной программы с ориентацией на интегральные схемы) это большое семейство программ, написанных на протяжении нескольких десятилетий в Университете Калифорнии в Беркли для моделирования аналоговых, цифровых и смешанных аналоговых / цифровых электрических цепей. (Вход SPICE моделирования состоит из списка соединений, описывающих анализируемую схему, и некоторых команд, которые указывают SPICE какой тип анализа должен быть выполнен и природу выхода, который будет получаться.   В общем, измерение пригодности может включать любые вычислительные характеристики или сочетание характеристик схемы, в том числе поведение схемы во временной области, то его поведение в частотной области, потребление энергии, или количество, стоимость, или площадь поверхности его компонентов.

     Поскольку мы создаем фильтр, акцент делается на поведение схемы в частотной области. SPICE предлагается выполнить AC анализ малого сигнала и доложить поведение схемы для каждого из 101 частот 8.4. Значения выбрано в пределах от 10000 Гц до 200000 Гц (шагами по логарифмической шкале).          

Пригодность измеряется от суммы, за эти 101 случаев пригодность, абсолютно взвешенное отклонение фактического значения относительного напряжения (в децибелах), который является кроссовером генерируемым схемой на зонде точки VOUT и целевым значением относительного напряжения. Чем меньше значение фитнес мутации, тем лучше. Пригодность нулевая представляет собой идеальный фильтр, в частности, это стандартизированная пригодность.

где FI  является частота пригодности в случаях; D (X) представляет собой разницу между целью и наблюдаемыми значениями на частоте X и W (Y, X) является взвешенной для разности Y на частоте X. Измерение пригодности  не штрафует идеальные величины, она слегка штрафует за любое допустимое отклонение, и она сильно штрафует за любые неприемлемые отклонения.