Продолжу вчерашнюю тему "Великого Программиста" (ссылка).
Могут ли простые смертные, перенимая стиль работы Б-га, освоить новые приёмы программирования?
Очевидно, да! По наводке одного из читателей, пересказываю пост elbonia (источник):
Британский учёный Adrian Thompson решил последовать примеру Б-га и применить генетический алгоритм на практике: оптимизировать с помощью микроэволюции нехитрую электрическую схему, детектор частоты.
То есть, попытаться сделать устройство, которое отличало бы сигнал 10 КГц от сигнала 1 КГц, и состояло бы при этом не более чем из сотни логических элементов.
Для этого Томпсон создал 50 случайных конфигураций, запрограммировал алгоритм их скрещивания и скомандовал схемам "плодиться и размножаться" в специальной программе. Через 4 000 "поколений" искомая цель была достигнута: британец получил схему, которая делала всё нужное и состояла при этом всего из 37 элементов.
Забавный факт: хотя созданная при помощи генетического алгоритма схема успешно работала, у Томпсона не хватило знаний, чтобы понять, что именно происходит внутри неё.
Любопытные могут ознакомиться с деталями эксперимента на англоязычном сайте Томпсона (ссылка).
Теперь вернёмся от электричества обратно к живым существам.
На границе Казахстана и Узбекистана раскинуло свои воды Аральское Море — стремительно пересыхающий водоём, который, судя по всему, в ближайшее время превратится из четвёртого по величине озера в мире в небольшую грязную лужицу.
Кроме прочей водоплавающей живности, в этом озере живут моллюски, которые, волей-неволей, вынуждены приспосабливаться к меняющимся условиям жизни.
Орудующие на берех моря биологи отмечали архиинтересное явление: скорость эволюции припёртых к стенке моллюсков была необыкновенно высокой. В течение нескольких десятков поколений моллюски чуть ли не мутировали в новый вид (подробнее).
Парадокс заключался в следующем. Если моллюск может за 30 поколений измениться настолько сильно, непонятно, почему же тогда мы не наблюдаем массового образования новых семейств и отрядов, даже среди быстроразмножающихся тварей. Как вы помните, мучителям бактерий потребовалось несколько десятков тысяч поколений, чтобы их подопытная бактерия нехотя согласилась немного изменить рацион и начать есть цитрат. (Это я оставляю за скобками тот факт, что другие учёные повторить бактериологический эксперимент, насколько мне известно, пока не смогли).
Всё, однако, встанет на свои места, если мы залезем в шкуру Б-га и подумаем, как бы мы создавали того самого аральского моллюска.
Мы бы сконструировали 50 более-менее случайных моллюсков, задали бы им алгоритм скрещивания и выпустили бы в солёную воду. Моллюски, с помощью генетического алгоритма, смогли бы довольно шустро реагировать на изменения окружающей среды.
Однако, очевидно, даже за миллиард лет моллюски не смогли бы превратиться, скажем, в собак. Так как среди выделенных нами моллюскам деталей не было бы ни лап, ни хвостов, ни шерсти, ни доброго четвероногого сердца...
Ладно. Какую можно вывести из опыта британца мораль?
Крупным исследовательским лабораториям, типа лабораторий Гугл, имеет смысл уделить особое внимание изучению устройства живых существ. Технологический уровень Б-га гораздо выше нашего, поэтому, вполне вероятно, подсмотренные у Б-га технологии сумеют совершить в программировании несколько революций.
← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →