Thursday, April 15, 2010

Про эволюцию!!!
Есть такой учёный – Adrian Thompson. Решил он как-то посмотреть что получится, если попробовать создать с помощью эволюции электрическую схему.

Ну что, взял он FPGA размером 10х10 (т.е. 100 логических элементов) и решил сделать детектор частоты. То есть, схему, которая выдавала бы логический '1', если на вход подаётся частота 10Кгц и логический '0', если частота равна 1Кгц (на вход подаются только две эти частоты). Если делать такой детектор с помощью "обычного" дизайна, то нужен был бы таймер с эталонной частотой, компаратор и так далее — в 100 логических элементов не уложиться.

Для начала он создал 50 случайных конфигураций. Они последовательно проверялись на FPGA, лучшие по характеристикам выбирались и переносились в следующее поколение. Между поколениями лучшие схемы "скрещивались" и добавлялись случайные мутации.

В общем, в итоге после 4000 поколений получилась схема, которая делала всё нужное. Причём совсем непонятно КАК она это делала — на ней были совершенно дикие петли и непонятные соединения

Но это не самое интересное.
В получившейся схеме было всего 32 элемента, которые были важны. Остальные 68 элементов были просто мусором.

Но и это ещё не всё — из этих 32 нужных элементов пять элементов не были подключены к остальным элементам электрически. То есть, эволюции удалось зацепиться за какой-то тонкий эффект, связаный с индуктивностью или ёмкостью этих элементов.
Но даже и это не всё — полученная схема работала устойчиво только в диапазоне десяти градусов Цельсия, что примерно соответствовало изменению температуры в лаборатории.

То есть, эволюция "в силиконе" повторила многие черты реальной эволюции — использование тонких эффектов, непонятная структура, потрясающая эффективность.


заимствовано с подачи Анны из источника http://elbonia.livejournal.com/1514827.html

Вот отчёт: http://www.cogs.susx.ac.uk/users/adrianth/ascot/paper/paper.html
И сайт автора: http://www.cogs.susx.ac.uk/users/adrianth/ade.html
Утащено с RSDN.

No comments: