Friday, May 31st, 2013 11:51 pm
http://www.sussex.ac.uk/Users/adrianth/
Кому интересно может прочитать об генетике в схемотехнике в первоисточнике
Evolutionary Electronics At Sussex

Artificial evolution, such as a Genetic Algorithm, has many promising applications in electronics. These range from using it as an optimisation technique as part of a fairly conventional VLSI synthesis pathway, through to using it to design automatically circuits that could be of a very different nature to the way electronics is normally envisaged. We also apply our philosophy of artificial evolution to other domains of design: we seek to find ways of allowing evolution to explore areas of the "design space" not normally accessible.

В журнале "Домашний Компьютер" №11 от 1 ноября 2002 года.
Автор: Киви Берд

fpga2(0)
Среди последних новостей компьютерных технологий промелькнул недавно один любопытный материал об эволюционирующей электронной схеме, которая совершенно случайно и независимо от воли изучавших ее поведение инженеров самостоятельно переизобрела конструкцию радиоприемника. Дело происходило в английском университете Сассекса (г. Брайтон), где около десяти лет занимаются проблемами эволюции самоорганизующейся электроники, и нынешняя история дает повод поближе познакомиться с этой областью компьютерных исследований.
Ближе к природе
В научных и инженерных кругах примерно с 1960-х годов циркулирует идея, что электроника могла бы эволюционировать к более совершенным компьютерам или роботам подобно тому, как в природе эволюционное развитие привело к появлению человека и других сложных биологических систем.
Биология вообще служит для компьютерщиков источником вдохновения. Опираясь на модели мозга, они создали нейронные сети, особенно хорошо проявившие себя в задачах распознавания образов - от рукописного текста до отпечатков пальцев. На основе принципов генетики были разработаны методы скрещивания и мутации программ, что позволило программам-потомкам конкурировать друг с другом в образовании «особей, наиболее приспособленных» для решения некоей конкретной задачи. Такого рода генетические алгоритмы успешно используются при эволюционной разработке программ во множестве самых разнообразных областей, будь то создание произведений искусства или выбор наиболее перспективных акций на фондовой бирже.
Однако в начале 1990-х годов у молодого англичанина Адриана Томпсона (Adrian Thompson), в ту пору аспиранта и сотрудника Центра вычислительной науки и роботехники Сассекского университета, сложилось убеждение, что таким технологиям не хватает одного весьма важного качества. Все они были слишком жестко ограничены правилами, изначально предложенными конструкторами чипов и разработчиками программного обеспечения. Например, поведение живых клеток-нейронов по сути своей неотделимо от особенностей биохимических процессов, протекающих в них. А вот для чипа, моделирующего искусственную нейросеть, абсолютно безразлично, из какого материала состоит микросхема, поскольку вся конструкция функционирует в цифровом режиме.
Цифровые компьютеры представляют любые данные в виде последовательностей единиц и нулей, хранящихся в ячейках памяти в виде «вкл.» или «выкл.». Поэтому и транзисторы в чипах работают как переключатели - они либо «включают», либо «выключают» цепь. Но ведь по внутренней своей природе транзисторы не цифровые, а аналоговые устройства. Между «вкл.» и «выкл.» они последовательно проходят через разные состояния и в этих интервалах могут, к примеру, работать как усилители. Однако конструкторы компьютеров такие свойства транзисторов обычно игнорируют и практически не используют. Аналогичным образом и программисты ограничены цифровой природой компьютеров. Программа - последовательность логических инструкций, которые машина применяет к единицам и нулям по мере того, как те проходят через ее схемы. А потому эволюция, что моделируется генетическими алгоритмами, происходит лишь в крайне искусственном мире, порожденном языком программирования.
Что же произойдет (задался однажды вопросом Томпсон), если бы стало возможным снять цифровые ограничения и применить эволюционные принципы природы непосредственно к аппаратному обеспечению? Сумеет ли эволюция воспользоваться всеми электронными свойствами кремниевых компонент таким же образом, как она использует биомолекулярные структуры? Удастся ли и здесь эволюционными методами создавать новые конструкции? Ответить на все эти вопросы можно было лишь в том случае, если бы удалось найти способ объединения «влажных» процессов эволюции с «сухим» миром кремниевых чипов.
Как это нередко бывает в истории научных исследований, вместе с правильно поставленным вопросом довольно скоро появился и способ его решения. Именно в это время начала обретать популярность новая технология - микросхемы FPGA, созданные фирмой Xilinx, или Field-Programmable Gate Array - вентильные матрицы с перепрограммируемой пользователем логикой. По всей видимости, впервые конструктивную мысль об использовании микросхем FPGA для «эволюции хардвера» высказал в 1992 году ученый Хьюго де Гарис (Hugo de Garis) - весьма экстравагантный персонаж, одновременно стяжавший славу визионера, разработчика необычных «самообучающихся искусственных мозгов» и проповедника крайне эксцентричных идей «компьютерного космизма». Независимо от него примерно в то же самое время на чипы FPGA вышел и сугубо прагматичный Томпсон, которого интересовала вполне практическая задача - новые методы конструирования электронных схем.

Чудо превращения
В обычном микропроцессоре транзисторы намертво зашиты в схемы логических вентилей, выполняющих обработку. В микросхеме же FPGA все не так - здесь логические вентили и их межсоединения можно менять по воле пользователя. Транзисторы микросхемы расположены в виде массива логических ячеек, так что простой загрузкой новой программы в память чипа можно подключать каждую из ячеек к любой другой, формируя вентили по собственному желанию. Другими словами, простой замены программы бывает достаточно, чтобы модем, к примеру, превратился в звуковую микросхему.
Понятно, с таким устройством оказывается несложным организовать и моделирование эволюции при помощи генетического алгоритма. Для этого создается некая популяция конструкций - или попросту схем соединения элементарных ячеек. Каждая «особь» по очереди испытывается на приспособленность (fitness) к выполнению поставленной задачи, после чего наименее приспособленные отсеиваются, оставшиеся скрещиваются, мутируют, ну, и так далее, как это принято в генетических алгоритмах. Правда, если FPGA работает в стандартном режиме цифрового устройства, никакого принципиального отличия от обычного компьютерного моделирования мы здесь не получим. Революционность идеи Томпсона состояла в том, что для получения радикально новых результатов необходимо снять традиционные ограничения, то есть, по сути дела, нарушить «инструкцию по эксплуатации» чипа FPGA, позволив ему функционировать как аналоговому устройству. Прежде всего, Томпсон убрал генератор тактовой частоты, чтобы динамика системы из дискретной стала непрерывной, более напоминающей биологическую. И уже в первых экспериментах удалось получить крайне интересные результаты.
Исследователи поставили перед системой задачу эволюционного выведения схемы, способной различать два сигнала разной частоты - 1 кГц и 10 кГц. Для этого в FPGA выделили совсем небольшой участок - матрицу размером 10х10 ячеек.
FPGA02 FPGA01

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

FPGA04
Количество активных элементов схемы оказалось намного меньшим, чем понадобилось бы при обычном цифровом использовании FPGA.

FPGA05
Как же в процессе эволюции система сумела это сделать - различить разного тона периодические сигналы, не имея «часов», т. е. тактовой частоты синхрогенератора? При изучении окончательной схемы было обнаружено, что входной сигнал направлялся через сложную систему петель обратной связи. Предположили, что таким образом создавались модифицированные и задержанные по времени версии сигнала, которые как-то взаимодействовали с исходным сигналом, что и позволяло схеме различать два тона разной высоты. Но, по правде говоря, признавался впоследствии Томпсон, так и не удалось выяснить, как в действительности это работает?
Вполне очевидным было лишь одно - FPGA работал в аналоговой манере. Вплоть до финальной версии схемы порождались аналоговые волновые сигналы, а не строгий дискретный выход в виде напряжения 0 или 5 Вольт. Причем конструкция найденного решения оказалась в высшей степени интригующей. Из выделенных изначально 100 ячеек в итоге для функционирования схемы оказалось задействовано лишь 32. Остальные можно было убирать, что никак не меняло работу конфигурации. При этом 5 ячеек из оставшихся 32 вообще не выполняли никаких логических функций, способных влиять на выход (на рисунке они затенены серым цветом).

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

«А что у неё внутри?»

Для разрешения этой загадки исследователям требовалось измерять величину сигналов на входах и выходах каждой из ячеек в процессе работы схемы. Однако конструктивные особенности чипов FPGA позволяют получать лишь цифровой доступ к этим точкам, так что аналоговые значения замерять практически невозможно. Тогда приятель Томпсона, Пол Лэйзел (Paul Layzell), решил создать специальную эволюционирующую системную плату, которая позволяет определять параметры работы всех элементов схемы с помощью аналоговых инструментов. На базе именно такого прибора «железная эволюция» и переизобрела недавно радиоприемник, о котором говорилось в начале статьи.
Пол Лэйзел и его коллега Джон Берд (Jon Bird) создавали эволюционную компьютерную программу, чтобы несложная электронная схема самостоятельно модифицировала себя в осциллятор, т. е. устройство, дающее на выходе качественный периодический сигнал синусоидальной формы. Схема, на которой проводились эксперименты, состояла из 10 транзисторов, чьи межсоединения можно программно перекоммутировать самыми разными способами. Каждая такая коммутация рассматривалась алгоритмом в качестве «гена», и после нескольких тысяч мутаций электронная схема действительно преобразовала себя в осциллятор с выходным сигналом правильной формы. Однако при анализе результата быстро обнаружился факт жульничества - на самом деле схема не генерировала синусоиду самостоятельно, а брала сигнал от излучений стоявшего поблизости компьютера, выдавая его на выходе как собственный.
Больше всего поражал тот факт, что для работы радиоприемника-самородка требовалась антенна, а такого рода деталь отсутствовала в экспериментальной схеме в принципе. Поскольку в данном случае электроника допускала проведение более тщательного дознания, было установлено, что роль антенны взяла на себя длинная цепь в системной плате. Но то, каким именно образом эволюционировавшая схема научилась пользоваться этой цепью как антенной, так и осталось загадкой. Очевидно, неисповедимые пути случайных мутаций вывели на «гены» приема эфирных радиочастот, после чего те и закрепились в «генотипе».

В жару и в холод

Адриан Томпсон последние годы занимался несколько иными проблемами. Сразу после того, как стало очевидно, что хардверная эволюция способна приводить к конструктивно неожиданным, но вполне работоспособным решениям, возник вопрос - насколько эти решения надежны при их переносе на другие схемы и массовом тиражировании? Для проверки Томпсон загрузил наилучшую конфигурацию своего «распознавателя двух сигналов» в другой участок матрицы FPGA-чипа с тем же размером 10х10 ячеек. Оказалось, там схема работала весьма ненадежно, однако другой вариант последнего поколения решений функционировал заметно лучше. В результате для поиска наиболее приемлемого решения пришлось экспериментировать с параллельной эволюцией на нескольких участках чипа, на разных чипах одновременно, а также на чипах одной фирмы, но выпущенных на разных фабриках.
Помимо очень сильно разветвившейся задачи одного рода, обрисовалась и другая серьезная проблема. Электронные схемы должны работать в достаточно широком температурном диапазоне. Так, для обычных микропроцессоров рабочий диапазон простирается примерно от -20 до +80 по Цельсию. Эволюционные же схемы имеют тенденцию более-менее прилично работать лишь в узком интервале порядка 10 градусов в диапазоне комнатной температуры в лаборатории. Скорее всего, это связано с тем, что температура влияет на емкость, сопротивление и другие электрические характеристики компонент. Но каковы бы ни были причины, температурная чувствительность - серьезный недостаток схемы общего назначения, которая в идеале всегда должна быть дешевым и неприхотливым устройством, потребляющим минимум энергии и не требующим дополнительных термоконтроллеров. Для решения проблемы на помощь опять были призваны эволюционные алгоритмы, позволившие, помимо прочего, сделать еще одно большое открытие в области разработки новых конструкций: экспериментальным путем установлена важнейшая роль так называемой «нейтральной эволюции».
Исследователям было ясно, что при отыскании стабильного решения для функционирования в разных условиях требуется множество чипов, одновременно работающих в разных условиях: один, грубо говоря, в печке, другой - в холодильнике и т. д. При этом чипы должны быть электрически изолированы друг от друга для предотвращения взаимного влияния. Столь серьезные ограничивающие факторы означают, что наиболее разумной оказывается простейшая эволюционная стратегия, когда в каждый момент времени происходит лишь единственная мутация, а не перестройка всей конфигурации системы. Если единственная мутация вызывает снижение «пригодности», то ее отвергают, в противном же случае - принимают. По сути своей это просто алгоритм случайного поиска экстремума функции с допущением нейтральных ходов, которые, как выяснилось, являются жизненно важным компонентом эволюции.
Построенный эксперимент закончился вполне реальным успехом, когда схеме удалось найти надежную «всепогодную» конструкцию, которая не могла быть получена на основе общепринятых принципов разработки. Каждый раз, когда поиск заводил систему в зону локального оптимума и, казалось, нет никаких возможностей для совершенствования, схеме позволяли пройти через тысячи нейтральных мутаций, не повышающих пригодность, но слегка меняющих состав компонент. После чего находилась единственная мутация, приводящая к новому заметному улучшению параметров. И так повторялось несколько раз. Нейтральный дрейф уводил от схемы, которую невозможно было усовершенствовать изменением единственного гена и, в конечном счете, приводил к отысканию положительной мутации.
Формат этой статьи позволил рассказать лишь о небольшой части интереснейших работ, ведущихся сегодня в области эволюции электроники научно-исследовательскими лабораториями мира. По данной теме уже несколько лет устраиваются ежегодные международные семинары и конференции, спонсорами исследований выступают ведущие компании телекоммуникационной и компьютерной индустрии, поскольку экспериментальные результаты и разработка теории эволюционных конструкций обещают вполне ощутимые практические выгоды. Поэтому вполне вероятно, что в обозримом будущем в наших сотовых телефонах, карманных компьютерах и другой микропроцессорной технике будут работать удивительные схемы, самостоятельно развившиеся в процессе «железной эволюции».
Page 1 of 3 << [1] [2] [3] >>
Friday, May 31st, 2013 11:49 pm (UTC)
Любопытно! Когда-то хотели вроде делать еще эволюционное программирование, но уперлись в простую вещь: в программе хоть один бит изменить, она скорее всего вообще работать перестанет, а о том, чтобы отдельные фрагменты "копипейстить" - это ж вообще чушь несусветная! То есть нужно, чтобы варьировались какие-то довольно большие блоки, и чтобы почти при любом их соединении друг с другом хоть что-то рабочее, да получалось бы. Может, с ПЛИСиной действительно ближе получается?
Saturday, June 1st, 2013 10:45 am (UTC)
В 90 х у французов был проект OXYGEN построить за счёт огромной избыточности компьютер из заведомо сбоящей или /и неработающей рассыпухи - фейл
В конце 90х начале 2000 англичанин Адриан Томпсон (Adrian Thompson), в ту пору аспиранта и сотрудника Центра вычислительной науки и роботехники Сассекского университета http://www.sussex.ac.uk/Users/adrianth/ade.html сделал опыт по эволюции и естественному отбору схемы внутри FPGA Опыт завершился успехом. Возможно в перспективе начнут за счёт автоматизации добиваться работающей новой схемы минуя стадию конструирования.
Возможно если использавать серверные фермы на которых идут все стадии проектирования новых схем на Genetic Algorithm будет получаться быстрее, дешевле и в старых технормах без гонки за нанометром, а в перспективе самообучение,
Вероятность успеха при таком подходе один на миллион и хуже, но если эволюция в кремнии идет в миллион раз быстрее чем в природе, и естественный отбор в том же темпе для наблюдателя будет например прогрес выглядить как в комедии Эволюция :)
И главная проблема не в том что делать при тупиковой ветвей, а как от слишком удачной избавится типа скайнета из терминатора :(
Как работают подобные схемы не понятно и как их верифицировать, на предмет внезапных побочных функций типа убить всех человеков я не представляю, три закона робототехники класс но как их всобачить в Генетическую технологию создания схем?
Придется пока на простых задачах кошечках упражняться
Sunday, June 2nd, 2013 06:36 pm (UTC)
Сказать что я офигел - это почти ничего не сказать...
Sunday, June 2nd, 2013 06:44 pm (UTC)
> на предмет внезапных побочных функций типа убить всех человеков

"Доктор Диагор"
Sunday, June 2nd, 2013 08:02 pm (UTC)
А можно развернуть направление офигивания?
Время
Не заметил тему десять лет назад
Перспективы человеков
Sunday, June 2nd, 2013 08:13 pm (UTC)
Томпсон не Доктор Диагор у Лема
У него другие цели
А так и Професор Громов у Велтистова с лисом и элетроником итп
С шестидесятых авторы ставят проблемы и некоторые даже их в книге решают
Но как это с кремнием связать или с А3В5 или А2В6 итп?
Monday, June 3rd, 2013 09:55 am (UTC)
С днём рожденья!
Monday, June 3rd, 2013 10:12 am (UTC)
Спасибо, Получилось ссылки на ГОСТ и ТУ посмотреть?
А как насчёт сталь/томак или сталь/никель?
Monday, June 3rd, 2013 10:33 am (UTC)
Сталь-томпак годится, сталь-никель - не очень. Им нужна более высокая т-ра пайки и другая марка припоя (с марганцем и без кадмия).
Monday, June 3rd, 2013 01:06 pm (UTC)
Направлений несколько.

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

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

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

То есть, подобные открытия могут - не обязательно, но могут - полностью изменить подход к проектированию микроэлектроники. И это будет революция не хуже "изобретения" цифрового мира.

Третье. Сам процесс. Непознаваемый для создателя. Я так понимаю, рассчитать всю эту систему обратных связей мы пока в принципе не можем. Не то что заранее, а даже задним числом, уже зная результат.
А значит мы, наверное, не вполне, не на все 100% можем быть уверены в том, что мы получаем. Какие-то неожиданные эффекты могут выпрыгнуть ВДРУГ, от какого-то внешнего воздействия, которое мы не можем спрогнозировать. Невозможно прогнать абсолютный тест, получить все возможные отклики этого "чёрного ящика" и сказать - да, я знаю в точности как он будет работать.
Это делает практическое применение таких приборов (буде они всё же применяться) процессом, гм, несколько вероятностным.

Ну и последнее - это, конечно, некоторое опасение "а что из этого выйдет?". Ага, Скайнет, Матрица... детища доктора Диагора :)))

В общем, скажу, что меня давно так не "встряхивало" :)))

И - с днём рождения!
Monday, June 3rd, 2013 01:14 pm (UTC)
Да, конечно. Мысль о том, что у эээ робота могут появиться собственные цели, не совпадающие с нашими - она в литературе уже несколько, гм, пожёвана :)))

Но я имел в виду, в основном, иное.

"- Это он сделал? - спросил я, невольно понижая голос.
- Да.
- Каким образом?
- Не знаю. ... Я допускаю, что он создал что-то вроде индукционной печи, в которой закалил себе голову, а может, индуктировал ток прямо в плитах обшивки, в общем, как я уже сказал, не знаю."

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

Вот этого я раньше не встречал.
Monday, June 3rd, 2013 01:20 pm (UTC)
Да, еще.
Вот эволюция этой схемы. Это ведь, с нашей точки зрения, ошибка природы. Паразитные ОС, какие-то внешние ненужные помехи и пошло-поехало, засвистело, загенерило! Оказалось - удачно.
Может и наша, биологическая эволюция тоже родилась из подобной же ошибки?
Monday, June 3rd, 2013 06:19 pm (UTC)
Страно в начале 2000 все пережевали журналисты и даже какой то сайт из Томска эту статью публиковал с комментариями и дополнениями к статье. Я думал город с радио техническими наклон осями и факельными шествиями всей экзотикой увлечен.
Monday, June 3rd, 2013 06:26 pm (UTC)
Спасибо за поздравление
Вопрос верификации меня и мучит
После получения схемы сделать ее бесплодной как лошака или мула не вопрос
Вопрос как сделать чтоб этот мул людей не топтал?
Стоит рассказ Лукьяненко нечего делить прочитать
Может в нем единственный путь
Гарантированно за сложной системой может при смотреть только система более верхнего уровня
На этом этапе десятки на десятки элементов можно модель в спике построить
Но с уровнем сложности выше пока никак не представляю
Monday, June 3rd, 2013 06:28 pm (UTC)
Метод проб и трагических ошибок есть единственно православный метод :)
Monday, June 3rd, 2013 06:29 pm (UTC)
Хорошо бы по табличкам из ГОСТов сделать расчет на максимальную прочность и минимальный вес
Monday, June 3rd, 2013 07:09 pm (UTC)
Точно всё равно не получится - мы же при пайке частично отжигаем стальной сердечник проволоки, несущая способность припоя не учитывается вовсе. Для давления в камере 45 атмосфер, биметалла по старому советскому ещё справочнику 78 года четыре слоя обмотки 0,5 мм давали коэффициент запаса прочности 1,5.
Вот между 1,5 и 2 и надо целиться. Мотать второй слой с принудительным шагом не выйдет - и поверхность неровная, и припоя большей пойдёт (а он всё же серебро содержит).
Monday, June 3rd, 2013 07:13 pm (UTC)
Классика :) бессмертная трилогия
Основные ошибки господа бога
Когда Господь бог сбился с пути
Да кто он вообще такой этот самый мистер Господь бог
Tuesday, June 4th, 2013 04:04 am (UTC)
Не, мимо меня это прошло каким-то образом...
Tuesday, June 4th, 2013 04:12 am (UTC)
:)))
Tuesday, June 4th, 2013 04:14 am (UTC)
Да, это проблема.
Tuesday, June 4th, 2013 04:52 am (UTC)
Но мы-то сейчас работаем по-другому :))) Твёрдый расчёт - наше всё :)))
Tuesday, June 4th, 2013 06:09 am (UTC)
У меня наверное это от отслеживания генетических/эволюционых алгоритмов в САПР осталось.
Tuesday, June 4th, 2013 06:12 am (UTC)
Это проюлема как как Энергии создать гравитационый двигатель до 2020 года и в перспективе роскосмосу освоить темную энергию :) или как у Лукьяненко подружится с фемтомиром и на раз контролировать нанотехнологии которыми практически не пользоваться как устаревшими?
Tuesday, June 4th, 2013 06:20 am (UTC)
http://vera.mipt.ru - Это МФТИ и религия - это факультатив
МИФИ - кафедра № 86 Кафедра теологии - это уже клиника
так, что на работы по верификации эволюционирующих схем
нынешняя наука может поставить резолюцию ГРЕШНОВАТО
и с ростом сложности систем такая эволюционируящая схема
програмная/аппаратная/програмно-аппаратная
может зародится сама и нас для прикола на ноль помножить
или на молекулярном уровне по скорому проанализировать
Page 1 of 3 << [1] [2] [3] >>