Русский
Русский
English
Статистика
Реклама

Эволюция

Что такое алгоритм?_? Часть 3.1 Эволюция памяти

05.07.2020 08:18:54 | Автор: admin

Идём в глубь острова сокровищ с названием "Алгоритм".


Title


Задача


Перед Вами новая статья серии "Что такое алгоритм?". И снова непростая задача. Нам необходимо "нырнуть глубже" в структуры памяти живого организма. К сожалению, в ракурсе, предлагаемом статьёй, это направление еще исследовано слабо. Что делает материал, приведённый далее, более сложным по сравнению с излагаемым в предыдущих частях, в которых использовалась близость с методами "генетических алгоритмов", автоматизированных систем управления, систем машинного обучения с учителем и подкреплением. Поэтому прокладывать тропинку в глубь неизведанных "территорий" процессов памяти придется во многом самостоятельно. С одной стороны это очень интересно. Ведь мы с Вами первопроходцы! А с другой стороны есть опасность "заблудиться". . Чтобы приободрить в начале дороги, могу лишь сказать, что путь один раз уже пройден, туры сложены вдоль нашей дороги, карта местности прорисовывается, а клад в конце пути обещает быть внушительным.


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


Для вскрытия структуры памяти потребуются все результаты, полученные в предыдущих статьях серии (Часть 1 "Действие", Часть 2 "Исполнение", Часть 3 "Память"). Без перечисленных там выкладок читать дальше будет сложнее.


Давайте приступим.


Эволюция цепочек


Структура запоминания в мозге "немного" сложнее, чем было описано в статье 3. Для начала описания было необходимо представить эту структуру упрощенно и выделить только самое важное:


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

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


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


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


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


Вторым фактором развития биологических организмов является смерть. Никогда бы не подумал, что придётся сказать фразу следующего содержания, но: "Смерть полезна". Она позволяет выполнить развитие алгоритмов в группе родственных организмов.



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


Этап "Зарождение действия"


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


Как организм может повлиять на действие? Он может его использовать или не использовать. Он может его использовать изредка и часто. Он может исполнять его периодически.


Для организма в ситуации с едой, целесообразно использовать действие("Двигаться") время от времени:


  1. передвинулся в новое место;
  2. остановил движение;
  3. некоторое время не используй движение (вместо него попробуй поесть в новом месте);
  4. продолжи с пункта 1.

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


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


Первый алгоритм собран! Он тривиален, но уже может работать (помогать организму выжить). Его реализация доступна даже на биологической элементной "функциональной базе", а у программиста эта простая задача даже интереса не вызовет. Но перед тем как усложнить программисту ТЗ, давайте введём структуру описания "коммита" (этапа эволюции памяти).


Для каждого этапа развития памяти необходимо указать следующие сведения:


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

Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Двигаться полезнее чем находиться в одном месте Время от времени организм выполняет действие и это ему полезнее чем не выполнять "Накопление потенциала разрядка исполнением" Бесконечный цикл для исполнения операции с настраиваемым интервалом

stage action


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


Этап "Формирование торможения"


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


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


Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Вредно двигаться когда в текущем месте много еды Время от времени организм выполняет действие, но не начинает его выполнение при наличии ограничивающего признака "Торможение", то есть блокировка разрядки по признаку Бесконечный цикл со спящим ожиданием снятия флага для исполнения операции

stage suppression


Этап "Формирование рефлекса"


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


Пример эволюционного признака Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Полезнее двигаться-убегать при наличии опасности чем оставаться на одном месте Организм обязательно начинает выполнение действия при наличии признака "Возбуждение", то есть старт разрядки по признаку Бесконечный цикл со спящим ожиданием установки флага для исполнения операции

stage excitation


Этап "Универсализация"


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


Первой рассмотрим универсализацию нескольких ограничений.


Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Вредно убегать при наличии в текущем месте запаса еды или особи для спаривания Время от времени организм может выполнять действие, но не начинает его выполнение при наличии ограничивающего признака("1") или при наличии ограничивающего признака("2") - Бесконечный цикл со спящим ожиданием (снятия флага1) OR (снятия флага2) для исполнения операции

stage suppression2


Универсализация нескольких признаков для рефлекса представлена далее.


Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Убегать от хищника и убегать от огня полезнее чем оставаться на одном месте Время от времени организм может выполнять действие, но обязательно его выполняет при наличии признака("1") или при наличии признака("2") - Бесконечный цикл со спящим ожиданием (установки флага1) OR (установки флага2) для исполнения операции

stage excitation2


На этом этапе простая и классическая часть повествования закончилась. И мы переходим к интересным "сложностям".


Этап "Соревнование стратегий"


Как и прежде этап начинается с неприятного подарка среды, подготовленного для "многострадального" организма. Этот "подарок" возможность нахождения и "еды", и "опасности" в одном месте. Организму никак не выработать алгоритм поведения на основе типов алгоритмов, которые имеются в его арсенале. Значит "придётся" развиваться.


Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Убегать от хищника полезно даже если рядом много еды Время от времени организм может выполнять действие, но обязательно его выполняет при наличии приоритетного признака("1") даже при наличии ограничивающего признака("2") Приоритет признаков Бесконечный цикл со спящим ожиданием положительного соотношения приоритетов флага1 и флага2 для исполнения операции

stage competition


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


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


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


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


Этап "Группировка признаков"


Цепочки памяти во всех предыдущих этапах были односвязными. То есть в них запоминалась (то есть укреплялась) и взвешивалась (то есть оценивалась пользой) одна связь "признак-действие". Для разбора группировки признаков нужно запоминать больше связей. На этом этапе появляется необходимость в объединении связей в "цепь" друг за другом.


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


Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Полезно убегать от большого и зубастого организма (льва), но не от просто большого (слона) и не от просто зубатого (кролика) Время от времени организм может выполнять действие, но обязательно его выполняет при одновременном наличии признака("1") и признака("2") Запись в цепочку обнаружения сочетания признаков и способ повторного обнаружения такого сочетания признаков Бесконечный цикл со спящим ожиданием одновременной (последовательной) установки флага1 и флага2 для исполнения операции

stage sign chain


Теперь опишем "сложности" признаковой операции И (AND) и особенности их решения методом построения цепочки. Первая и самая главная сложность состоит в том, что если количество базовых признаков у организма $n$, то количество макро-признаков, которые возможно выделить на синхронном парном сочетании из этих признаков $C^2_n = \frac{n!}{{(n-2)!} \cdot 2!}$. Это число больше $n$ (для $3 < n$). И общее число макро-признаков увеличивается с добавлением каждой дополнительной возможности детектировать сочетания базовых признаков. Таких возможностей как:


  • использование сочетания больше двух базовых признаков;
  • определение порядка появления базовых признаков;
  • указание интервала времени между появлением базовых признаков.

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


К счастью для организма в нашей среде полезность макро-признака можно проверить без выполнения действия и без ожидания подкрепления от среды или учителя. Способ это осуществить выявление Повтора (которому посвящена статья 3). Только повторяющиеся сочетания-последовательности ("узоры") из базовых признаков являются полезными для построения алгоритма (статья 1).


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


Описанный способ отделения формирования макро-признака от оценки исполненного действия позволяет:


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

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


Если перейти от искусственной нейронной сети, работающей с изображением, к зрительной коре, то почти общепринято, что механизма обратного распространения ошибки там нет. Макро-признаки изображения (и движений) в биологическом варианте учатся полностью "автономно". Возможно биологическое решение распознавания зрительных образов Повтор??


Этап "Группировка действий"


И если признак повторяемости является дискуссионным в биологическом распознавании зрительных образов, то его использование для группировки действий сомнения почти не вызывает (вспомним пример игры на фортепиано, рассмотренный в статье 3). Основа способа формирования алгоритма, использующего последовательность действий, это повтор организмом требуемой последовательности действий! Но о каких действиях мы говорим? Ранее у организма мы рассматривали лишь одно действие, и он учился им пользоваться с пользой для себя. Такое ограничение было использовано намеренно (в угоду простоты описания вышеизложенных шагов развития). Давайте пожалеем организм и снимем это ограничение.


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


Пример эволюционного фактора Универсальное описание Требуемые дополнительные функции Добавляемый тип алгоритма
Для перемещения организма в воде полезно использовать последовательность движения жгутиком (хвостом) сначала в одну и потом в другую сторону Время от времени организм может выполнять последовательность действие("1") и действие("2") и это полезнее чем не выполнять эту последовательность или выполнять действия разрозненно Запись в цепочку сочетания исполняемых действий и способ повторного исполнения такого сочетания действий Бесконечный цикл для исполнения последовательности операции с настраиваемым интервалом

stage action chain


Схема, конечно, красивая. Но.


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

Давайте разберем эти "сложности" по порядку.


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


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


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


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


Общая схема памяти завершена?


Выводы


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


  • иерархии в признаковые и исполнительные области памяти;
  • игровой активности;
  • алгоритмов копирования цепочек от организма к организму;
  • языковых единиц для обеспечения исполнения коллективных алгоритмов организмов;
  • использования языковых единиц для процессов копирования цепочек от организма к организму;
  • способов синтеза алгоритмов на основе "цепочек" языковых единиц...

Мы на финальной черте этой статьи. Высадка на остров сокровищ "Алгоритм" произошла. Она получилась длиннее (по количеству букв), чем мне бы этого хотелось, но нас не должно волной прибоя отбросить обратно в море. Поэтому пришлось укрепиться на берегу основательней. С другой стороны количества букв в статье явно не хватает, чтобы описать всё что хочется рассказать, и некоторые подводные камни остались неосвещенными за бортом повествования. Есть предложение выстроить диалог обсуждения этих сложностей в формате вопрос-ответ в отдельной ветке Issues (Open source (GPL) проекта на GitLab).


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


stage action chain


Спасибо Вам за внимание.


Отзывы


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


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


Ссылки


Подробнее..

Что такое алгоритм?_?? Часть Копирование иерархии памяти

17.07.2020 14:11:33 | Автор: admin

Пациент Алгоритм на операционном столе. Он жив и здоров. Поэтому отложим скальпель. Будем изучать силой своей мысли.


Title


Задача


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


dog`s heart


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


Во вскрытии структуры Памяти и процессов обучения потребуются все результаты, полученные в предыдущих статьях серии (Часть 1 "Действие", Часть 2 "Исполнение", Часть 3 "Память", Часть 3.1 "Эволюция памяти"). Без перечисленных там выкладок читать дальше будет сложнее.


Давайте приступим.


Иерархия областей памяти


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


  • элементарных действиях,
  • элементарных признаках (в качестве условий к действиям),
  • торможении как логической инверсии признака,
  • логическом комплексировании признаков операциями OR и AND
  • и объединении признаков и действий в последовательность с использованием цепочки.

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


Но от опытного программиста не ускользнет и тот факт, что этих средств мало для поддержания написанного кода в "чистоте". То есть для "удобного" занятия развитием проекта ("Алгоритмы выживания организма") в программной среде необходимо наличие дополнительных возможностей. Первой в списке необходимых является возможность изоляции одного синтезированного (написанного) алгоритма от другого, то есть инструмента формирования подпрограмм. Подпрограмма даёт возможность развивать и вызывать исполнение алгоритма независимо от других алгоритмов.


Чтобы продолжить вспомним "область памяти", обозначенную в предыдущей статье как место детектирования повтора и формирования цепочки, обобщим эту информацию и закрепим в виде термина.


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


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


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

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


Программисту эта ситуация должна быть знакома, особенно "старожилам", помучившимся в написании больших проектов на BASIC (и отчасти на ASM) с обильным использованием безусловных переходов. Нас (как программистов) может немного утешить тот факт, что у организма тоже был период "спагетти-кода". И организм тоже сталкивался с замедлением развития своего "программного проекта", ведь в спагетти-коде каждая модификация одного алгоритма может поломать реализации несколько других.


Spaghetti code


Мы подошли к эволюционному фактору. На этот раз он не такой наглядный, как в примерах предыдущей статьи с "Едой" и "Хищником". Но среда опять играет в нём ключевую роль, предоставляя организму множество разнообразных ситуаций, для каждой из которых полезны отличающиеся алгоритмы. И в такой среде успешнее выживает тот организм, который способен синтезировать и использовать бльшее число алгоритмов!


Как организму запомнить большое количество алгоритмов? Как в реализации Памяти убрать сильную связность этих алгоритмов? Как достичь изоляции одного алгоритма от другого?


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


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


Сперва рассмотрим упрощенную версию такой двухкомпонентной системы Памяти, в которой область памяти 1 не использует "игровое поведение", то есть не генерирует "внутренние действия" спонтанно, но лишь в результате воздействия входных признаков. Такую ограниченную область памяти будем далее называть "признаковой".


hierarchy prepare


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


этапа Порождающий фактор среды Задействованные внутренние признаки Формирующиеся связи
1 Действие("1") полезно при Признаке("4") Признак("Внутренний 3") Признак("4") Признак("Внутренний 3"); Признак("Внутренний 3") Действие("1")
2 Действие("2") полезно при Признаке("5") Признак("Внутренний 4") Признак("5") Признак("Внутренний 4"); Признак("Внутренний 4") => Действие("2")
3 Признак("А") подкрепляет повтором макро-Действие { Действие("1") Действие ("2") } - Действие("1") Действие("2") Признак("А")
4 макро-Действие{ Действие("1") Действие("2") } полезно при макро-Признаке{ Признак("1") Признак("2") } Признак("Внутренний 1") Признак("1") Признак("2") Признак("Внутренний 1"); Признак("Внутренний 1") Действие("1") Действие("2")
5 Действие("1") вредно при Признаке("3") Признак("Внутренний 2") Признак("3") Признак("Внутренний 2); Признак("Внутренний 2") => Действие("1")

В первом и втором этапе в пережитых ситуациях была выявлена полезная организму закономерность среды по использованию Действия("1") и Действия("2"). В этапе 3 на основе игрового поведения была выявлена еще одна закономерность, фиксирующая, что последовательность Действие("1") Действие ("2") имеет в среде отклик в виде Признака("А"). На этапе 4 был выявлен повтором макро-Признак { Признак("1") Признак("2") } и выявлено полезное при этом макро-признаке организму действие, которым оказалось макро-Действие{ Действие("1") Действие("2") }. На этапе 5 была выявлена вредная закономерность по использованию Действия("1") при наличии Признака("3").


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


  • с использованием признака Повторимость и с использованием подкрепления пользой;
  • с увязыванием действия за подкрепляющий признак и за ограничивающий признак;
  • с выполнением группировки макро-признака и формирования макро-действия.

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


hierarchy


При введении промежуточного слоя должны сохраниться все ранее доступные способы построения алгоритмов поведения организма. Поэтому нельзя вносить усложнения в реализацию сопоставления входного признака и выходного действия организма. Это сопоставление можно осуществить проведением признака сквозь внутренний слой без изменения, например, как это сделано для цепочки { признак("Внутренний 5") действие("Внутреннее 3") }. В остальном внутренний слой не мешает, а только только добавляет возможности (как в выявлении макро-признаков, так и в формировании макро-действий) и тем самым способствует разработке более сложных алгоритмов и сохранению большего их количества в Памяти организма.


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


  • конфликты внутренних областей памяти за управление;
  • возможности усложнения взаимодействия областей памяти с перенаправлением внутренних действий на области памяти внутреннего анализа;
  • способы временной блокировки "исполнительной" области памяти торможением.

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


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


Копирование памяти


И мы переходим к главному этапу, отмеченному в плане нашей "нехирургической" операции. Необходимо диагностировать процессы обучения, как способа переноса алгоритма от одного организма другому.


apple


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


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


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


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

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



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


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

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


Мы несколько удалились от процессов обучения. И пока описано только копирование односвязной цепочки {признак действие}. Как же копировать макро-признаки и макро-действия?


Сначала разберем простой ответ для макро-действия. Этот способ уже описан в статье 3 "Память" на примере с фортепиано. В университете мы называли это практикой. А по факту это многократные повторы организмом последовательности элементарных действий, составляющих копируемое макро-действие. Хорошо, что у современного программиста есть более эффективные методы копирования алгоритмов чем у живых организмов. И копирование макро-действий в разрабатываемой компьютерной системе можно не целиком списывать с организма.


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


И в этот раз не будет выводов. Ведь и Булгаков оставил нас самих решать, стоит ли так играть темой мозга, но сам Шарикова снова сделал Шариком...


end


Спасибо Вам за внимание.


Отзывы


Буду очень благодарен за отзывы, пожелания и предложения, так как они помогают мне скорректировать направление развития работы в этой области.


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


Ссылки


Подробнее..

Гипертимезия и эволюция в IT

05.12.2020 14:09:17 | Автор: admin

Недавно открыл для себя термин гипертимезия способность личности помнить и воспроизводить предельно высокое количество информации о её собственной жизни. Гипертимезия считается нарушением памяти и значительно осложняет жизнь человеку. Вольно или невольно сосредотачиваясь на прошлом, он перестаёт уделять внимание настоящему и забывает о будущем. И чем дольше человек живёт, тем больше у него прошлого. Тем проще соскользнуть в него, тем сложнее удержаться в настоящем.

Человеческие возможности велики, ноограничены. По некоторымприкидкамобщий объём памяти нашего мозга может достигать 5 петабайт это 5 тысяч терабайтов или 5 миллионов гигабайтов. Да, много. Но не бесконечно много. А ведь ещё нужно обрабатывать входящую/исходящую информацию (изображение, звук, запах, вкус, тактильные ощущения, речь, моторика), выполнять прошитые программы (инстинкты) и создавать новые (обучение) это уже не просто память, а устройство обработки информации (процессор). Которое располагается там же, где и память в мозге человека, и использует те же самые аппаратные ресурсы (нейроны и синапсы). То есть, вряд ли объём наше памяти дотягивает до этих самых 5-ти петабайт.

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

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

Нашим предкам было проще, для них мир не менялся с такой скоростью, с какой он меняется для нас. Особенно это касается информационных технологий.

Ведь что я наблюдаю в области web-приложений? Во-первых, война браузеров породила кучу альтернативных технологий (JavaScript, Java applets, ActiveX, Flash, Dart), во-вторых, стандарты webа (HTML, CSS, Browser API) представляют собой результат компромиссов между ведущими игроками, а разработчики вынуждены поддерживать различные имплементации функционала через те жеполифилы. Разнообразные варианты доставки JS-кода в браузер CommonJS, AMD, CMD, UMD, ES6. Славное прошлое ложится тяжким бременем на плечи современного web-разработчика. А ещё на них ложится и не менее славное настоящее Angular, React, Vue, Svelte, Ember, Микросервисы на различных языках программирования Go, Java, Ruby, Python, PHP, NodeJS, C#,

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

Мы не забываем пройденное, мы накапливаем знания. Как снежный ком HTML, CSS, JS, ES6, TypeScript, Web 2.0, SPA, PWA, SEO, SSR, headless, microservices, AWS, Docker, Kubernetes, Мы уже не можем просто так создать HTML страницу и выложить в Сеть, мы должны сначала продумать вот это вот всё и принять решение, что чистого HTMLа будет достаточно. Насколько проще было принимать такое решение, когда мы только и знали, что HTML.

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

Да, человек может либо глубже изучить меньшее количество технологий, либо большее количество технологий, но поверхностно:

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

Эволюция в IT сейчас похожа на сёрфинг нужно поймать волну и держаться на ней, пока у той есть достаточно энергии:

Затем брать доску (интеллект) и искать новую волну (технологию).

А потом опять, опять и опять

Благо, что волн становится только больше.

Подробнее..

Что такое алгоритм???? Часть 101 Эволюция поведения

25.04.2021 20:19:15 | Автор: admin

Опять изучаем алгоритм. И уже который раз в заголовке слово "Эволюция". Эволюция программного проекта, эволюция памяти и теперь эволюция поведения. Это простое совпадение?


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


Почему для понимания алгоритма необходим разговор о поведении???


Где в формализации алгоритма есть место эмоциям????


И все эти вопросы в ограниченной объемом статье. Задача не проста, и тем интереснее начать...


Title


Задача


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


Базовое утверждение, необходимое в дальнейших рассуждениях, звучит так:


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

Следующие утверждение частично содержатся в первом базовом утверждении и поясняют его детали:


  • Алгоритм поведения это повторимый способ воздействия биологической особью на состояние окружающей среды

  • Запуск алгоритма поведения определяется детектируемым особью сочетанием признаков, свидетельствующим о некотором состоянии среды

  • Воздействие производится особью исполнением упорядоченной совокупности действий из доступного особи множества действий.


И для заключительного утверждения потребуется немного переформулировать результат первой статьи серии "Что такое алгоритм...":


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

Утверждения не очень сложны. Но зачем они? И какие преимущества можно получить, нарекая поведение Алгоритмом?


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


Можно попытаться кратко описать достоинства предлагаемого подхода. В первую очередь он даёт возможность анализа формирования и изменения поведения биологического организма и его уникального вида человека. Что уже не мало. Но есть вторая и, вероятно, более важная особенность такого взгляда на поведение. Этот взгляд позволяет обнаружить примеры синтеза алгоритма без участия программиста. Выявленные таким образом примеры синтеза демонстрируют и заново открывают нам один из основных универсальных способов создания сложного алгоритма.


Этот способ Эволюция.


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


Базовое поведение


Любой организм из соображений сохранения существования своего вида вынужден исполнять "базовые стратегии", собранные в следующем списке:


  • стратегия "Поддержание своей целостности" (важность структуры составляющих организм объектов);
  • стратегия "Поддержание своей жизнеспособности" (важность диапазонов параметров и наличия внешних веществ среды, обеспечивающих осуществимость жизненных процессов организма);
  • стратегия "Исполнение процессов своего размножения" (важность выполнения организмом производства своих копий одним из доступных вариантов: например, самокопированием путем деления, бесполым или половым размножением).

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


Но остановимся с биологией. Зачем это необходимо разбирать в контексте изучения алгоритма?


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


Эволюционный способ


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


Так, например, достаточно сложно себе представить, как разом появился рецепт (алгоритм) изготовления бисквитного торта. Но, зная о существовании эволюционного способа, целесообразно высказать предположение, что это происходило медленным наращиванием, то есть добавлением обнаруживаемых человеком простых алгоритмов приготовления еды к уже существующему. И тогда достаточно найти исходный алгоритм. Им для "рецепта торта" является базовая стратегия "Поддержание своей жизнеспособности", или упрощенно необходимость еды. И к этому исходному алгоритму нам необходимо найти ситуации обнаружения и наращивания "простых" алгоритмов. Давайте попробуем придумать вариант такого развития. Конечно, совсем не обязательно, что этот вариант в действительности и был осуществлен. Важно только наличие этой простой эволюционной схемы.


Итак, базовый алгоритм стратегия "Поддержание своей жизнеспособности".
На этой основе у большинства подвижных организмов формируется "пищевое поисковое поведение", сейчас не будем заострять внимание на внутренние шаги этого формирования.
В "пищевом поисковом поведении" человек пробовал многие предметы внешней среды на съедобность. И те, кто пробовал ядовитое погибли и не оставили своего опыта, те же, кто попробовал новый съедобный продукт выжили и показали своим детям этот съедобный продукт. Тем самым нарастили "пищевое поисковое поведение" алгоритмом выбора нового съедобного продукта. Для рассматриваемого нами случая этим алгоритмом стало поведение: "Съесть зерна злакового растения".


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


торт


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


Ситуация Добавляемый алгоритм Полученный сложный алгоритм
- Базовая стратегия "Поддержание своей жизнеспособности"
??? Мобильность организма "Пищевое поисковое поведение"
Голодный человек пожевал зерна Съедобность злаковых Поиск и употребление злаковых в пищу
Одно зерно случайно очистилось, например, при переносе, и обнаружено, что так есть удобнее Очистка злакового зерна Поиск и употребление в пищу очищенных зерен злаковых
При ручной чистке большого количества зерен стираются пальцы. Необходима и проста замена использования пальцев в шелушении зерна на использование нескольких камней Способ очистки злакового зерна камнями Поиск и употребление в пищу зерен злаковых, очищенных камнями
Случайно зерна перетерлись камнями, и получились не целые зерна, а измельченные Способ измельчения зерна камнями в муку Поиск и употребление в пищу зерен злаковых, измельченных камнями
При поедании муки ощущение сухости стимулирует добавление воды. Возможен второй вариант при случайном намокании перетертого зерна Способ изготовления теста Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных
Игра и лепка намокшим тестом Способ изготовления лепешек Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных и слепленных лепешкой
Случайное высыхание слепленной ранее лепешки, а сухая лепешка долго хранится Способ изготовления "сухих" лепешек Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных и слепленных в лепешку, которая высушена
Ускорение медленного высыхания лепешки помещением в теплое место рядом с огнем Способ изготовления печеных лепешек Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных и слепленных в лепешку, которая выпечена рядом с огнем
Добавление сладости, чтобы повысить вкусовые качества Способ изготовления сладких печеных лепешек Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных сладкой водой и слепленных в лепешку, которая выпечена рядом с огнем
Добавление яиц, чтобы обеспечить клейкость и целостность лепешки при малом количестве муки Способ изготовления сладких печеных лепешек из жидкой муки Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных сладкой водой с добавлением яиц и слепленных в лепешку, которая выпечена рядом с огнем
Взбивание яиц до пенного состояния, чтобы обеспечить воздушность лепешки Способ изготовления сладких воздушных печеных лепешек из жидкой муки Поиск и употребление в пищу зерен злаковых, измельченных камнями и затем намоченных сладкой водой с добавлением взбитых яиц и слепленных в лепешку, которая выпечена рядом с огнем

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


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


Но отвлечёмся от торта и обобщим, присоединяя к нашим размышлениям опыт разработки программного обеспечения:


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

  • Эффективнее усложнять алгоритм добавлением к нему маленького дополнительного алгоритма.

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


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


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


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


Эмоции


Давайте поборемся с желанием прекратить чтение статьи на предыдущем предложении. Ведь разъяснение использования этого странного слова в разговоре об алгоритмах уже почти сложилось.


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


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


мультфильм головоломка


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


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


Давайте выпишем список важных нам эмоций и ощущений с указанием их иерархии развития с началом в базовых стратегиях.


  1. Базовая стратегия "Поддержание своей целостности"


    1.1. Противостояние повреждениям:


    • Механорецепторы давления, растяжения (ощущения структурного повреждения)
    • Тепловые и холодовые терморецепторы (ощущение теплового ожога),
    • Хеморецепторы (ощущение химического ожога)
    • Боль (защитный алгоритм поведения, вынуждающий реагировать на предвестников повреждения, устраняя их)
    • Эмоция Страх (защитный алгоритм поведения, вынуждающий менять текущее поведение для избегания запуска предвестников повреждения) страх
    • Эмоция Злость (алгоритм поведения на основе выполнения атаки, обеспечивающей защиту от нападения организма-агрессора, стремящегося вызвать повреждения) злость
    • Коммуникация с сородичами, предупреждающая об опасности: торибоны феромоны страха и тревоги, звуковое сигнальное взаимодействие (алгоритмы коллективного поведения для избегания повреждения)

  2. Базовая стратегия "Поддержание своей жизнеспособности"


    2.1. Поддержание контакта с веществами, необходимыми в жизненных процессах


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

    2.2. Поддержание параметров, необходимых для протекания жизненных процессов


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

    2.3. Устранение контакта с веществами, мешающими жизненным процессам


    • Избегание внешних вредных и ненужных веществ: хеморецепторы и вкусовые рецепторы (алгоритмы избегания химических отравлений и поедания бесполезных веществ)
    • Избавление от накопленных ненужных веществ жизнедеятельности: (алгоритмы ощущения усталости (молочная кислота в мышцах), алгоритмы обеспечивающие позывы и исполнение выделений)
    • Эмоция "Брезгливость" (алгоритмы поведения, помогающие избегать контакта с вредными и ненужными веществами) брезгливость
    • Коммуникация с сородичами, информирующая о вредных и ненужных веществах

  3. Базовая стратегия "Исполнение процессов своего размножения"


    3.1. Половое размножение (один из способов эволюционного развития биологических генетических алгоритмов)


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

    3.2. Забота о потомстве (один из способов эволюционного развития алгоритмов поведения)


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


Да, опять сложный и длинный список. Его можно представить в виде не очень съедобного разрезанного на куски торта (досталось бы мне тут от Карлсона). Целый торт всё поведение человека, описываемое всем списком. Кусочки торта отделяемые по наследованию от базовых стратегий пункты этого списка. При анализе выделенных "кусочков торта" видно, что эмоции, предлагаемые психологией для описания поведения человека, не являются очень удачным разбиением поведения на части. Так, например, эмоции "Злость", "Радость", "Страх" оказываются на разных "кусочках", разграничиваемых опорными базовыми стратегиями. Иногда ситуация сложнее: "кусочек" один и эмоция одна, но она характеризует два различающихся алгоритма поведения. Так, например, различны алгоритмы радости родителя и алгоритмы радости ребенка. Это не так страшно для психологии, но очень неудобно для работы с алгоритмами поведения и отслеживания их эволюции. Поэтому в наших последующих размышлениях мы будем указывать не эмоцию, а полный путь к разбираемому алгоритму от опорной базовой стратегии.


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


Выводы


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


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


Были перечислены первые три способа синтеза алгоритма: случайное обнаружение, объединение, и самое важное для этой статьи эволюционное накопление.


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


В завершение осталось пояснить игру с номером в названии текущей статьи. Это число не сто один, а $101_2$. То есть 5. И части номер 4 еще не было, ввиду проведенного в предыдущей статье голосования по выбору темы для статьи последующей. В голосовании выиграла тема "Алгоритмы и человеческие эмоции" с "сокрушительным" перевесом в 1 голос. Теперь долг перед проголосовавшим читателем исполнен, и уже ничто не удерживает от написания статьи 4. В ней будет рассмотрен путь эволюции от алгоритмов поведения к алгоритмам математики.


Спасибо Вам за внимание.


Отзывы


Буду очень благодарен за отзывы, критику и предложения, так как они помогают мне скорректировать направление развития работы.


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


Ссылки


Подробнее..

Что делать, если технический прогресс ухудшает жизнь людей? Перестаньте кормить зверя

08.03.2021 12:14:02 | Автор: admin
Что делать, если технический прогресс ухудшает жизнь людей? Перестаньте кормить зверя


Погоди, какой-то луддит хочет поговорить со мной лицом к лицу

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

Сегодня эта проблема опять актуальна. Техногиганты Facebook, Google и Amazon символы технологического прогресса и компьютерной революции. Транснациональные корпорации с капитализацией в триллионы долларов, знамя интернет-экономики, гордость Кремниевой долины.

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

Вредный прогресс


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

Один из ярких примеров аграрная революция около 10 000 лет назад. Около трёх миллионов лет охотники и собиратели вели здоровый образ жизни, не особенно много трудились, находили себе более разнообразные и приятные занятия, особенно не страдали от голода. Благодаря аграрной революции на Земле произошёл демографический взрыв и возникла элита но обычный земледелец работал больше, а питался хуже, чем охотник или собиратель.

Наше тело сапиенсов не предназначено для таких задач. Исследования древних скелетов показали, что с возникновением сельского хозяйства появилось и множество болезней: смещение дисков, артрит, грыжа. Работа занимала так много времени, что людям пришлось буквально жить рядом со своими полями и работать с утра до ночи и питаться преимущественно зерновыми, которые плохо перевариваются, от них страдают зубы и дёсны. Такая зависимость от нескольких природных культур порождала эпидемии: люди тысячами и миллионами погибали от голода в периоды неурожая.


Реконструкция Чатал-Хююка, одного из крупнейших поселений на Земле в 7000 г до н.э. Источник: Sapiens. Краткая история человечества, Юваль Ной Харари

До сих пор в странах третьего мира миллионы людей живут в рабских условиях с сельской местности, с утра до ночи занимаются тяжёлым физическим трудом в поле, плохо питаются и болеют. Не намного лучше жизнь офисных рабов. Древний охотник никогда бы не согласился вкалывать на хозяина по 8-10 часов в день. Это пережитки аграрной революции.

Крестьянская жизнь принесла людям как обществу защиту от диких животных, дождя и холода. Но для каждого человека в отдельности недостатки перевешивали достоинства. Мы в наших современных благополучных обществах едва ли в состоянии представить себе это. Поскольку мы живем в безопасности и изобилии, а наши безопасность и изобилие проистекают из основ, заложенных аграрной революцией, мы, естественно, воспринимаем эту революцию как величайший прогресс. Однако оценивать тысячелетия с точки зрения сегодняшнего дня в корне неверно. Попробуйте представить себе трёхлетнюю девочку в Китае I века. Сказала бы она, умирая от недоедания: Да, мне жалко умирать, но зато через две тысячи лет у людей будет вдоволь еды, а жить они будут в больших домах с кондиционерами, так что я погибаю не зря? Sapiens. Краткая история человечества, Юваль Ной Харари

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


Рисунок: New Statesman

Сейчас мы опять столкнулись с этой проблемой. Жертвовать нынешним поколением в технологической мясорубке 21 века ради будущего человечества?

Неолуддизм


В 1995 году главный редактор журнала Wired и технооптимист Кевин Келли взял интервью у странного персонажа Киркпатрика Сейла. Тот называл себя неолуддитом и только что написал книгу под названием Повстанцы против будущего.



В то время разглядеть будущее было сложно. Amazon только открылся, Apple была в депрессии, Microsoft ещё не запустила Windows 95, и почти ни у кого не было мобильных телефонов. Но Сейл уже чувствовал, что компьютерные технологии сделают жизнь людей намного хуже. Сейл даже собрал луддитов на январское мероприятие в Нью-Йорке, где атаковал компьютер IBM пятикилограммовой кувалдой. Ему потребовалось два удара, чтобы уничтожить предмет, затем он поклонился и сел, глубоко удовлетворённый.

25 лет назад Кристофер Сейл сказал, что общество находится на грани краха. Он надеялся, что немногие уцелевшие люди объединятся в небольшие группы, похожие на племена. Они не просто будут в офлайне, интернет вообще прекратит своё существование, что, по мнению Сейла, будет просто замечательно. На руинах старой цивилизации восстанет новая.

С другой стороны, главред Wired видел в технологии обогащающую силу, верил в обратное что общество будет процветать.

На последних страницах своей луддитской книги Сейл предсказал, что общество рухнет не более чем через несколько десятилетий.

Келли заманил собеседника в ловушку и спросил, когда именно это может произойти. Сейл был озадачен он никогда не называл дату. Наконец, он выпалил: 2020. Это казалось хорошим круглым числом.

Затем редактор спросил, как за четверть века можно определить его правоту. Сейл импровизированно назвал три фактора: экономический кризис, который обесценит доллар и вызовет глобальную депрессию ещё более тяжелую, чем в 1930 году; восстание бедных против богатых; и значительное число экологических катастроф.

Вы готовы поставить на свою точку зрения? спросил Келли.

Конечно, ответил Сейл.

И тут Келли захлопнул ловушку. Он пришёл в квартиру Сейла с чеком на 1000 долларов, выписанным на его совместный с женой счёт. И протянул его поражённому собеседнику:

Держу пари на 1000 долларов, что в 2020 году мы даже близко не приблизимся к той катастрофе, которую вы описываете, сказал он.

На банковском счёте Сейла едва ли могла собраться тысяча долларов. Но он прикинул, что если проиграет, то в 2020 году тысяча долларов всё равно будет стоить гораздо меньше и согласился. Келли предложил, чтобы они оба отправили свои чеки на хранение Уильяму Патрику, редактору, который занимался как луддитской книгой Сейла, так и недавним сочинением Келли о роботах и искусственной жизни.

И вот двадцать пять лет спустя крайний срок наступил. 2020 год. Люди заперты на самоизоляции. Разрыв в доходах между богатыми и бедными никогда не был таким огромным со времён Великой депрессии. Калифорния и Австралия полыхают в пожарах. Пришло время расчёта. На кону стояло гораздо больше, чем просто деньги: пари представляло собой выяснение отношений между двумя яростно противоположными взглядами на природу прогресса. Во времена климатического кризиса, пандемии и хищнического капитализма оправдан ли ещё оптимизм относительно будущего человечества? Келли и Сейл представляют собой два крайних радикальных взгляда. Это пари должно быть личным подтверждением или опровержением их всего жизненного пути.


Те самые чеки, фото: Wired

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

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

Что делать?

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

Хватит кормить зверя


С точки зрения неолуддитов современные техногиганты вроде Google и Facebook, представляются чем-то вроде гигантского зверя, который высасывает из людей информацию и использует её для получения прибыли. Это называется надзорный капитализм (surveillance capitalism) система, основанная на слежке.

Прекратите кормить зверя обращается немецкий программист Каспар фон Вреде ко всем веб-разработчикам, призывая отказаться от сервисов Google, в первую очередь от Google Analytics.



Было время, когда Google была маленькой гибкой компанией с единственным продуктом, настолько потрясающим, что он просто сдул конкурентов. Это время давно прошло.

В наши дни Google это гигантская транснациональная мегакорпорация. Это даже преуменьшение. Автор представляет Google некоей Годзиллой, которая с одной стороны поглощает данные о своих пользователях, а с другой выдаёт золотые слитки. Google делает то же самое в огромных масштабах.

Успех Google, потрясающая эффективность платформы и гениальность её инженеров ужасны для нас и общества, пишет Каспар. Нужно понимать, что Google это не поисковая система, а рекламная платформа. Все её продукты ориентированы на продажу рекламы. Большинство бесплатны, многие полезны, а некоторые даже великолепны. Но все они существуют для того, чтобы поглощать больше данных, чтобы Google мог ещё лучше продавать рекламу.

Суть видна в поисковой выдаче, где всё труднее выделить рекламу.


Как менялся дизайн рекламных объявлений в выдаче Google, источник

Не такой эволюции вы ожидаете от компании, которая любит своих пользователей. Это эволюция мегакорпорации, которая хочет ещё больше прибыли.

Многие продукты Google имеют абсолютно ошеломляющую долю рынка. У Google девять продуктов с аудиторией более, чем миллиард пользователей. Chrome самый популярный браузер. Android самая популярная ОС на мобильных устройствах.

Учитывая практически монополию на рынке интернет-рекламы (дуополия с Facebook), выручка Google огромна: около 180 миллиардов долларов в 2020 году, что примерно соответствует ВВП Новой Зеландии.

Google Analytics самый популярный инструмент статистики веб-сайтов. Более 53% всех сайтов в интернете отслеживают своих посетителей с помощью Google Analytics. Это самый популярный сторонний запрос в интернете: на его долю приходится 0,64% всех сетевых запросов в интернете.

На самом деле это не такой уж хороший скрипт: он чрезмерно раздут, замедляя скорость загрузки вашего сайта. Большинству веб-мастеров не нужны все эти фичи. Он мешает пользователям. К тому же, он заблокирован многими браузерами, поэтому возвращает неточные результаты.

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

Так есть ли альтернативы? Конечно, есть множество альтернатив, в том числе бесплатные и на своём хостинге.

Если хотите сделать мир лучше, перестаньте кормить зверя


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

На правах рекламы


Вдсина предлагает виртуальные серверы на Linux или Windows. Используем исключительно брендовое оборудование, лучшую в своём роде панель управления серверами собственной разработки и одни из лучших дата-центров в России и ЕС. Поспешите заказать!

Подробнее..

Эволюция процесса релиза LMS

20.11.2020 12:14:59 | Автор: admin


К чему вы стремитесь в работе? Мной всегда двигало желание быть причастным к чему-то, что действительно помогает людям решать важные задачи. Это стремление привело меня в проект онлайн-системы дистанционного обучения (Learning Management System, сокращённо LMS).

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

Что вы представляете, когда слышите об обучении в школе или университете? О чём бы вы сейчас ни подумали, скорее всего, это реализовано в LMS. Все инструменты, необходимые преподавателям для преподавания, ученикам для обучения, родителям для контроля, а директорам для администрирования учебного процесса, доступны в электронном виде. Платформой ежедневно пользуется более 7 000 000 пользователей из Европы и США, а трудится над ней распределённая команда из нескольких стран.

Особенности релиза


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

В 2013, когда я пришёл в проект, релизы случались 3-4 раза в год; им предшествовало регрессионное тестирование длительностью от 2 до 3 недель, в котором участвовали все разработчики и тестировщики. В период регрессии разработка полностью останавливалась, поскольку важно было пройти каждый тест-кейс вручную, а их, как можно догадаться, было немало. Помимо очевидных издержек, регрессия была весьма утомительной для всех её участников.

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

Монолитная архитектура


Проект к тому времени уже имел долгую историю разработки. Начавшись как студенческая курсовая работа, система перетекла в продолжительную фазу разработки на C++ (да, это было давно), затем шёл долгий этап развития на ASP.NET, который используется и по сей день. Многие актуальные сейчас подходы к разработке отсутствовали или только зарождались, .NET 2.0 вовсе не имел такую палитру возможностей, которая есть в современном .NET Core. То, что сейчас может видеться Франкенштейном, некоторое время назад не осознавалось как что-то ужасное. Архитектура системы была монолитна, как титановый шар, но до какого-то момента это всех устраивало.

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

Жёсткие требования


Если в России подобные системы даже на момент выхода статьи используются нечасто и почти всегда вся информация дублируется на бумаге, то в школах и университетах Европы LMS это ядро обучения. Все данные о студентах, учителях, родителях, их взаимодействии, посещаемости, успеваемости, учебные материалы, домашние работы и др. хранятся в электронном виде без двойного документооборота. Исходя из этого, к системе предъявляются крайне жёсткие требования безопасности, производительности и, что очень важно, доступности. Представьте, что ваш главный и единственный ресурс, обеспечивающий учебный процесс, вдруг сломался. Недоступность в течение 5 минут вызовет у вас дискомфорт, а часовой простой крайнюю степень возмущения. Поэтому uptime время, когда система доступна и полностью выполняет свои функции одна из ключевых метрик, которая является юридическим обязательством, за неисполнение которого предусмотрены большие штрафы. Uptime 99.9% это цифра, к которой мы стремимся.

Релиз же является угрозой стабильности не только по причине потенциальных багов в новой версии. Ещё до изменений релизного процесса в проекте было несколько десятков веб-приложений, различных асинхронных сервисов, API и прочего. Когда система достаточно большая, проблемы при обновлении версии могут возникнуть и в самом процессе развёртывания, что может привести к недопустимому простою.

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

Неоптимальные процессы


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

TL;DR


Дано: релизы раз в квартал, амбиции роста, сложный продукт с монолитной архитектурой, неоптимальные процессы, консервативность OPS.
Хотим: денег частых релизов новых фич.
Не хотим: штрафов даунтайма.

Трансформация


С осознанием глобальных проблем и чётким пониманием того, что хотелось бы иметь в итоге, компания начала постепенные изменения.

В этой статье я остановлюсь на изменениях в разработке и непосредственном процессе релиза, но стоит отметить, что немало изменений произошло и в работе OPS.

Устранение инфраструктурных проблем


Для начала нужно было устранить некоторые инфраструктурные проблемы.

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

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

Несмотря на то, что решения обеих проблем описаны достаточно коротко, они потребовали достаточного количества усилий, координации и времени.

Формализация и сокращение таймлайна


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

Мы начали с робких попыток ежемесячных релизов, затем постепенно дошли до релизов раз в 2 недели. Короткие циклы благотворно сказались на качестве. Меньше кода меньше рисков, больше вероятность заранее выявить все потенциальные проблемы.

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

Как устроен релизный цикл
При обновлениях каждые две недели релизная итерация занимала почти 5 недель. Как же так?

Разберём один двухнедельный релиз методом обратного планирования. Мы знаем дату релиза и сколько занимают стабилизационное тестирование и стейджинг релиз-кандидата (2 недели), тогда к началу стабилизации в релиз должны быть включены все новые фичи (code freeze). Всё, что не было включено вовремя (кроме редких заранее оговорённых случаев), переходит на следующий релиз. Чтобы включить новую разработку в релиз, нужно полностью протестировать её функциональность, включая переводы, и убедиться в отсутствии багов. Локализацию выполняет сторонняя компания, и ей требуется около недели, чтобы перевести новые строки. Поэтому за 2 недели до начала тестирования релиз-кандидата мы отправляем на перевод новые строки. После получения переводов у команд есть примерно неделя, чтобы закончить тестирование и попасть в релиз. Непосредственно после релиза идёт неделя мониторинга новых проблем на продакшене. За это время нужно убедиться, что релиз не привнёс никаких новых проблем, а если проблемы появились решить, требуется ли их устранить до следующего релиза.



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

Таким образом, в один момент времени может идти мониторинг недавно случившегося релиза, стабилизация нового и подготовка переводов следующего за ним.

Новая стратегия создания веток


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

Схема, к которой мы в итоге пришли, была придумана не нами, но идеально подошла под наши нужды и выглядит так:



Описание
Существуют две главные долгоживущие ветки develop и master. Код в master в любой момент времени должен совпадать с версией в продакшене. От ветки master создаются ветки для хотфиксов и патчей, и в неё же они включаются сразу после того, как были выпущены. В ветку develop попадают новые, полностью рабочие фичи. Когда настаёт пора начинать стабилизацию нового релиза, релиз-кандидат ответвляется от develop'а, который с этого момента начинает накапливать изменения для следующего релиза. В релизном бранче исправляются баги, найденные в релизе. После завершения стабилизации и непосредственно релиза, релизный бранч оказывается в ветке master.

Изменение подхода к тестированию релиз-кандидата


Мы приняли решение отказаться от ручной регрессии в привычном виде, поскольку новая парадигма не позволяла тратить на тестирование так много времени. Регрессия трансформировалась в тестирование критических областей: были выявлены самые часто используемые и самые важные функции, которые нужно обязательно проверить перед выходом релиза. Мы постепенно покрываем эти области Selenium-тестами, уменьшая объём ручного тестирования.

Раньше в порядке вещей было найти десяток багов в новой функциональности во время регрессии и исправлять их (или откатывать), тем самым сдвигая срок релиза. Согласно новому definition of done, только функциональность, которая полностью выверена и не содержит багов, может быть отправлена в develop. Исходя из этого, мы оставили лишь беглый просмотр новой функциональности в релиз-кандидате на предмет интеграционных проблем.

Отказываться от полноценного регрессионного тестирования было страшно, но, к счастью, заметной деградации качества не произошло.

Изменения в архитектуре


Монолитную систему релизить долго, сложно и рискованно. Переход к частым релизам форсировал декомпозицию на мелкие компоненты, которые можно деплоить отдельно (single deployable). Ввиду размеров проекта этот процесс до сих пор не завершён, но шаг за шагом мы вычленяем новые компоненты, релиз которых может происходить отдельно от релиза главного приложения. Новые компоненты сразу разрабатываются обособленно.

TL;DR


Разработка: перешли с TFS на Git, разработали собственное решение для деплоймента, ввели новую схему создания веток в разработке, пересмотрели и улучшили архитектуру.
Тестирование: убрали ручную регрессию, частично заменив её автоматическими тестами, оставили стабилизацию новой функциональности.
Процессы: описали таймлайн со всеми итерациями релизного процесса, ввели концепцию релизных поездов и добавили пилотирование новых фич на небольшом количестве пользователей.

Релиз-менеджмент: из креатива в рутину


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

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

Во-первых, принимая в расчёт время подготовки релиза и высокий уровень ответственности, эта работа была достаточно тяжёлой, и никто не горел желанием браться за неё часто. Нужно было расширить список потенциальных кандидатов, но это приводило ко второй проблеме: несмотря на то, что за плечами было достаточное количество релизов, каждый новый релиз был не похож на предыдущий. Никто не мог до конца понять, что входит в перечень обязанностей менеджера, а что нет. Самой главной задачей нового релиз-менеджера было выяснить, что вообще делает релиз-менеджер. В самом начале это было совсем непросто, но постепенно мы очертили круг основных задач и ответственности менеджера релиза. Процесс стал хорошо задокументированным: были описаны связи между компонентами, последовательность развёртывания, таймлайн релиза и многое другое. Когда менеджмент из креативной задачи, которую каждый решает по-своему, превращается в подробный алгоритм действий, задачу можно без особого риска поручить любому достаточно опытному человеку. Чем подробнее описан сложный процесс, тем проще найти ответ в случае необходимости. В данном случае бюрократизация процесса оказалась очень оправданной!

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

Обязанности менеджера релиза
Вот неполный перечень того, что делает менеджер релиза:

  • отправляет новые строки на переводы и добавляет готовые переводы;
  • организует встречу с представителями команд, участвующих в релизе, где подробно расспрашивает об изменениях, рисках, зависимостях и т. д.;
  • создаёт релизную ветку, разворачивает её на тестовых серверах и следит за работоспособностью тестового окружения;
  • мониторит логи во время стабилизации, раздаёт найденные баги;
  • находится в тесной связи с QA-координатором, который контролирует стабилизационное тестирование, отвечает на его вопросы, помогает найти ответственную команду при нахождении багов;
  • контролирует сроки; при невозможности вписаться с таймлайн обсуждает это с владельцами продукта, менеджментом и другими заинтересованными лицами;
  • просматривает все изменения в коде после исправления багов;
  • отдаёт релиз на стейджинг и отвечает на вопросы OPS;
  • в день релиза и последующую неделю мониторит логи;
  • при необходимости координирует патчи и хотфиксы, которые являются упрощёнными релизами;
  • участвует в ретроспективе релиза.


Что НЕ входит в задачи менеджера релиза:

  • развёртывание обновления в продакшене для этого есть OPS;
  • исправление найденных багов за это ответственны команды.


TL;DR


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

Так ли всё идеально?


Если у вас сложилось впечатление, что в проекте теперь всё идеально, то спешу вас уверить, что идеала не существует (что не мешает нам к нему стремиться).

Как и в других проектах, мы часто балансируем между созданием новых фич и техническими улучшениями, которые не добавляют прямой ценности с точки зрения конечных пользователей. Поэтому автоматизация регрессии не закончена на 100%, иногда в релиз-кандидате проскакивают баги, и приходится быстро принимать решение о дальнейших действиях. Иногда релизы отменяются или переносятся по разным причинам, начиная с долгих праздничных дней в начале года и мае и заканчивая поздно найденными критическими багами или форс-мажорами. А ещё случаются активности OPS обновления серверов, миграции данных, установка новой инфраструктуры, на время которых релизы останавливаются.

У нас случались неудачные релизы, после которых нужно было спешно исправлять критические баги.

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



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

Дальнейшее развитие


Прогресс необратим с каждым новым релизом (и его ретроспективой), мы меняемся, выявляем новые слабые стороны и выполняем работу над ошибками.

Вектор дальнейшего улучшения релиза предопределён:

  • расширить автоматизацию тестирования;
  • стремиться к ещё более коротким релизным циклам, которые будут проходить всё менее заметно как для пользователей, так и для команд;
  • вынести как можно больше новых компонентов, которые могут релизиться отдельно.


Выводы


В разработке сложного веб-приложения релиз новой версии занимает особое место. За несколько лет мы сумели перейти с ежеквартальных релизов к релизам раз в 2 недели, но впоследствии остановились на ежемесячных. Это оказалось непросто и увлекательно, трансформация потребовала комплексных изменений, которые коснулись разработчиков, тестировщиков, OPS и менеджмента. Релизы новой версии стали менее объёмными, менее рискованными и более прозрачными с точки зрения сроков закончилась эпоха, когда релизы были СОБТИЕМ. К сожалению, традиция есть мороженое по случаю релиза тоже закончилась. ;(
Подробнее..

Забытая эволюция челюстей от дунклеостея до человека

17.07.2020 10:14:14 | Автор: admin


Эволюция это один из самых важных процессов в жизни любого организма на земле. Из современных видов на планете Земля лишь малый процент забросил эволюцию много миллионов лет назад, большинство все это время менялось и продолжает меняться. В вопросах развития и истории нашего вида много внимания уделялось интеллекту, строению кисти, позволяющему держать в руках орудия труда, прямохождению и т.д. Однако редко когда возникал вопрос, а откуда у нас появилась такая челюсть? Ученые из Уппсальского университета (Уппсала, Швеция) и ESRF (ускоритель частиц в Гренобле, Франция) решили провести исследование окаменелостей, чтобы выяснить эволюционное происхождение челюсти позвоночных. В чем заключались сложности исследования, какие методики были применены и что нового удалось узнать ученым? Об этом нам поведает их доклад. Поехали.

Основа исследования


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


Дунклеостей (Dunkleosteus) один из самых знаменитых представителей Arthrodiriformes.

Вернемся назад в прошлое, миллионов на 300-400 назад. В те времена акул еще не было, но Мировой океан населяли другие хищники артродиры (Arthrodiriformes). Артродиры это отряд вымерших позвоночных из класса плакодерм.

Одним из самых известных и хорошо изученных видов артродир считается дунклеостей (Dunkleosteus), живший на планете 415-360 миллионов лет назад. В свое время этот вид был самым крупным хищником (4.5-6 м длина тела), хотя это утверждение весьма шатко, так как большинство изученных окаменелостей это фрагменты, по которым точно определить габариты весьма сложно.


Документальный фильм Доисторические хищники, в котором также рассказывается и про Dunkleosteus.

Но не габариты отличают этих существ от своих современников, а метод охоты, точнее инструмент челюсть. Dunkleosteus были не первыми обладателями челюстей, но их вариант был достаточно хорошо развит и адаптирован под образ жизни и гастрономические предпочтения дунклеостея. Вместо зубов, в современном понимании этого термина, у этих хищников были большие костные пластины. Сила челюсти составляла примерно 5 МПа (как у миссисипского аллигатора), а скорость открытия 1/50 секунды, что позволяло хищнику буквально засасывать добычу.

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

Самый лучший образец для изучения был найден около 100 лет назад в Чехии. Ранее изучить его было крайне сложно, так как кости были практически полностью запечатаны в породу, а ее разрушение привело бы к повреждению образца.


Экстерьер исследовательского комплекса ESRF.

Но за сто лет со дня открытия этого образца многое изменилось. Например, в 1994 году был построен исследовательский комплекс ESRF с синхротроном длиной 844.4 м. Это чудо современной науки позволяет получить мощные рентгеновские лучи, которые можно использовать для неразрушающего сканирования вещества, в том числе и ископаемые.

Как отмечают авторы исследования, стем-группа Osteichthyans (костные рыбы) и большинство Chondrichthyans (хрящевые рыбы) обладают поперечно расположенными спиралевидными зубами, тогда как у краун-группы Osteichthyans продольные зубные ряды (схема ниже).


Изображение 1: Распределение типов зубных рядов среди челюстноротых.

У артродир новые зубы добавляются в расходящихся рядах от зуба-предшественника или области предшественника. Число рядов сильно варьируется, а расположение дополнительных рядов может быть как губным (выступающим), так и языковым двад (во внутрь) или продольным.

Недавние открытия краевых роговых челюстей и артродироподобной анатомией тела у Entelognathus (423416 Mya) и Qilinyu (419 Mya) привело к возникновению теории эволюции челюстей, в которой эти два рода образуют мост между артродироподобными формами челюсти и формами челюсти костных рыб.
*Mya million years ago / миллион лет назад.
Однако зубные ряды Entelognathus и Qilinyu пока еще плохо изучены.

В данном труде ученые представили результаты исследования зубных рядов Radotina, Kosoraspis, Tlamaspis (Чехия) и единственного образца зубного ряда Acanthothoraci (CPW.9 / Канадский Арктический архипелаг).

Результаты исследования


Механизм добавления зубов в ряд CPW.9, который включает в себя пару супрагнатальных пластинок на рыле, ранее был описан как концентрический. В результате отделенный дермальный тессер (наподобие чешуйки) с концентрически расположенными одонтодами* из того же образования привел к неверному толкованию образца как верхней челюсти Acanthothoraci.
Одонтоды* (роговые зубы) роговые кожные образования у некоторых видов позвоночных.
Повторный анализ снимков CPW.9 с помощью микрокомпьютерной томографии (микро-КТ) показывает, что верхние зубные пластины расположены лабиально относительно пластинки премедиальной роговой оболочки. Следовательно, добавление зубов радиально от области основания губы, а не на самой губе. Вместо этого, самые старые маленькие зубы зарастают более крупными роговыми зубами, как это наблюдалось у стем-группы Andreolepis.

Фазово-контрастная микроскопия позволила ученым обнаружить ранее неизученные зубные ряды у Radotina, Kosoraspis и Tlamaspis. Все они существенно отличаются от CPW.9.


Изображение 2: структура челюсти Radotina tesselata.

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

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

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

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


Изображение 3: структура челюсти Kosoraspis peckai.

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

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


Изображение 4: структура челюсти Tlamaspis inopinatus.

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

Примечательно, что множественные короткие роговые челюсти, сходные с таковыми у Kosoraspis и Tlamaspis, присутствуют у Lophosteus (вымерший род доисторических костистых рыб). Структура щеки Kosoraspis также сильно напоминает таковую у примитивных костных рыб.

Для более детального ознакомления с нюансами исследования рекомендую заглянуть в доклад ученых.

Эпилог


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

Функционально зубной ряд CPW.9, по-видимому, приспособлен для раздавливания, зубной ряд Radotina приспособлен для разрезания, а Kosoraspis и Tlamaspis для различных стилей удержания и прокалывания добычи.

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

Если же сравнивать зубные ряды Acanthothoraci и Arthrodira, то видны значимые отличия. Как акулы, костные рыбы и наземные животные, Acanthothoraci добавляли новые зубы исключительно внутри: самые старые зубы расположены на краю челюсти.

Кости, на которых располагаются зубы, также несут небольшие дентинные элементы кожи на своих внешних поверхностях, характерные для примитивных костистых рыб, но не для Arthrodira. Эта отличительная черта крайне важно, поскольку показывает, что кости челюсти Acanthothoraci были расположены прямо на краю рта, тогда как кости челюсти Arthrodira лежали глубже.

Удивительно и то, что у одного представителя Acanthothoraci, а именно у Kosoraspis, наблюдается постепенный переход формы от этих элементов дентина к соседним истинным зубам. А вот у Radotina настоящие зубы практически идентичны его дентиновым элементам кожи.

Такие находки могут свидетельствовать о том, что настоящие зубы образовались лишь недавно из элементов дентина на коже.

Следовательно, Acanthothoraci, хоть и являются более ранним и примитивным родом челюстных позвоночных, именно их зубы во многом напоминают современные зубы, в отличие от более развитых Arthrodira.

Эволюция это весьма запутанный процесс, который сложно назвать линейным или предсказуемым. Развитие челюстей и зубов является ярким тому подтверждением.

Благодарю за внимание, оставайтесь любопытствующими и отличных всем выходных, ребята! :)

Пятничный офф-топ:

Документальный фильм Четыре миллиарда лет Австралии, рассказывающий о необычных обитателях континента на протяжении миллионов лет.

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Перевод Новые вопросы о деревьях

21.10.2020 10:10:51 | Автор: admin
Несколько недель назад, после прогулки по лесам, я написал статью загадке разнообразия лесных деревьев. На своём пути я нашёл с десяток видов, имеющих общую среду обитания и, очевидно, конкурирующих за одинаковые ресурсы в основном, за доступ к солнечному свету. Экологический принцип гласит, что один вид должен выиграть в этой конкуренции и вытеснить все остальные, но деревья, похоже, не читали учебников по экологии.

В своём эссе я также упомянул ещё три беспокоивших меня вопроса о деревьях. В статье-продолжении я хочу чуть глубже изучить эти три вопроса.

Вопрос 1: Почему листья деревьев имеют такую разнообразную форму?



Сверху: белый дуб (Quercus alba), красный дуб (Quercus rubra), горный дуб (Quercus palustris), сахарный клён (Acer saccharum). Внизу: кария овальная (Carya ovata), берёза вишнёвая (Betula lenta). Все образцы были собраны вдоль тропы Роберта Фроста в Амхерсте, штат Массачусетс, с деревьев, находящихся на расстоянии не более ста метров друг от друга.

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

Стивен Вогел в своей книге The Life of a Leaf 2012 года перечисляет множество факторов и сил, которые могут иметь влияние на форму листа. Например, листья не могут быть слишком тяжёлыми, иначе они сломают черешок. С другой стороны, они не могут быть слишком хрупкими и тонкими, иначе их разорвёт ветер. Кроме того, листья не должны создавать слишком большое аэродинамическое сопротивление, иначе во время бури всё дерево может упасть.

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

Вогел указывает, что малозаметные особенности формы листа могут иметь значимое влияние на тепловые и аэродинамические характеристики. Например, конвекционное охлаждение наиболее эффективно по краям листа; температура растёт с увеличением расстояния до ближайшего края. В средах, где существует риск перегрева, формы листьев минимизируют это расстояние; например, похоже, что лопастные формы дубовых листьев будут иметь преимущество над более простыми, округлыми формами. Но выбор между вычурными и компактными формами зависит и от других факторов. Широкие листья с выпуклыми формами получают больше всего солнечного света, но это не всегда может быть хорошо. Листья с кружевовидной структурой позволяют пятнам солнечного света проникать дальше и участвовать в фотосинтезе нескольким слоям листьев.

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

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

Учёные многое узнали о механизмах развития, генерирующих форму листьев. С точки зрения биохимии основными действующими силами являются растительные гормоны, называемые ауксинами; их пространственное распределение и перемещение по тканям растения регулируют локальные скорости роста, а значит, и паттерн развития. (В обзорной статье 2014 года, написанной Джереми Дхаром и Ашвани Париком, подробно описываются эти аспекты формы листьев.) В математике Адам Рунионс, Милтос Тсиантис и Пшемыслав Прусинкевич вывели алгоритм, способный генерировать широкий диапазон форм листьев с поразительной похожестью на реальные образцы. (Их статья 2017 года вместе с исходным кодом и видео выложены по адресу algorithmicbotany.org/papers/leaves2017.html.) При разных значениях параметров одна и та же программа генерирует формы, которые можно распознать как дубы, клёны, платаны и другие деревья. Однако все эти работы отвечают на вопрос как, а не зачем.

Похоже, что ещё одно свойство листьев деревьев их размер реагирует на давление эволюции очень простым способом. Среди всех наземных растений (не только деревьев) площадь листа варьируется на порядок миллиона от примерно 1 кв. миллиметра на лист до 1 кв. метра. В своей статье 2017 года Иэн Райт и его коллеги отмечают, что эта вариативность сильно коррелирует с климатом. В тёплых влажных регионах предпочтение отдаётся большим листьям; вспомним, например, банан. В холодных сухих средах, например, на альпийских хребтах, в основном растут крошечные растения с ещё более мелкими листьями. То есть естественный отбор в сфере листьев деревьев вполне процветает; нам просто кажется, что чётких предпочтений относительно формы листьев нет.

Или я упускаю что-то важное? Кое-где в природе мы находим вычурные вариации, которые кажутся неоправданными, если рассматривать их только с мрачной точки зрения выживания наиболее приспособленного. Подумайте, например, о красочной раскраске перьев птиц. На заднем дворе моего дома частыми гостями становятся кардиналы и голубые сойки, но я не трачу время на размышления о том, красный или синий цвет оптимальнее для выживания в этой среде обитания. Как и не ожидаю я, что эти два вида сольются в один, имеющий какой-нибудь оттенок фиолетового. Их броское оперение является не адаптацией к физической среде, а элементами системы коммуникаций; они отправляют сигналы конкурентам или потенциальным половым партнёрам. Может ли что-то подобное происходит с формой листа? Сохраняют ли разные виды дуба уникальные листья, чтобы демонстрировать себя животным, помогающим с опылением или распространением семян? Я считаю эту мысль маловероятной, но ничего лучше у меня нет.

Вопрос 2: Почему деревья такие высокие?

Да, этот вопрос слишком прост! Мы знаем, почему деревья растут ввысь они стремятся к небу. Это их единственная надежда сбежать из сумрачных глубин нижних ярусов леса и получить свою долю солнечных лучей. Другими словами, если ты лесное дерево, тебе нужно расти ввысь, потому что высоки твои соседи: они закрывают тебя тенью. А соседи растут ввысь, потому что высок ты. Это классическая гонка вооружений. У Вогела есть проницательный комментарий на эту тему:

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

Договорённость об ограничении размеров ствола позволила бы всем особям приносить больше семян и начинать выращивать семена в более раннем возрасте. Однако глупый процесс эволюции не смог этого понять предвидение явно не является его сильной стороной.

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

Лесные деревья Востока США часто вырастают до 25 или 30 метров (около 100 футов). Для возведения подобной конструкции требуются огромные инвестиции материала и энергии. Для обеспечения достаточной прочности и жёсткости обхват ствола должен расти как степень $\frac{3}{2}$ от высоты, а значит, площадь его сечения $\pi r^2$ растёт как куб от высоты. Из этого следует, что удвоение высоты дерева увеличивает его массу в 16 раз.

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

Также высота увеличивает угрозы жизни и здоровью дерева. Более высокий ствол создаёт более длинный рычаг для любой силы, которая может и свалить дерево. В дополнение к этому риску, средние скорости ветра растут с увеличением расстояния до земли.


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

Если бы деревья каким-то образом могли собраться вместе и заключить сделку установить порядок зонирования или кодекс строительства, то от этого бы выиграли они все. Возможно, они могли бы объявить максимумом высоту 10 метров. Для крон деревьев ничего бы не изменилось; это правило бы просто урезало нижние 20 метров ствола.

Если каждое дерево выиграло бы от такого соглашения, почему в природе эволюционно не возникают подобные урезанные леса? Обычно на вопрос почему все не могут жить в согласии отвечают, что эволюция работает не так. Общепринято, что естественный отбор является совершенно эгоистичным и индивидуалистским, даже если это вредит. Достигшее предела высоты в 10 метров дерево говорит себе: Да, это хорошо: я получаю достаточно света без необходимости стоять на цыпочках. Но ведь может быть и ещё лучше если я вытяну свой ствол ещё на один-два метра, то получу ещё большую долю солнечной энергии. Разумеется, другие деревья рассуждают точно так же, поэтому эта тщетная гонка вооружений продолжается. Как сказал Вогел, предвидение явно не является сильной стороной эволюции.

Я склонен согласиться с этим суровым взглядом на эволюцию, но не совсем уверен, что он на самом деле объясняет то, что мы видим в лесу. Если в подобных ситуациях у эволюции нет места совместным действиям, как получается, что все деревья прекращают рост примерно на одной высоте? В частности, если соглашение о пределе роста в 10 метров было бы нарушено неистовым жульничеством, то почему же то же самое не происходит на 30 метрах?

Можно предположить, что 30 метров являются физиологическим пределом, что деревья расли бы выше, если бы могли, но этому мешает какое-то физическое ограничение. Вероятно, они не могут поднимать воду выше. Я бы посчитал это очень многообещающей гипотезой, если бы не секвойи и калифорнийские мамонтовые деревья на Западе США. Эти деревья не слышали ни о каких подобных физических барьерах. Они спокойно вырастают до 70 или 80 метров, а некоторые образцы превышают 100 метров. Следовательно мы должны задать деревьям Западного побережья не только вопрос Почему вы такие высокие?, но и Почему вы не выше?

Я могу придумать по крайней мере одну убедительную причину, по которой лесные деревья могут расти до одинаковой высоты. Если дерево ниже среднего, то оно будет страдать от нахождения в тени. Но высовывание головы и плеч из толпы тоже имеет свои недостатки: такое выделяющееся дерево будет подвергаться более сильным ветрам, большему весу льда и снега, а также, вероятно, иметь повышенную вероятность удара молнии. То есть слишком сильное отклонение в любую сторону от средней высоты может быть наказано снижением репродуктивного успеха. Однако остаётся важный вопрос: как все деревья достигают консенсуса в том, какая высота лучше?

Ещё один возможный вариант: может быть, высота лесных деревьев является не результатом гонки вооружений, а реакцией на хищников. Деревья поднимают свои листья вверх, чтобы спасти их от травоядных. Не могу сказать, что это не так, но мне кажется это маловероятным. В лесах Северной Америки не бродят жирафы (а если бы и бродили, то 10 метров было бы больше чем достаточно, чтобы защитить листья). Большинство поедающих листья деревьев животных это членистоногие, которые или умеют летать (взрослые насекомые), или ползают по стволу (гусеницы и другие личинки). Следовательно, высота не может полностью защитить листья, и в лучшем случае способна служить лишь сдерживающим фактором. Листья деревьев неполноценное питание; вероятно, некоторые мелкие травоядные посчитают, что за ними стоит взбираться на 10 метров, но не на 30.

Вопрос 3: Почему деревья представляют собой деревья (а не другие виды графов)?

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

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


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

[Тонкая техническая деталь: путь это последовательность рёбер, в каждой любое ребро может встречаться не более одного раза. Это исключает бессмысленные возвраты туда-обратно. Последовательность вида x, y, x, z не является путём.]

Граф слева является деревом. Красной линией показан уникальный путь от a к b. Граф справа не является деревом. В нём есть два пути от a в b (красная и жёлтая линии).

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


Деревья достигли больших успехов и без петель в ветвях. Зачем растению вообще может понадобиться, чтобы его структурные элементы росли кругами?

Я могу придумать две причины. Первая это механическая прочность и устойчивость. Инженеры знают насколько ценны треугольники (минимально возможные замкнутые петли) в проектировании жёстких конструкций. Как ценны и арки два вертикальных элемента, которые не могут стоять по отдельности. не опираясь друг на друга. Деревья не могут воспользоваться преимуществами подобных трюков; их ветви являются консолями, поддерживаемыми только в точке соединения со стволом или родительской веткой. Структуры с петлями позволили бы создавать различные виды распорок и креплений. Вторая причина надёжность. Наличие множественных каналов от корней к листьям повысило бы надёжность системы циркуляции дерева. Травма рядом с основанием ветви больше бы не обрекала на смерть все структуры выше точки повреждения.

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


Отсутствие петель в структурах большего размера (стволах и ветвях) может быть естественным последствием программы развития, управляющей ростом дерева. Для описания такого роста венгро-голландский биолог Аристид Линдермайер изобрёл семейство формальных языков (называемых теперь L-системами). Языки это перезаписываемые системы: мы начинаем с одного символа (аксиомы) и заменяем её на строку символов, определяемую правилами грамматики. Затем строка, полученная от этой замены, становится новыми входными данными того же процесса перезаписи, а каждый из её символов заменяется другой строкой, образованной согласно правилам грамматики. В конце символы интерпретируются как команды для построения геометрической фигуры.

Вот пример грамматики L-системы для построения мультяшных двухмерных деревьев:

     f    f [r f] [l f]     l    l     r    r

Символы f, l и r являются базовыми элементами языка; в процессе интерпретации в качестве команд для рисования, они обозначают forward (вперёд), left (влево) и right (вправо). Первое правило грамматики заменяет любое вхождение f строкой f [l f] [r f]; второе и третье правила ничего не меняют, заменяя l и r на них же. Квадратные скобки являются границами подпрограммы. Дойдя до левой скобки, система запоминает свою текущую позицию и ориентацию рисунка. Затем она исполняет инструкции внутри скобок, а дойдя до правой скобки, возвращается назад к сохранённой позиции и ориентации.

Начав с аксиомы f, грамматика создаёт последовательность ещё более сложных последовательностей команд:

Этап 0:    fЭтап 1:    f [r f] [l f]Этап 2:    f [r f] [l f] [r f [r f] [l f]] [l f [r f] [l f]]]

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

[Я упустил некоторые детали. На каждом этапе длина шага forward (вперёд) уменьшается на коэффициент 0,6. А все повороты, как влево (left), так и вправо (right) выполняются на угол 20 градусов.]


Подобные L-системы могут создавать широкий диапазон различных ветвящихся структур. Более сложные версии такой же программы способны создавать реалистичные изображения биологических деревьев. (На веб-сайте Algorithmic Botany Университета Калгари есть множество примеров.) Чего L-системы не могут, так это создавать замкнутые петли. Для этого потребовался бы фундаментально иной тип грамматики, например, правило трансформации, получающее два символа или строки и создающее соединённый результат. (Обратите внимание, что на этапе 5 показанной выше схемы две ветви дерева кажутся наложенными друг на друга, но они не объединены. Граф не имеет вершины в точке пересечения.)

Если бы биомеханические механизмы, управляющие ростом и развитием деревьев, работали с теми же ограничениями, что и L-системы, у нас было бы удобное объяснение отсутствия петель в ветвлении биологических деревьев. Но, вероятно, это объяснение слишком уж удобное. Я говорил, что у деревьев нет петель, и в общем случае это так. Но как насчёт показанного ниже дерева сфотографированной мной несколько лет назад лягерстремии на улицах Роли, штат Северная Каролина? (Она напоминает мне выразительную скульптуру Генри Мура.)


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

И лягерстремия является не единственным нарушителем правил. Горизонтальные ветки аборигенных для Индии баньянов подпёрты множеством доходящих до земли упоров. Показанный ниже баньян из Хило, Гавайи, в месте, где должен быть ствол, имеет пустую полость, окружённую десятками или сотнями поддерживающих побегов с перемычками над ними. Описанная выше L-система никогда бы не смогла создать такую сеть. Но если баньян способен на это, почему же другие деревья не пользуются тем же трюком?


В биологии вопрос Почему x? является укороченной версией Каково эволюционное преимущество x? или Какой вклад вносит x в выживание и репродуктивный успех организма? Для ответа на подобные вопросы часто нужен полёт воображения. Мы видим пятнистого коричневого мотылька на коре дерева и предполагаем, что его раскраска это камуфляж, скрывающий насекомое от хищников. Мы видим яркую бабочку и приходим к выводу, что её обличье отпугивает, это предупреждение, сообщающее Я ядовита, ты пожалеешь, если съешь меня.

Подобные объяснения имеют опасность превращения в простые сказки, наподобие истории Киплинга о том, как слон получил хобот в борьбе с крокодилом. [Французы и в самом деле называют их почему-сказками les contes des pourquoi.]. Вместо дарвиновского механизма мутаций и отбора мы склонны думать с точки зрения потребностей и желаний отдельной личности. Это сложно, когда личность является животным, чья психическая жизнь (если она вообще есть) сильно далека от нашей. Боится ли мотылёк быть съеденным? Радуется ли бабочка, попав на полную полевых цветов солнечную лужайку? Мы этого не знаем.

И если уж нам сложно представить ощущения животных, то жизнь растений ещё дальше от нашего предела познаний. Жаждет ли цветок прилёта несущей пыльцу пчелы? Скорбит ли дуб, когда его жёлуди съедают белки? Что деревья думают о дятлах? Встретившись с подобными вопросами, я могу только пожать плечами. Я понятия не имею, чего хотят и боятся растения.

Другие люди заявляют, что знают гораздо больше о чувствах растительности. Немецкий лесник Петер Воллебен опубликовал книгу под названием Тайная жизнь деревьев: что они чувствуют, как они общаются (The Hidden Life of Trees: What They Feel, How They Communicate). Он сообщает, что деревья вскармливает своё потомство, поддерживают дружеские отношения с соседями и защищают болеющих и раненных членов своего сообщества. В определённой мере эти идеи имеют научное обоснование, они позаимствованы из работы, проделанной в лаборатории Сюзанн Симард в Университете Британской Колумбии. Симард, являющаяся руководителем проекта Mother Tree, изучает коммуникационные сети, образованные корнями деревьев и связанными с ними почвенными грибами.

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

Переводы других статей Брайана Хейеса на Хабре


Брайан Хейес мой любимый автор научно-популярных статей, поэтому за годы на Хабре накопилась целая серия его переводов:


Дополнительное чтение


Dkhar, Jeremy, and Ashwani Pareek. 2014. What determines a leafs shape? EvoDevo 5:47.

McMahon, Thomas A. 1975. The mechanical design of trees. Scientific American 233(1):93102.

Osnas, Jeanne L. D., Jeremy W. Lichstein, Peter B. Reich, and Stephen W. Pacala. 2013. Global leaf trait relationships: mass, area, and the leaf economics spectrum. Science 340:741744.

Prusinkiewicz, Przemyslaw, and Aristid Lindenmayer, with James S. Hanan, F. David Fracchia, Deborah Fowler, Martin J. M. de Boer, and Lynn Mercer. 1990. The Algorithmic Beauty of Plants. New York: Springer-Verlag. PDF edition available at http://algorithmicbotany.org/papers/.

Runions, Adam, Martin Fuhrer, Brendan Lane, Pavol Federl, Anne-Galle Rolland-Lagan, and Przemyslaw Prusinkiewicz. 2005. Modeling and visualization of leaf venation patterns. ACM Transactions on Graphics 24(3):702-711.

Runions, Adam, Miltos Tsiantis, and Przemyslaw Prusinkiewicz. 2017. A common developmental program can produce diverse leaf shapes. New Phytologist 216:401418. Preprint and source code.

Tadrist, Loc, and Baptiste Darbois Texier. 2016. Are leaves optimally designed for self-support? An investigation on giant monocots. arXiv:1602.03353.

Vogel, Steven. 2012. The Life of a Leaf. University of Chicago Press.

Wright, Ian J., Ning Dong, Vincent Maire, I. Colin Prentice, Mark Westoby, Sandra Daz, Rachael V. Gallagher, Bonnie F. Jacobs, Robert Kooyman, Elizabeth A. Law, Michelle R. Leishman, lo Niinemets, Peter B. Reich, Lawren Sack, Rafael Villar, Han Wang, and Peter Wilf. 2017. Global climatic drivers of leaf size. Science 357:917921.

Yamazaki, Kazuo. 2011. Gone with the wind: trembling leaves may deter herbivory. Biological Journal of the Linnean Society 104:738747.

Young, David A. 2010 preprint. Growth-algorithm model of leaf shape. arXiv:1004.4388.
Подробнее..

Смертельно эффективная ловушка как венерина мухоловка запоминает, что она поймала добычу

25.10.2020 14:05:47 | Автор: admin

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

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

Как работает механизм захвата


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

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

Волоски-сенсоры способны воспринимать усилие даже в 0,05 миллиньютона. Время срабатывания ловушки зависит от силы касания и направления приложения усилия.

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


И это еще не все


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

Все бы хорошо, но возникает вопрос каким именно образом мухоловка умеет считать? Ладно бы, если лист схлопывался после всего 1 касания. Но он делает это минимум после 2 касаний, а выработка фермента и окончательное сжатие начинается после 5 касаний. А это уже умение считать и анализировать. Немецкие ученые решили выяснить, как этот механизм работает.


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

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

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

Так что там с кальцием?


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


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

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

DOI: Nature Plants, 2020. 10.1038/s41477-020-00773-1.

Подробнее..

Эволюция геймплея от античности до наших дней

10.01.2021 16:05:45 | Автор: admin

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

Античность

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

Жанр, соответствующий античности - квест

Смысл игры - непостижим. Цель игры - отыграть сюжет до конца, проявить героизм и артистизм.Смысл игры - непостижим. Цель игры - отыграть сюжет до конца, проявить героизм и артистизм.

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

Средневековье

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

Вместе с тем, в светской жизни, человек раз и навсегда получал роль, соответствующую его сословию, и, практически, не имел возможности поменять ее.

Жанр средневековья - RPG

Смысл игры - победить зло. Цель игры - спасти душу.Смысл игры - победить зло. Цель игры - спасти душу.

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

Размеренный образ жизни, понятные правила для попадания в рай, моральное утешение в церкви, ежедневные духовные практики (молитвы) - Новое время разрушило этот уклад.

Новое время

Стараниями мыслителей Нового времени, человек был перемещен в бесконечное механистическое пространство и лишен надежды на помощь извне и бессмертие. Пространство кишело такими же автономными эгоистичными индивидуумами, которые ожесточенно конкурировали за ресурсы. Человек стал одиноким, мог полагаться только на самого себя.

Жанр Нового времени - RTS по сети

Смысл игры - выжить. Цель игры - богатство, власть, слава.Смысл игры - выжить. Цель игры - богатство, власть, слава.

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

Дивный Новый Мир

С чем же мы пришли в этот Дивный Новый Мир? Крайний индивидуализм, истощенные ресурсы, бессилие науки сделать нас счастливыми, но, главное, отсутствие правил, ограничивающих нас извне. Всю предыдущую историю, правила диктовали нам смысл игры. Теперь же, мы должны научиться создавать смыслы самостоятельно.

Жанр этого мира - песочница

Смысл игры - жить. Цель игры - создавать смыслы.Смысл игры - жить. Цель игры - создавать смыслы.

Мы, как солдаты, вернувшиеся с войны. Учимся жить без приказов, восстанавливаем свою связь с миром через спонтанную активность.

И, напоследок, новогоднее пожелание для всех, кто дочитал этот опус:

Играй, Молись, Люби

Подробнее..

Зеленый иммунитет как растения реагируют на травоядных насекомых

15.01.2021 12:16:15 | Автор: admin

Что спасает от гусениц, к сожалению, с котами не работает.

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

Основа исследования


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

Растения также не сидят сложа руки в ожидании быть съеденными. Многие виды обладают специфической реакцией на воздействие со стороны травоядных, которая базируется на восприятии специфических молекулярных структур, связанных с травоядными животными (HAMP от specific herbivore-associated molecular patterns). Ранее определить источник этой реакции не представлялось возможным. Однако в рассматриваемом нами сегодня исследовании ученые идентифицировали рецепторы, которые обеспечивают передачу сигналов и защиту в ответ на определенные HAMP, присутствующие в оральном секрете (OS от oral secretions) гусениц.

К примеру, коровий горох (Vigna unguiculata) и фасоль обыкновенная (Phaseolus vulgaris) специфически реагируют на OS посредством распознавания протеолитических фрагментов хлоропластной АТФ-синтазы (cATPC от chloroplastic ATP synthase -subunit), называемых инцептинами.

Доминирующий инцептин, присутствующий во время атаки гусеницы на коровий горох, представляет собой пептид из 11 аминокислот (AA от amino acid), называемый Vu-In (+ICDINGVCVDA-). Эпитоп* Vu-In не является редкостью среди cATPC последовательностей у растений, однако только виды из подтрибы* бобовых Phaseolinae реагируют на инцептин.
Эпитоп* часть макромолекулы антигена, распознаваемая иммунной системой.
Триба* ранг в биологической систематике, стоящий ниже семейства и выше рода.
У растений внеклеточные пептидные сигналы могут распознаваться специфическими рецепторами опознавания паттерна (PRR от pattern recognition receptors). По мнению ученых, бобовые кодируют рецептор инцептина (INR), обеспечивающий распознавание Vu-In. Посему в данном труде были рассмотрены все процессы, протекающие с участием инцептина, как ответ растения на атаку гусеницы.

Результаты исследования


Чтобы идентифицировать INR кандидатов, необходимо было исследовать вариацию ответа растений как на Vu-In, так и на менее биоактивный C-концевой усеченный инцептин, названный Vu-In-A (+ICDINGVCVDA-), обнаруженный в OS травоядной гусеницы (Anticarsia gemmatalis), предпочитающей именно бобовые. Дополнительно была проверена зародышевая плазма* коровьего гороха на наличие положительных ответов, вызванных Vu-In-A.
Зародышевая плазма* живые генетические ресурсы, такие как семена или ткани, хранимые в специальных банках (например, Всемирное семенохранилище на Шпицбергене) для разведения, сохранения и/или исследования.
Образцы Danila, Suvita и Yacine после нанесения Vu-In-A на поврежденные листья показали индуцированное производство этилена, тогда как от других образцов ответных реакции не было (1A).


Изображение 1

Хотя ответы на Vu-In-A были количественно низкими по сравнению с полностью активным Vu-In (1A), можно с уверенностью заявить, что существование качественной вариации ответа на более слабый вариант элиситора может быть опосредован генетической изменчивостью INR.

Для картирования INR были использованы популяции из 85 рекомбинантных инбридных линий* (РИЛ или RIL от recombinant inbred lines), полученных от скрещивания образцов Yacine (Vu-In-A-чувствительный) и 5877 (Vu-In-Aнечувствительный) для картирования локусов количественных признаков (QTL от quantitative trait locus). Также использовался набор из 364 образцов коровьего гороха для полногеномного поиска ассоциаций* (GWAS от genome-wide association studies).
Рекомбинантные инбридные линии* (RIL) представляют собой набор штаммов, которые можно использовать для картирования локусов количественных признаков. Родительские штаммы скрещиваются для создания рекомбинантов, которые затем инбредируются (скрещивание близкородственных форм в пределах одной популяции) до изогенности (генетической идентичности), что приводит к целостному образцу для картирования и анализа признаков.
Полногеномный поиск ассоциаций* исследование, связанное с определением ассоциаций между геномными вариантами и фенотипическими признаками.
Vu-In-A вызывал непостоянное производство этилена в разных образцах. QTL-картирование и GWAS показали, что ответы Vu-In-A сильно связаны с одним генетическим локусом в обеих популяциях ( и ).

В отличие от качественных вариаций в ответах растений на Vu-In-A, количественные вариации в ответ на Vu-In приводили к различным локусам-кандидатам, которые не соответствовали статистическим пороговым значениям QTL и GWAS, а потому в дальнейшем не рассматривались.

Наиболее высоко ассоциированными маркерами с ответом Vu-In-A как при картировании QTL, так и при GWAS, были однонуклеотидные полиморфизмы (SNP от single-nucleotide polymorphism) 2_22560, 2_22561 и 2_09070, охватывающие область 22 килобаз (кб) на 7-ой хромосоме (1D).
Килобаза* (кб) тысяча пар оснований. Относится к спаренным основаниям, которые являются парой двух азотистых оснований нуклеотидов на комплементарных цепочках нуклеиновых кислот, соединенная водородными связями.
Оба маркера (2_22560 и 2_22561) попали в RLP-кодирующий ген Vigun07g219600, что согласуется с потенциальной ролью в рецептор-опосредованных ответах инцептина.

Дабы оценить функцию INR кандидата, была выполнена временная экспрессия гена Vigun07g219600 из эталонного образца IT97K- 499-35 в Nicotiana benthamiana (растение, родственное табаку). После этого была проверена чувствительность к Vu-In.

Признаками защитных реакций, опосредованных рецепторами, являются выброс активных форм кислорода (АФК или ROS от reactive oxygen species) и выработка этилена. Временная экспрессия рецептора EFTu (EFR) в N. benthamiana вызвала ответы на пептид elf18, но не на Vu-In (2A).


Изображение 2

Экспрессия Vigun07g219600 избирательно активировала Vu-In-индуцированные ROS (2B и 2C) и продукцию этилена (2D) для Vu-In, но не elf18. Это подтвердило, что именно ген Vigun07g219600 кодирует функциональные INR.

Чтобы понять основу фенотипической изменчивости коровьего гороха, было выполнено клонирование и экспрессирование аллелей INR от шести образцов с дифференциальными ответами Vu-In-A. Вариация ответа Vu-In-A, первоначально наблюдаемая у коровьего гороха, соответствовала силе аллеля INR, поскольку только аллели INR от Vu-In-A-образцов гороха обеспечивали индуцированную Vu-In продукцию АФК и этилена в N. benthamiana (2E). Ученые отмечают, что ни один из протестированных аллелей не давал Vu-In-A ответов в N. benthamiana.

Учитывая, что все 364 протестированные образцы коровьего гороха реагируют на Vu-In, данные анализа подтверждают, что естественные вариации INR коровьего гороха определяют порог активации для слабого элиситора (Vu-In-A).

Важно и то, что INR представляет собой богатый лейцином (LRR)-RLP класс рецепторов, отличающийся от LRR-RK отсутствием внутриклеточного киназного домена. INR содержит 29 полурегулярных LRRs с промежуточным мотивом, предшествующим трансмембранному домену и короткому цитозольному сегменту. Локус INR у коровьего боба содержит Vigun07g219700 (72% сходства с AA), который неспособен обеспечивать Vu-In-индуцированную продукцию этилена при экспрессии в N. benthamiana. Но вот Phvul.007G077500 (из Phaseolus vulgaris) и Vradi08g18340 (из Vigna radiata), обладающие 90% сходства, вызвали образование этилена, индуцированное Vu-In.

Примечательно, что секвенированный геном P. vulgaris из образца G19833 содержит единственный рецептор RLP в локусе INR (1D) и устойчиво реагирует на инцептин.

Основной вывод проведенных сравнительных тестов заключается в том, что именно подгруппа бобовых, включающая Phaseolus и Vigna, уникальным образом кодирует функциональные INR, достаточные для того, чтобы вызывать у табака (N. benthamiana) HAMP-индуцированные ответы.


Изображение 3

Чтобы исследовать связывание инцептина, необходимо было достичь стабильной активности связывания пептида с INR внутри растения. Для этого был создан N-концевой Vu-In конъюгат (Acri-Vu-In), меченый акридином (флуоресцентный реагент). После этого измерялся сигнал люминесценции иммунопреципитированным полуочищенным INR-GFP, экспрессируемым в листьях N. benthamiana.

Иммунопреципитированный INR-Vu сохранял люминесцентный сигнал Acri-Vu-In, в то время как образец из контрольной группы, Phvul.007g087600, не демонстрировал никакого сигнала (3A). И Vu-In, и Vu-In-A конкурируют за удерживание Acri-Vu-In в концентрациях от 50 до 500 нМ (3B).

Для лучшего понимания потенциальных участков, которые могут опосредовать прямые физические взаимодействия INR с инцептином, была создана модель гомологии INR на основе кристаллической структуры эктодомена LRR FLAGELLIN-SENSING 2 (FLS2) и выполнено моделирование молекулярного докинга Vu-In. Предполагаемые конформации с наименьшей энергией оценивались по отношению к связываниям пептидов.
Молекулярный докинг* метод моделирования, позволяющий определить лучший вариант ориентации и конформации одной молекулы (лиганд) в участке связывания другой (рецептор).
Во множественных низкоэнергетических конформациях Vu-In кислотный остаток лиганда Asp10 показал консервативное положение связывания и конформацию за счет взаимодействия с обоими основными остатками INR-Vu His495 и Arg497 (3D).

Ранее проведенные исследования утверждают, что Asp10 является единственным AA, существенным для образования этилена, индуцированного Vu-In. Чтобы это проверить, INR-Vu у His495 / Arg497 заменили на Ala495 / Ala497. Это привело к потере удерживания Acri-Vu-In и продукции ROS, индуцированной Vu-In у N. benthamiana (3D).

Данные анализа показывают, что INR-Vu является достаточным для удержания Acri-Vu-In в табаке и что эта активность частично опосредуется боковыми цепями His495 / Arg497.

Поверхностные рецепторы LRR-типа у растений обычно связываются с корецепторами рецепторной киназы соматического эмбриогенеза (SERK) для передачи сигнала. Кроме того, RLP постоянно связываются с SOBIR1, который противодействует белку BIR1 и способствует защите растений.

Ассоциация INR как с AtSOBIR1, так и с VuSOBIR1 (Vigun09g096400) была конститутивной (3E), тогда как INR сильнее ассоциировалась с корецепторами AtSERK после обработки пептидом (3F и 3G). Следовательно, INR связывается с SOBIR1 аналогично вышеупомянутым LRR-RLP.


Изображение 4

Необходимо было проверить, достаточно ли только INR для активации защиты от травоядных у растения, от природы лишенных естественных реакций инцептина. Для этого была выполнена модификация N. benthamiana и Nicotiana tabacum трансгенами 35S: INR-Vu или 35S: INR-Pv. Множественные независимые трансгенные линии, экспрессирующие 35S: INR, успешно отвечали на Vu-In ( и ).

Транскриптомная характеристика Vu-In-индуцированных ответов в линии 1-5 INR-Pv N. benthamiana показала усиление регуляции характерных генов защиты от травоядных. Следовательно, было доказано, что два классических защитных маркера, ингибитор трипсина Кунитца (KTI) и аскорбатоксидаза (AscOx), активируются в присутствии как INR, так и Vu-In ().

В заключение был проведен практический тест, в котором использовались табак и личинки Spodoptera exigua. Гусеницы, поедающие растения, которые прошли этап трансгенных изменений, росли на 32-37% медленнее, чем в случае поедания не измененных растений (4D и 4E). Следовательно, гетерологичная экспрессия INR-Vu или INR-Pv вызывает защитные реакции у растений при атаке травоядных животных.

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

Эпилог


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

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

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

К примеру, возьмем один из самых популярных фруктов на планете банан. Существует так называемая панамская болезнь, вызываемая грибковым патогеном Fusarium oxysporum f.sp. cubense и поражающая ствол банановых пальм. Впервые грибок заявил о себе еще в 1950-ых годах, когда фактически истребил сорт бананов Musa acuminata, которые до этого был самым экспортируемым в страны Европы и Северной Америки.

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

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

Пятничный офф-топ:

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

Офф-топ 2.0:

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

Благодарю за внимание, оставайтесь любопытствующими и отличных всем выходных, ребята! :)

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Клещи или статья о том, как стать самым успешным маленьким паукообразным

17.01.2021 00:16:40 | Автор: admin

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

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

Примерно до середины 20 века клещей рассматривали как единую группу мелких членистоногих Acari. В современной научной литературе эта группа всё реже рассматривается с позиции сугубо прямолинейного родства. Всё дело в том, что данный таксон от части достаточно искусственный, и включает в себя группы довольно неродственных по происхождению животных, хоть и тесно связанных между собой. [1]; [2]; [24]

Это означает, что клещи вероятно имеют две разные предковые формы.[3] Следовательно, данный таксон в современной литературе представляет собой полифилетическую группу паукообразных. Но чисто инертность (консервативность) человеческого мышления, до сих заставляет их рассматривать как бы единой группой.

Однако, на 100% вопрос единства родства Acari не решен и поныне, даже с применением молекулярных методов. Так монофилетичность происхождения группы клещей поддерживается в третьем издании книги Manual of acarology (2009) [30] и в исследовании Лозано-Фернандеса 2019 года.[27]

И всё таки Acari вероятно является разнообразной дифилетической группой, которая рассматривается в качестве подкласса паукообразных, состоящая из двух надотрядов (в 70-е 80-ые годы обе группы были просто отрядами):

1. Акариформных клещей (Актинотрихидные);

2. Паразитиформных (Анактинотрихидные) клещей. [4]; [1]; [25]; [26]

Некоторые учёные называют акариформных актинотрихидными клещами, а паразитиформных анактинотрихидными. Дело в том, что у некоторых клещей щетинки (сенсиллы) на теле светятся в поляризованном свете (в микроскопе), а у некоторых не светятся. Светящиеся покровы клещей содержат вещество, названное актинотрихином. Это дало повод акарологу Захваткину А.А., разделить клещей на две упомянутые мной группы. [7]: [2] Сейчас эта классификация мягко говоря несколько устарела, и более того, при определении принадлежности клещей к акариформным и паразитиформным используются совсем другие признаки, и сейчас на светящиеся покровы почти никто не смотрит. [24]

Согласно последним исследованиям на основе молекулярных данных [3] предполагается, что надотряд акариформ является сестринской группой по отношению к сольпугам, в то время как надотряд паразитоформ сестринской лжескорпионам.

Тем не менее данную группу объединяет то, что большинство описанных клещей, а это порядком более 55 000 видов на момент 1999 года[31]). Имеют гнатосому, шестиногую личинку, и являются мелкими членистоногими с 4 - мя парами конечностей. Размер большинства современных видов достигают максимума до 1 - го мм и лишь некоторые из них могут достигать длины 10 - 30 мм, [32] и то в основном это самки иксодовых клещей (только в период кровососания). [5]

Дело в том, что для иксодовых клещей характерно уникальное явление неосомия, то есть растягивание клещей в период между линьками. Когда искодовый клещ (самка) питается, у нее происходит рост покровов, и внутренних органов. Поэтому напитавшийся клещ может весить до нескольких граммов. У других членистоногих это явление не встречается.[32]

Из этого следует вопрос - а была ли миниатюрность в сущности всех акарин всегда или были моменты в геологической истории Acari, когда группы клещей наоборот разрастались до более больших размеров?

На этот вопрос постаралась ответить кандидат биологических наук, акаролог - Сидорчук Екатерина Александровна. Она сравнила размеры более 260 окаменелостей клещей, распределенных от раннего девона (410мя) до конца неогена (5мя), с данными о размерах, имеющиеся их современных родственников.

На основе этих данных Екатерина Александровна пришла к выводу, что большинство клещей из двух надотрядов стали маленькими уже очень давно. Так, например, самые древние представители надотряда акариформ из нижнедевонских сланцев, найденные в районе Шотландии, хоть и показывают положительную тенденцию к размеру (в сравнении с современными клещами), но при этом всё равно являются маленькими. [6]; [7]

Следующие по возрасту девонские ископаемые из местонахождения Гилбоа, штат Нью - Йорк, принадлежащие к двум основным группам - Acariformes Oribatida и Endeostigmata говорят, что данная тенденция временно прекращается вплоть до мезозоя, при этом представителей семейства Endeostigmata относят к современному семейству, до такой степени они похожи на современных представителей акариформ.

Последующие находки из карбона показывают, что 340 миллионов лет назад уже существовало как минимум три современных семейства [7], а самых маленьких четвероногих клещей - Endeostigmatan Tetrapodili извлекают уже из триасового янтаря.

Так или иначе часть этих клещей, из которых почти 65% окаменелостей, относящихся к существующему роду, попали в общий диапазон размеров своих существующих родственников, а остальные акариформы находятся на меньшей стороне этих диапазонов, что говорит о консерватизме этих клещей в вопросе их миниатюрности.

Однако некоторые части палеозойских и мезозойских окаменелостей имеют тенденцию к более большим размерам, чем современные их родственники. [6] Так, например, в юре найдены высшие орибатиды, отличающиеся от девонских собратьев твердыми покровами и защитными выростами, а от современных представителей более крупными размерами.

При этом можно сказать, что это уже современные роды животных, являющиеся обитателями воды, почвы и крон деревьев, что тоже говорит о консерватизме данных клещей длинной в 150 миллионов лет. [6]; [7]

Тем не менее только дальнейшие исследования могут показать, является ли это относительное увеличение размеров палеозойских окаменелостей или окаменелостей юрских аномальных орибатид, следствием тафономическо- исследовательского уклона, или всё же некой эволюционной тенденцией. [6]

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

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

Иксодовый клещ из бирманского янтаря

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

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

Habelia optata хищное членистоногое одно из древнейших родственников предков хелицеровых, включая всех паукообразных. Обитало на территории современной Канады около 508 миллионов лет назад. [28]

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

Первым важным преадаптивным моментом в эволюции клещей, пауков и скорпионов было развитие системы стигм и легких при освоении суши. [8] Однако у большинства клещей, лёгких нет, лишь у некоторых водных видов клещей есть подобие псевдалёгких, представленное двумя трахеями, идущими от стигм внутрь тела, которые расширяясь, образуют воздушные мешки. [22]

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

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

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

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

Это опять же может быть связано с тем, что всю жизнь клещи обитают во влажной среде, в перегнивших растительных остатках, в пространствах между частичками, в воздухе насыщенными водяными парами и потому подобные различные выросты покрова тела, в том числе и развитие различных эпикутикул, нужны для того, чтобы отталкивать излишнюю воду и пробираться во влажной среде к пище. [9]

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

В следствии этого вторым возможно не менее важным преадаптивным признаком клещей могло быть усечение жизненного цикла, а чём свидетельствует как минимум эмбриогенез клещей. [10]; [26]

Так для отряда паразитиформных клещей характерно отсутствие предличиночной стадии, а само развитие происходит по мере роста активного зародышевого организма. Именно зародышевая форма приобретает большинство черт типичного взрослого арахнида с восемью ногами и теряет их перед выходом наружу в личиночной стадии, чтобы снова начать развивать эти черты в нимфальной стадии. [11]

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

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

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

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

В результате освоения этих ниш на протяжении миллионов лет эволюции в тесной связи с эволюцией растений, данные клещи постепенно морфологически перестроились, обзаведясь еще одной важной преадаптацией для всех акарин в виде специализированной гнатосомы. [13] Упростив внутреннюю анатомию и вытянув форму тела, в конечном итоге они утратили не использующиеся конечности, чтобы всю жизнь жить на одном растении или даже внутри него. [14] Схожая эволюция характерна и для клещей, паразитирующих на животном организме, например, для железниц. [14]

Формирование конечностей у эмбрионов Loboquintus subsquamatus Chetverikov and Petanovi, 2013 (конфокальная микроскопия). Обозначения: Ch хелицера, P пальпа, LI и LII ноги I, II. Звездочками отмечены передняя и задняя доли пальпы. Длина масштабной линейки 20 m (по: Chetverikov and Desnitskiy 2016)

Важными преадаптивными моментами в эволюции предков клещей до возникновения самой этой группы было:

1) Появление трахей и стигм; развитие различных структур по типу эпикутикул;

2) Усечение жизненного цикла;

3) Развитие подвижного ротового аппарата - гнатосомы.

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

Таким образом в дальнейшем происходила их дальнейшая миниатюризация, с помощью которой они приспособились к другим нишам и биотопам, поэтому многие формы известные в ископаемом состоянии дожили до наших дней. [15]

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

Так появились новые свидетельства возможной близости хелицеровых к пикногонам (пантоподы), которых ещё называют морскими пауками. [16] Найденные в отложениях кембрия Cambropycnogon klausmuelleri [17] и Haliestes daco из силурийского окаменевшего вулканического пепла, а также найденные в отложениях нижнего девона Palaeoispus, Palaeothea, Palaeopantopus с длинным, сегментированным брюшком и хвостовой лопастью, паразитирующие, как и современные пикногоны, на губках и кишечнополостных обнаруживают подозрительное сходство с хелицеровыми, чем с другими членистоногими. Примечательно, что их личинка, названная протонимфоном, имеет облик личинки некоторых клещей с мощными хелицерами и тремя парами ног.

Проблема заключается в том, что полноценное молекулярно - генетическое секвенирование в отношении клещей и морских пауков так ещё и не проводилось. [16]; [26] Плюсом ко всему пантоподы являются высокоспециализированными животными, а потому было бы маловероятным происхождение какой-либо новой группы от чрезвычайно высокоспециализированных предков, которые к тому же на много менее сегментированы чем примитивные формы клещей.

У примитивных форм сегментация выражена сильнее, чем у продвинутых форм клещей. То есть предки Acari скорее всего были более сегментированными членистоногими, вероятно морфологически напоминавшими представителей отряда Opilioacarida, [30] и менее специализированными ,чем морские пауки. Тем не менее родственность клещей и пантопод всё ещё требует уточнения.

Протонифон Cambropycnogon klausmuelleri

Протонифон Ammothea echinata

Известно, что все пантоподы являются морскими глубинными животными. Большинство из них живут на глубинах до 3.000 метров, однако встречаются и те, которые выживают и на 200 метров в нижней литоральной зоне. [18]; [19] Такая зона представляет собой обычно не сильно полноводный морской бассейн с преобладанием прибрежной лагуны, располагающейся между уровнем сизигийного отлива и уровнем квадратурного отлива приблизительно до 200 метров глубиной [20]; [21]

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

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

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

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

Рисунок с реконструкцией выполнен Акари Аказа, специально для данной статьи

Один из гипотетических предков группы Acari в моих представлениях, существовавший в водах кембрийских и силурийских морей, выполнен на основе консультации ведущих учёных акарологов зоологического института РАН, а также на основе любезно предоставленных ими материалов по Opilioacarinea

Заключение

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

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

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

Материал принадлежит мне и опубликован мной в паблике Фанерозой.

Благодарности

Сердечно благодарю своего научного руководителя доктора биологических наук профессора Медведева Сергея Глебовича заведующего лабораторией паразитологии Зоологического института РАН за научное направление в сторону изучения вопросов энтомологии и акарологии.

Выражаю огромную благодарность главным ведущим научным сотрудникам ЗИН РАН, членам русского энтомологического общества, докторам биологических наук, акарологам Миронову Сергею Валентиновичу и Леоновичу Сергею Александровичу в курировании меня в процессе написания статьи, а также предоставления материалов и консультировании в различных аспектах эволюции клещей.

Искренне благодарю и бесконечно признателен своему наставнику и руководителю моей прикладной деятельности энтомологу ФБУЗ Центр гигиены и эпидемиологии в городе Санкт-Петербург Бычковой Елене Михайловне за предоставление бесценных трудов из библиотеки нашего центра.

Душевно благодарю заведующего лабораторией артропод, Московского Палеонтологического института РАН, кандидата биологических наук Василенко Дмитрия Владимировича за

предоставление последних прижизненных материалов, принадлежащих кандидату биологических наук Сидорчук Екатерине Алексеевне.

Отдельно выражаю огромную благодарность в реконструкции гипотетического предка всех акарин, лучшего художника из всех, которых я знаю Акари Аказа,

Также благодарю свою возлюбленную, за поддержку в процессе написания статьи Файзуллину Александру.

Список литературы и ссылки:

1) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4273655/]

2) Акарология - наука о клещах. История развития. Современное состояние. Систематика Ю.А. Захваткин; изд.URSS 2011г.; ISBN 978-5-397-02126-5 стр. 10; 2

3) Dabert, Miroslawa, Witalinski, Wojciech, Kazmierski, Andrzej, Olszanowski, Ziemowit, Dabert, Jacek (2010, Molecular phylogeny of acariform mites(Acari, Arachnida):Strong conflict between phylogenetic signal and long-branch attraction artifacts), стр.222 - 241]

4) https://tede.ufrrj.br/jspui/handle/jspui/2545

5) Walter D. E., H. C. Proctor. Mites: Ecology, Evolution and Behaviour. - University of NSW Press, Sydney andCABI, Wallingford, 1999. -ISBN 978-0-86840-529-2

6) https://www.tandfonline.com/doi/full/10.1080/01647954.2018.1497085];

7) ]https://postnauka.ru/video/88099

8) Акарология - наука о клещах. История развития. Современное состояние. Систематика Ю.А. Захваткин; изд.URSS 2011г.; ISBN 978-5-397-02126-5 стр. 13; 4

9) https://zooeco.com/0-dom/0-dom-a2-50-02.html

10) Акарология - наука о клещах. История развития. Современное состояние. Систематика Ю.А. Захваткин; изд.URSS 2011г.; ISBN 978-5-397-02126-5 стр.21; 4

11)https://studbooks.net/1327882/meditsina/osobennostibiologiirazvitiyaparazitoformnyhkleschey

12)Акарология - наука о клещах. История развития. Современное состояние. Систематика Ю.А. Захваткин; изд.URSS 2011г.; ISBN 978-5-397-02126-5 стр.22; 4.

13) Коллективная монография под ред. К.В. Галактионова. - Труды Зоологического института РАН, Приложение 4. СПб, издательство ЗИН РАН, стр. 351

14) Коллективная монография под ред. К.В. Галактионова. - Труды Зоологического института РАН, Приложение 4. СПб, издательство ЗИН РАН, стр. 350-356

15)Акарология - наука о клещах. История развития. Современное состояние. Систематика Ю.А. Захваткин; изд.URSS 2011г.; ISBN 978-5-397-02126-5 стр.48-49; 2

16)Акарология - наука о клещах. История развития. Современное состояние. Систематика Ю.А. Захваткин; изд.URSS 2011г.; ISBN 978-5-397-02126-5 стр.26-27

17) https://onlinelibrary.wiley.com/doi/abs/10.1111/1475-4983.00244

18) Шимкевич В.М., Многоколенчатые (Pantopoda), Ленинград, 1929, С.1-555.

19) Arnaund F. and R. N. Bamber, 1987. The biology of Pycnogonida // Advances in Marine Biology. Vol. 24. P. 1 96

20) https://bigenc.ru/geography/text/2147853

21)https://dic.academic.ru/dic.nsf/ntes/2477/ЛИТОРАЛЬ

22)https://helpiks.org/8-10574.html

23) Б.Н. Шванвич Курс общей энтомологии Изд. Советская наука 1949 год, стр. 542

24) Современные представления о макрофилогении акариформных клещей (Chelicerata, Acariformes); 2009г, С.В. Миронов, А.В. Бочков. Зоологический институт РАН. С.-Петербург 199034, Россия; стр. 922-924

25) Wheeler WC, Honeycutt RL: Paired sequence difference in ribosomal RNAs: Evolutionary and phylogenetic implications. Mol Biol Evol. 1988, 5: 90-96.

26)https://link.springer.com/article/10.1186/1471-2148-10-235

27)https://www.nature.com/articles/s41467-019-10244-7

28) https://bmcevolbiol.biomedcentral.com/articles/10.1186/s12862-017-1088-7

29) Walter (2013) Chapter 2 The Origin of Mites: Fossil History and Relationships стр. 20-24

30) Gerald W. Krantz & D. E. Walter. АManual of Acarology изд. Texas Tech University Press 2009 г. ISBN 978-0-89672-620-8. Стр. 35.

31) Gerald W. Krantz & D. E. Walter. АManual of Acarology изд. Texas Tech University Press 2009 г. ISBN 978-0-89672-620-8. Стр. 1

32) Ю.С. Балашов Паразитизм клещей и насекомых на наземных позвоночных, СПб. Зоологический институт РАН, Наука, 2009 стр. 24.

Подробнее..

Франсвильская биота первые многоклеточные организмы

20.03.2021 20:11:26 | Автор: admin
Жизнь на Земле зародилась около 3700 миллионов лет назад, но долгое время оставалась одноклеточной. На слуху эдиакарский период, начавшийся 635 миллионов лет назад, когда появились удивительные многоклеточные животные, многие из которых не имеют близких родственников среди ныне живущих видов. Но сегодня я хочу рассказать вам о гораздо более раннем всплеске многоклеточной жизни, случившемся 2100 миллионов лет назад.

image

Под катом много больших картинок.

В атмосфере Земли долгое время не было кислорода. Около 2500 миллионов лет усилилась активность вулканов. Вулканы выбрасывали много углекислого газа, из-за чего дожди становились всё обильнее. Потоки дождевой воды ускорили эрозию почв и вымывание из неё питательных веществ: они стекали по рекам в океаны и создали благоприятные условия для фотосинтезирующих организмов. Уровень кислорода в атмосфере начал постепенно расти. Учёные и раньше подозревали, что такое изменение условий могло привести к всплеску новых видов живых существ, но доказательств было совсем немного. Пока несколько лет назад в Африке не были найдены окаменелости возрастом 2300-2100 миллионов лет, получившие название Франсвильской биоты.

Мы не знаем, были ли они сложными колониями одноклеточных существ, как современные слизевики, или больше походили на многоклеточные организмы. Размер этих существ доходил до 17 сантиметров. Жили они в неглубокой части океана, где воды были богаты кислородом. Вот что уже удалось найти:

image

Иллюстрация 2. Слева показаны фотографии окаменелостей, справа, в оранжевых тонах, результаты компьютерной микро-томографии, позволяющей рассмотреть внутреннее устройство останков. A и C существа, похожие на яичницу или равиоли, с мясистым центром. У существ A можно видеть складчатые тонкие края, а у существ C они более ровные. Существа E-H имеют удлиненную форму тела и множество синусоидальных складок.

image

Иллюстрация 3. Все показанные существа с утолщенным центром и складчатыми дискообразными краями.

image

Иллюстрация 4. Существа, сочетающие дискообразную форму и длинные отростки. На длинных отростках есть утолщения, похожие на бусины.

image

Иллюстрация 5. Большое существо того же типа, рентгеновскую микро-томографию не удалось сделать из-за размеров и хрупкости окаменелости.

image

Иллюстрация 6. Дискообразные существа другого типа. Видно, что центральная часть покрыта радиальными бороздками, а края организма четко отделены от субстрата, на котором он окаменел.

image

Иллюстрация 7. Два организма с утолщенным центром и складчатыми краями рядом.

Также были найдены существа, рывшие ходы в донных отложениях, то есть они могли активно и целенаправленно передвигаться:

image

Иллюстрация 8. Рентгеновская томография ходов, прорытых в донных отложениях.

image

Иллюстрация 9. Сверху ходы в донных отложениях и окаменелости существа, навсегда оставшегося в норе. Снизу ещё несколько рентгеновских томограмм существ, похожих на яичницу.

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

Источников о франсвильской биоте пока не много, вот что ещё почитать:

  1. Франсвильская биота.
  2. Эдиакарская биота.
  3. New Insights into the Great Oxidation and Lomagundi Events
  4. Large colonial organisms with coordinated growth in oxygenated environments 2.1Gyr ago
  5. The 2.1 Ga Old Francevillian Biota: Biogenicity, Taphonomy and Biodiversity
  6. Life Was Already Moving 2.1 Billion Years Ago
Подробнее..

Вынужденный экспресс-курс эволюции дигиталис и колибри

16.04.2021 10:20:09 | Автор: admin


Природа порой бывает очень цинична и прямолинейна в своих проявлениях. То, что может показаться невероятным примером дружбы между разными видами, на самом деле является взаимовыгодным партнерством, в котором ни один из участников не будет дальше дружить, если второй перестанет быть выгоден. Подобное взаимодействие видов называют симбиозом, у которого имеется несколько разновидностей. К примеру, мутуализм описывает связь видов, когда присутствие видов-напарников является обязательным условием выживания каждого из них. Ярким тому примером являются растения и существа их опыляющие. Но что делать растению, если оно оказалось в новой среде обитания без своих прежних партнеров-опылителей? Конечно же, эволюционировать и очень-очень быстро. Ученые из Британского экологического общества установили, что подобная ситуация произошла с дигиталисом, т.е. с наперстянкой. Примерно 200 лет тому назад это растение, преимущественно произрастающее в Средиземноморье, пересекло океан (не без помощи человека) и попало в Центральную Америку. Под кого пришлось быстро подстраиваться растению-путешественнику, какие изменения в структуре цветка произошли, и зачем они произошли? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.

Основа исследования


Дигиталис или наперстянка получили свое говорящее имя от латинского слова digitus, что в переводе означает палец. Авторство названия приписывают Леонарту Фуксу, который впервые описал данное растение в своей книге De historia stirpium commentarii insignes, где называл его Fingerhut, то бишь наперсток.


Леонарт Фукс

В древнеанглийском языке наперстянка имела название foxes glofe/glofa, т.е. лисьи перчатки. В местах обитания лис росло очень много наперстянки, от чего появилась легенда, что лисы одевали цветки этого растения, чтобы бесшумно охотиться на свою добычу. Другое древнеанглийское название witch's glove (ведьмина перчатка) указывают на ядовитость данного растения.

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

От неприятного перейдем к приятному, к внешнему виду наперстянки. Растение может быть высотой от 30 до 150 см. Самой очевидной визуальной ноткой наперстянки, естественно, являются многочисленные цветы длиной от 1 до 15 мм, расположенные вдоль ствола. Форма цветков действительно напоминает наперсток или колокол. В ночное время многие насекомые прячутся в цветках дигиталис, так как температура в них гораздо выше, чем снаружи.

Благодаря своей красоте дигиталис стал нередким элементом многих произведений изобразительного искусства.


Портрет доктора Гаше (Ван Гог, 1890) и Наперстянки (Фридрих Карл Фриске, 1912-1913).

Но не эстетика и даже не ядовитые свойства наперстянки привлекли внимание авторов рассматриваемого нами сегодня труда. Данный вид, произрастающий по большей степени на территории Средиземноморья, примерно 200 лет назад попал в Центральную Америку, где претерпел ряд изменений во имя адаптации и выживания.

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

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


Изображение 1: продольный разрез цветка Digitalis purpurea с удаленными частью венчика и одной тычинкой. Цветочные нектарники расположены у основания завязи, в суженной проксимальной части трубки венчика.

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

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


Изображение 2: спрессованные цветки Digitalis purpurea, иллюстрирующие проведенные морфологические измерения: (a) длина и высота венчика целиком; (b) длина и ширина трубки проксимального венчика.

В ходе исследования ученые провели сравнение коренных популяций (из Южной Англии) и натурализованных популяций в двух районах, где обитают колибри(Колумбия в Южной Америке и Коста-Рика в Центральной Америке). Была проведена оценка самих опылителей, частоту посещения ими цветков и эффективность переноса пыльцы. Также была измерена морфология цветков и характеристики нектара. Связь между этими показателями может играть важную роль в механизмах (и причинах) быстрой адаптации.

Результаты исследования


Сначала было проведено сравнение результатов ручного опыления двух популяций D. purpurea из Англии (из двух регионов) и одной популяции из Южной Америки. Во всех популяциях ручное опыление давало значительно различающееся количество семян (примерно 801.5; N = 8-20 цветков на обработку в каждой популяции).


Изображение 3

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

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

Далее ученые провели оценку частоты посещения опылителями места произрастания дигиталиса, где учитывали посещения продолжительностью 3 минуты. В результате было получено 25-31 час наблюдений для Центральной и Южной Америки: Флореста 524, Чоачи 624 и Ла-Джорджина 506 посещений; и 7-10 часов наблюдений для Англии: Калькот Вуд 140, Холи Кросс 201, Лодер-Вэлли 161 посещений.


Изображение 4

Популяции в тропических горах обладали более разнообразными опылителями (7 видов), чем нативные (2 вида). Самым распространенным опылителем среди всех популяций оказался шмель, а именно вид Bombus. Колибри же в некоторых популяциях составляли примерно 27% от общего числа опылителей. А вот мелкие насекомые и пчелы появлялись крайне редко, поскольку им сложно добраться до пыльцы из-за длинных волосков у основания венчика.

Разница в частоте посещений цветов опылителями начинает проглядываться, когда речь заходит о видовом разнообразии. Цветы в Англии чаще посещались шмелями, а цветы в Америке колибри, что указывает на морфологические отличия в структуре цветков.

Любопытно, что похищение нектара (когда насекомое получает нектар через отверстие, проделанное у основания цветка) на территории Англии встречалось всего в 10.4% случаев. При этом в Флоресте примерно 64% растений имели минимум один ограбленный цветок, из которых примерно 12% были полностью раскрытые цветки. Опять же, это указывает на морфологию цветка, которая не позволяет опылителям получать нектар классическим путем, вынуждая их воровать.


Изображение 5

Эффективность опылителей с точки зрения переноса пыльцы также была проверена. Колибри за одно посещение цветка передавали ему гораздо больше пыльцы (4380 2964 гранул), чем те же шмели (728 1053 гранул) или другие насекомые Колумбии (график выше).

От сравнения опылителей перейдем к результатам сравнения самих цветов.


Изображение 6

Размеры целой трубки венчика у популяций из Америки (N = 783 цветка от 250 растений из 7 популяций) и популяций из Англии (N = 559 цветков от 165 растений из 4 популяциях) никак не отличались (6a). Но проксимальная трубка венчика была в среднем на 13% и 26% больше (в Колумбии и Коста-Рике соответственно), чем у цветков Англии (6b). По объему и по концентрации нектара отличий не было обнаружено. Также не было разницы и в вегетативных признаках всего растения (к примеру, высота соцветия до первого цветка и диаметр розетки).

Важным отличием было число производимых цветков и плодов. Популяции из Америки производили в среднем на 58.2% меньше цветков и плодов при одинаковом количестве семян на один плод: Англия 124.1 цветов/плод на одно растение, Колумбия 53.0, Коста-Рика 48.8. В результате растения из Америки производили на 64.2 % меньше семян.

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

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

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

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

Эпилог


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

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

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

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

Благодарю за внимание, оставайтесь любопытствующими и отличных всем выходных, ребята! :)

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Разнообразие смерти гастрономические предпочтения змей и эволюция их яда

23.04.2021 10:10:48 | Автор: admin


В мире людей существует немало страхов, некоторые их которых перерастают в самые настоящие фобии: арахнофобия (пауки), акрофобия (высота), аквафобия (вода), коулрофобия (клоуны), офидиофобия (змеи) и т.д. Многие люди, даже не имея офидиофобии, относятся к змеям с призрением и недоверием. Змей часто отожествляют с хитростью, подлостью, коварством и прочими малоприятными качествами, которые по иронии им совершенно неприсущи, в отличие от самих людей. С другой стороны змеи часто символизируют мудрость, бессмертие, знания. Одними из самых узнаваемых символов, в которых присутствует змея, являются сосуд Гигиеи (символ фармации) и посох Асклепия (символ медицины). Для многих самой примечательной особенностью некоторых змей является их яд, структура которого может быть невероятна. Ученые из Клемсонского университета (США) выяснили, что структура яда некоторых змей зависит от того, насколько эволюционно далека друг от друга добыча. Как гастрономические предпочтения змей влияют на их яд, чей яд сильнее, и как полученные знания можно применить на практике? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.

Основа исследования


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

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

Сложные черты того или иного вида определяются множеством компонентов, вносящих вклад в окончательный функциональный фенотип, который формируется в зависимости от количества информации в геноме, определенной данными компонентами. Молекулярные признаки, участвующие в антагонистических взаимодействиях, проявляются как модели для связывания сложности признака с разнообразием видовых сообществ, поскольку их сложность может быть точно определена количественно числом и разнообразием уникальных компонентов. Это, по словам ученых, позволяет использовать меры разнообразия, такие как H-индекс Шеннона*, для суммирования сложности той или иной черты вида.
Индекс (или энтропия) Шеннона* был предложен Клодом Шенноном в 1948 году для количественной оценки энтропии в строках текста. Суть модели состоит в том, что чем больше разных букв и чем больше их пропорциональное количество в интересующей строке, тем труднее правильно предсказать, какая буква будет следующей в строке. Энтропия Шеннона количественно определяет неопределенность (энтропию), связанную с этим предсказанием.
Одним из ярчайших примеров взаимодействия видов является использование одним их низ яда для защиты/нападения. Яд нарушает гомеостатические физиологические процессы, быстро делая добычу неспособной сопротивляться либо нападающего неспособным продолжить преследование. Это взаимодействие позволяет понять силы, опосредующие сложность признаков во взаимодействиях хищник-жертва.

Что касается белковых смесей, сложность фенотипа яда может быть определена количественно с помощью хроматографии*.
Хроматография* метод разделения и анализа смесей веществ, а также изучения их физико-химических свойств. Суть метода заключается в распределении вещества между двумя фазами: неподвижная (твердая или жидкая) и подвижная (газовая или жидкая).
Кроме того, транскриптом ядовитой железы напрямую связывает протеом (совокупность белков) яда с генотипом вида. То есть транскриптом является вторым независимым методом определения сложности яда за счет оценки сложности геномной последовательности.

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

Любопытно и то, что паралоги* высокоэкспрессированных генов яда одной и той же змеи могут обладать таксономической специфичностью.
Паралоги* последовательности, которые присутствуют в одном и том же геноме, а возникают в эволюции путем дупликации первичной последовательности.
К примеру, яд змей Spilotes sulphureus одинаково смертелен для млекопитающих или ящериц, а яд Bothrops neuwiedi по-разному выполняет прокоагулянтную функцию (свертывание крови) в крови любого из представителей млекопитающих.

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

Большинство гадюк питаются в основном мелкими позвоночными, при этом диета их предков, вероятно, состояла из млекопитающих, ящериц и лягушек. Гремучие змеи (Crotalus и Sistrurus), медноголовые и мокассиновые (Agkistrodon) составляют крупнейшую кладу переднезубых ядовитых змей в Северной Америке, насчитывающую от 45 до 64 описанных видов. Питание этих видов также обладает широким разнообразием. К примеру, Crotalus horridus питается исключительно млекопитающими, а вот Agkistrodon piscivorus conanti не брезгует рыбой, лягушками, млекопитающими, ящерицами, птицами, черепахами и даже змеями.

Яды этих родов змей состоят из 1070 белков из 1525 различных семейств генов. Из этого и происходит разнообразие действия яда: нейротоксическое (нарушение периферической нервной системы), коагулопатическое (нарушение свертывания крови), геморрагическое (образование кровяных сгустков) или миотоксическое (предотвращение релаксации мышц после сокращения) и т.д.

Дабы проверить, какие теории о связи между питанием змей и структурой их яда все же верны, а какие нет, ученые проанализировали рацион змей и измерили протеомную сложность яда и транскриптомную сложность ядовитых желез. Образцы яда и желез были получены от змей Agkistrodon, Crotalus и Sistrurus. В результате была сформирована самая крупная база данных протеомов и транскриптомов ядовитых желез для этой группы на сегодняшний день (68 линий). Была также создана филогения* из 125 неядерных генетических локусов* из транскриптомов, после чего был проведен сопоставительный анализ с рационом змей.
Филогения* результат филогенетического анализа, т.е. процесса выявления и объяснения эволюционных взаимоотношений между видами.
Локус* местоположение определенного гена на генетической или цитогенетической карте хромосомы.

Результаты исследования



Изображение 1

В ходе исследования была получена филогения посредством методов видового древа (схема выше) и конкатенации* с использованием последовательностей от 169 особей, представляющих 46 видов Agkistrodon, Crotalus и Sistrurus.
Конкатенация* объединение объектов линейной структуры в одну (например, слова микро и мир дают микромир). В генетике подход, основанный на конкатенации, представляет собой подход полного доказательства, который объединяет все сопоставления генов в суперматрицу.
Чтобы получить максимальное разнообразие в пределах исследуемой основной клады, выборка была расширена. В нее дополнительно были включены филогенетически отдельные подвиды и линии с описанным филогенетическим разнообразием, что привело к окончательному набору данных о 9 линиях Agkistrodon, 5 линиях Sistrurus и 54 линиях Crotalus.

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

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

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

Транскриптомная сложность, лежащая в основе ядов, варьировалась в 10 раз между линиями. При этом самый сложный транскриптом был у змей вида Sistrurus tergeminus edwardsii 45191 k-мер (последовательностей из k нуклеотидов); самый же простой транскриптом принадлежал виду Crotalus durissus terrificus 4723 k-мер.

Протеомная сложность яда также значительно различалась: наиболее сложная у Crotalus lepidus lepidus примерно 32 пика белка на хроматограммах; самая простая у Crotalus tigris в среднем 8 пиков.

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

Разнообразие у змей проявляется не только в аспекте видов, но и в аспекте потребляемой пищи (схема ниже), т.е. видового разнообразия добычи, которое варьировалось от 2.9 до 15 (среднее 6.7) видов и от 118 до 731 (среднее значение = 365) MPD (от million years of divergence, т.е. миллионов лет расхождения*).
Дивергенция (расхождение)* расхождение признаков и свойств у первоначально близких групп организмов в ходе эволюции.

Изображение 2

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

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


Изображение 3

Более детальный анализ показал положительную корреляцию между сложностью яда и MPD добычи, однако не было выявлено связи между видовым разнообразием и сложностью белков яда. Подобная ситуация наблюдалась и при анализе MPD и транскриптомной сложности: корреляция между ними была, но значимой связи между видовым разнообразием и транскриптомной сложностью яда не было.

Далее была выполнена оценка взаимосвязи между транскриптомной сложностью яда и филогенетическим разнообразием добычи на уровне семейства генов для четырех крупнейших семейств генов среди гадюк (SVMP, SVSP, PLA2 и CTL). Значимые положительные корреляции между сложностью транскриптомов и MPD добычи были обнаружены для семейства генов SVMP, SVSP и PLA2 (график ниже). Семейство генов CTL, однако, не показало значимой связи между MPD и сложностью транскриптомики.


Изображение 4

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

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

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

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

Эпилог


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

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

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

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

Пятничный офф-топ:

Порой единственное, что может спасти от неминуемой гибели, это скорость.

Благодарю за внимание, оставайтесь любопытствующими и отличных всем выходных, ребята! :)

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Maincubes Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Старение и бессмертие взгляд биолога

30.04.2021 02:06:43 | Автор: admin

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

Конечно, сегодняшняя заметка будет во многом философской. Таков уж предмет разговора. Начнём с того, являются ли старение и смерть универсальным законом природы, как то утверждает сказочница Урсула Ле Гуин.

Говоря о старении и естественной смерти, мы имеем в виду, прежде всего, многоклеточных животных. Среди одноклеточных и растений явления старения и смерти весьма размыты. Да, согласно новым научным данным, существует т.н. клональное старение штаммов микроорганизмов: для одних существует ограниченное количество делений митозом (бесполое размножение), для других биологические часы обнуляются лишь в одной из разделившихся половинок. Это т.н. репликативное старение. Многие исследователи говорят о хронологическом старении самих клеток простейших организмов. Но это лишь с одной стороны. С другой стороны, теоретически бессмертны растения, размножающиеся вегетативно. Кто может сказать, сколько лет существует традесканция, высаженная в горшок черенком, отделённым от традесканции из другого дома, и та, в свою очередь, когда-то была черенком Это всё один и тот же геном, один и тот же индивидуум, с генетической точки зрения. В центре пустыни Мохаве произрастает King Clone клональная колония креозотового куста (Larrea tridentata), возраст которой оценивается в 11700 лет.

Отдельно следует коснуться т.н. пренебрежимого старения. Это такая степень старения, когда практически невозможно установить корреляцию между возрастом и вероятностью смерти. Смерть наступает от случайных причин. Некоторые учёные считают, что понятие пренебрежимого старения применимо к людям, дожившим до 90-100 лет. Так, алеутский морской окунь (Sebastes aleutianus) живёт до 205 лет, моллюск исландская циприна (Arctica islandica) 400 лет, коробчатая каролинская черепаха (Terrapene carolina) 138 лет. Возраст антарктических губокScolymastra joubiniоценивается от 15 до 23 тыс. лет.

Наблюдения за гигантскими груперами (Epinephelus lanceolatus), длиной 2,5 м. и весом до 400 кг. (живут 100-120 лет) показали, что старые особи проигрывают конкуренцию молодым. Они менее поворотливы из-за огромных размеров, зачастую не имеют возможности спрятаться в пещеру. Но они не стареют. Они по-прежнему отлично видят малейшее шевеление усика креветки из-под дальнего камня. Они просто перерастают свою экологическую нишу.

Максимальная продолжительность жизни человека 120 лет.

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

Теперь попробуем классифицировать современные теории старения. Во-первых, следует выделить 2 большие группы эволюционных теорий старения.

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

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

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

Линия клеток HeLa из раковой опухоли шейки матки пациентки по имени Генриетта Лакс, умершей в 1951 г, считается бессмертной. В декабре 1960 года клетки HeLa первыми полетели в советском спутнике. В 1968 г. на борту советского космического аппарата Зонд-5 они облетели вокруг Луны. Эти клетки эволюционировали за прошедшие годы. Иногда они способны заражать культуры других клеток. Лен Ван Вален описал эти клетки как новый вид организмов Helacyton gartleri, впрочем, обычно биологи не относятся к последнему всерьёз.

Вот почему, изучение голых землекопов (Heterocephalus glaber) входит в список 25-ти научных идей для продления жизни. Голые землекопы грызуны, обитающие в полупустынях Кении, Эфиопии и Сомали. Живут колониями по 70-80 особей. Во главе колонии матка, или королева, которая спаривается с 2-3 самцами. Прочие особи колонии рабочие (как у общественных насекомых). Голым землекопам свойственна хладнокровность. Не чувствительны к боли и ожогам кислотой. Могут доживать до 31 года, что аномально для грызунов (мышь живёт около полутора лет). Не болеют раком. Длина теломер в клетке регулируется. Наносит вред полям батата.

Рассмотрим теперь теории, рассматривающие старение как следствие повреждения клеток. Это вторая группа теорий старения.

Действительно: в мире стареет всё. Изнашивается ботинок, точит вода камень, солнца превращаются в красные гиганты Эта группа теорий старения рассматривает старение как результат отсутствия программы репарации и способна вызвать некоторый психологический дискомфорт. Ведь написать программу это совсем не то, что просто её удалить, не так ли?

Рассмотрим одну из таких теорий, т.н. теорию накопления мутаций. Согласно этой теории, предложенной Питером Медаваром в 1952 году, естественный отбор препятствует накоплению вредных мутаций, проявляющихся до возраста, достижение которого необходимо организму для реализации репродуктивных функций. Далее действие естественного отбора ослабевает, и накопившиеся вредные мутации, проявляющиеся после прохождения организмом репродуктивного цикла, обеспечивают феноменологию старения. Очевидно, что домовой мыши с быстрым метаболизмом, маленьким тельцем и быстрым репродуктивным циклом, долгая жизнь ни к чему, другое дело огромный слон, которому необходимо выносить слонёнка. Не отвергая ценного наблюдения о существовании некоторой корреляции между длиной репродуктивного цикла и продолжительностью жизни, отметим, что на настоящий момент теория накопления мутаций остаётся гипотезой.

Гораздо ближе автору этих строк т.н. теория одноразовой сомы. Согласно этой теории, в процессе эволюции стоял вопрос об ограниченности ресурсов. Ресурсы могли быть потрачены на репарацию, а могли быть потрачены на другие функции. В итоге они были потрачены на репарацию (восстановление) ровно на столько, сколько необходимо для реализации репродуктивного цикла. Поскольку жизнь это эволюция нуклеиновых кислот И природа любит оптимизацию: у полихет множество параподий, у их потомков членистоногих число ног с повышением уровня организации сокращается. У речного рака 5 пар ходильных ног, у паука 4, у насекомых 3, а клопу водомерке для прыжков по воде достаточно 2 пары, 3-я пара передних лапок специализирована. В целом, данный взгляд на эволюцию старения разделяется основной частью биологического сообщества.

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

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

Человек мечтает о вечной молодости и бессмертии с тех пор, как осознал себя смертным. Николай Фёдоров, предтеча и вдохновитель Циолковского, мечтал о воскрешении в будущем всех, когда-либо живших, силами науки. Эта идея не так утопична, как может показаться на первый взгляд, если учесть, что человеческий разум трансформирует в природе всё, с чем не может смириться. Люди не могли смириться с тем, что не способны летать, и, в конце концов, создали летательные аппараты. Может ли человек смириться со смертью близких? Нет.

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

И вот тут нам придётся вступить в область научной фантастики.

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

Однако, будучи фантастом, я готов пойти в рассуждениях дальше. Что, если, при помощи генной инженерии, мы полностью перепрограммируем геном, и обновлённый организм будет, подобно плесени, постепенно прорастать в организме, подлежащем репарации? В конце концов, мы можем применить медицинские нанороботы, искусственный интеллект для замены изношенных органов. Было время, компьютер представлялся фантастикой. А теперь нейросети способны анимировать лица на фотографиях 150-летней давности Конечно, современные технологии перед тем, что предполагается - деревянные счёты на фоне современного компьютера, но... Есть целое новое направление: синтетическая биология. Существует такое понятие, как синтетический морфогенез контролируемое развитие органов, систем и частей тела организмов, посредством активации специфических молекулярных механизмов. Нужно лишь полностью выяснить механизмы, при помощи которых клетки самоорганизуются в сложные ткани. И если прописать в геном автоматическую программу Вряд ли такой бессмертный человек может быть отнесён к одному из существующих надцарств живой природы: эукариоты, либо прокариоты. Такие самообновляющиеся существа следует будет выделить в отдельное надцарство Да, я увлёкся фантастикой.

Однажды я беседовал обо всём этом со специалистом по старению (на тот момент кандидат наук, преподаватель МГУ). Он отвечал, что его мысли движутся в том же направлении.

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

Вдумайтесь, как мало живёт человек. Если вы увлекаетесь историей, палеонтологией, фантастикой, следите за политическими событиями, вам должно быть знакомо это чувство: вы никогда не узнаете, что будет через двести, тысячу лет Не увидите смены формаций, не увидите новой, посткайнозойской эры Не узнаете, есть ли жизнь в пределах иных звёздных систем. При том, что можете свободно перемещаться в воображении сквозь тысячелетия и эоны в прошлое. Доживём ли? Я считаю, что шанс дожить до ощутимого продления срока жизни у нас есть, а там глядишь, и... Конечно, увеличение численности населения предполагает освоение дальнего космоса...

Фридрих Энгельс полагал свободу осознанной необходимостью и говорил о скачке из царства необходимости в царство свободы. Именно о таком прыжке в царство биологической свободы, при условии познания биологических необходимостей, идёт речь. Ещё буддистские философы мечтали остановить колесо Сансары, бесконечный круговорот рождений, страданий и смертей. Жизнь в древней Индии была настолько тяжела, что эта остановка мнилась мрачным для современного человека способом: уходом в абсолютное небытиё. Когда я однажды впервые воспроизвёл биуретовую реакцию на белок в лаборатории, то вдруг осознал, что в этом и заключается конечный смысл науки биологии: остановить колесо, и каждая установленная учёными реакция, позволяющая идентифицировать те, или иные биологические молекулы, подобная этой, окрашивающей содержимое пробирки в лиловый цвет, каждая новая формула, приближает человечество к этому часу. Майский ветер с запахом пыльцы врывался в раскрытое окно, хотел бы я вновь пережить эту гамму чувств

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

Отдельно рекомендую прочесть:

О голых землекопах:

https://biomolecula.ru/articles/preodolevshie-starenie-chast...

О волшебной силе мейоза:

https://www.nkj.ru/archive/articles/24069/

Тюлин Д.Ю., кандидат биологических наук

Подробнее..

Короткий путь к Искусственному интеллекту?

07.07.2020 06:22:58 | Автор: admin
Давайте признаемся: мы как-то буксуем. Разработки в сфере ИИ, при всех значительных затратах, не дают ожидаемого выхлопа. Конечно, кое-чего получается, но дело идет медленно. Медленнее, чем хотелось бы. Может, задача не решается потому, что решается не та задача?

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



Чтобы понять, как работает интеллект, мы обращаемся к единственному примеру, который у нас есть. К человеческому мозгу, в котором, как мы считаем, живет интеллект. Кто-то возразит мозги есть у многих живых существ! Давайте начнем с червяков? Можно и с червяков, но нам нужен алгоритм, который решает не червяковые, а наши, человеческие задачи, верно?

Наш мозг. Представьте его себе. Два кило (по максимуму) податливого розовато-серого вещества. Сто миллиардов (тоже возьмем по максимуму) нейронов, каждый из которых готов отрастить до десяти тысяч динамических связей синапсов, которые могут то появляться, то исчезать. Плюс несколько типов сигналов между ними, да еще и глия сюрприз подкинула тоже что-то проводит, помогает и способствует. (Для справки: нейроглия или просто глия совокупность вспомогательных клеток нервной ткани. Составляет около 40% объёма ЦНС. Количество глиальных клеток в среднем в 10-50 раз больше, чем нейронов). Дендриты недавно удивили оказывается, они выполняют куда больше функций, чем считалось ранее (1). Мозг очень сложная штука. Если не верите спросите у Константина Анохина. Он подтвердит.

Человек все делает с помощью мозга. Собственно, мы это и есть он. Отсюда совершенно неудивительным является представление человека о том, что мозг = интеллект и еще более неудивительна идея скопировать устройство мозга и вуаля! получить искомое. Но мозг это не интеллект. Мозг это носитель. Железо. А Интеллект это алгоритм, софт. Попытки повторить софт через копирование железа это провальная идея. Это культ карго (2). Вы же знаете, что такое культ карго?

Аборигены островов Меланезии (увидев во время WWII, как самолеты привозят оружие, продовольствие, медикаменты и многое другое), соорудили из соломы копии самолетов и будку диспетчера, но никак не помогли себе в получении товаров, потому что не имели никакого представления о том, что скрывается за внешним видом самолетов. Так и мы, разобрав до винтиков калькулятор, не найдем внутри ни одной цифры. И, тем более, никакого намека на какие-либо операции с числами.

Пару лет назад Андрей Константинов в одном из номеров журнала Кот Шрёдингера (12 за 2017 г.), в своей колонке Где у робота душа, написал: Со времён Лейбница мы так и не нашли в мозге ничего, кроме частей, толкающих одна другую. Конечно не нашли! И не найдем. По компьютерному железу мы пытаемся восстановить программу, а это невозможно. В качестве подтверждающего аргумента приведу длинную цитату (3):

нейробиологи, вооружившись методами, обычно применяемыми для изучения живых нейроструктур, попытались использовать эти методы, чтобы понять, как функционирует простейшая микропроцессорная система. Мозгом стал MOS 6502 один из популярнейших микропроцессоров всех времён и народов: 8-битный чип, использованный во множестве ранних персональных компьютеров и игровых приставок, в том числе Apple, Commodore, Atari. Естественно, что мы знаем об этом чипе всё ведь он создан человеком! Но исследователи сделали вид, что не знают ничего и попытались понять его работу, изучая теми же методами, которыми изучают живой мозг.

Химически была удалена крышка, под оптическим микроскопом изучена схема с точностью до отдельного транзистора, создана цифровая модель (тут я немного упрощаю, но суть верна), причём модель настолько точная, что на ней оказалось возможно запускать старые игры (Space Invaders, Donkey Kong, Pitfall). А дальше чип (точнее, его модель) был подвергнут тысячам измерений одновременно: во время исполнения игр измерены напряжения на каждом проводке и определено состояние каждого транзистора. Это породило поток данных в полтора гигабайта в секунду который уже и анализировался. Строились графики всплесков от отдельных транзисторов, выявлялись ритмы, отыскивались элементы схемы, отключение которых делало её неработоспособной, находились взаимные зависимости элементов и блоков и т. п.

Насколько сложной была эта система по сравнению с живыми? Процессор 6502, конечно, и рядом не стоит с головным мозгом даже мыши. Но он приближается по сложности к червю Caenorhabditis elegans ломовой лошадке биологов: этот червь изучен вдоль и поперёк и уже предпринимаются попытки смоделировать его полностью в цифровом виде () Таким образом, задача анализа системы на чипе 6502 не является чрезмерным упрощением. И результаты имеют право быть экстраполированы на системы in vivo.

Вот только исследователи потерпели поражение! Нет, какие-то результаты, конечно, получены были. Анализируя чип, удалось выделить функциональные блоки, набросать схему их вероятных взаимосвязей, получить некоторые интересные подсказки насчёт того, как, вероятно, работает микропроцессор в целом. Однако понимания в том смысле, в каком его требует нейробиология (в данном случае: быть способным исправить любую поломку), достигнуто не было".

В какой-то момент появились исследователи, которые стали говорить примерно то же самое что надо изучать алгоритмы, что нужно понять, какую функцию выполняет интеллект. К примеру, Демис Хассабис (DeepMind), готовясь к выступлению на Singularity-саммите в Сан-Франциско (2010 г.), сказал следующее: В отличие от других выступлений на саммите по теме AGI, мой доклад будет другим, так как я интересуюсь системным уровнем нейронауки алгоритмами мозга а не деталями, как они реализуются мозговой тканью в виде спайков нейронов и синапсов или специфической нейрохимией и т. д. Я интересуюсь, какими алгоритмами мозг пользуется для решения проблем, и которые нам нужно найти, чтобы добраться до AGI.

Однако, спустя 10 (!!!!!) лет, все идет по-прежнему: ученые исследуют мозг и пытаются из внешних проявлений физиологической активности и его внутреннего устройства вычислить, как происходит интересующий процесс. Сколько задач столько процессов. Люди все разные. Мозги у всех немного, но отличаются. Некая усредненная картина, конечно, имеется, однако Представьте себе, что в любой произвольный момент времени мозг решает массу, в том числе и подсознательных задач, отслеживает и контролирует внутреннее состояние организма, воспринимает и интерпретирует сигналы внешней среды (и это мы не говорим о многочисленных петлях обратной связи). Сможем ли мы уверенно выявить, надежно идентифицировать и четко отделить эти активности одну от другой? Возможно ли это в принципе? Честно говоря, сомневаюсь. Не говоря уже о воспроизводимости этих процессов на небиологических носителях

Просмотрим на ситуацию иначе. Что такое задача вообще? Это затруднительная ситуация, с которой сталкивается, и которую пытается разрешить человек. Как показали в середине прошлого века американские математики Герберт Саймон и Аллен Ньюэлл, любая задача в общем виде может быть описана как переход из состояния Система с проблемой в состояние Система без проблемы. Они разработали компьютерную программу, назвав её General Problem Solver (Универсальный решатель задач), но дальше решения задач специфического вида они не продвинулись, поэтому универсальность именно их алгоритма осталась под вопросом. Но формула Система с проблемой --> Система без проблемы оказалась абсолютно верна!



Преобразование Системы это процесс ее перевода из исходного состояния с проблемой в желаемое состояние без проблемы (4). В процессе преобразования, (т. е. решения задачи) проблемная система становится беспроблемной (ну или менее проблемной), улучшается, избавляется от своих недостатков и выживает, т. е. продолжает использоваться. Ой, погодите, что это мы сейчас сказали? Избавление от недостатков? Выживание? Хм Что-то знакомое. Где-то мы это Ах, ну да. Эволюция! Чем меньше недостатков тем больше шансы выжить!

Давайте проверим себя, вспомним и повторим основной постулат: в живой природе бОльшие шансы на выживание имеют организмы, обладающие бОльшим числом полезных свойств (ну, условно рога ветвистее, хвост пышнее). Если же у организма перья бледнее, а голос противнее (вредные свойства), то, скорее всего, жизнь его будет недолгой и пройдет в одиночестве. В итоге, давление отбора ведет к тому, что организмы избавляются от недостатков и становятся все более и более жизнеспособными. Если не верите спросите у сэра Чарльза Дарвина. Он подтвердит.

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

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

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

Кто-то мне сейчас наверняка возразит: задачи, которые решает человек, связаны с миллионами самых разных систем природными, общественными, производственными, техническими Материальными и абстрактными, находящимися на разных уровнях иерархии. И развиваются-де они каждая по-своему, а дарвиновская эволюция это про живую природу. Зайчики, цветочки, рыбки, птички Но исследования показывают, что законы эволюции универсальны. Доказательства долго искать не надо они все перед глазами. Имеющие их да увидят. Что ни возьми от спички до Боинга, от танка до контрабаса везде (5) мы видим наследственность, изменчивость и отбор! А все многообразие эволюционных изменений (кажущаяся сложность которых связана с тем, что все системы очень разные по своей природе и находятся на разных уровнях иерархии) можно выразить единственным циклом. Вы же помните, да? Система с проблемой --> Система без проблемы.

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



Исходная точка Система с проблемой. Мы начинаем задумываться о том, чтоб отказаться от её использования. Момент, который мы называем (или ощущаем) Надо что-то делать!
Причина, угрожающая выживанию системы низкая идеальность, выражающаяся в пониженной величине отношения полезных функций системы к функциям затратным (вредным).

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

В связи с тем, что представленная выше Схема описывает процесс развития, улучшения или, если хотите, эволюции любых систем (в чем легко убедиться, подставив вместо слова Система любое иное по желанию от Абажур до Якорь), я думаю, ее смело можно и даже нужно! назвать Универсальной Схемой Эволюции. И обратите внимание она абсолютно алгоритмична, т. е. полностью подпадает под определение алгоритма: Алгоритм точное предписание о выполнении в определённом порядке некоторой системы операций, ведущих к решению всех задач данного типа. значит может быть реализована в виде компьютерной программы).

В представленном виде Универсальная Схема Эволюции:
естественная законы эволюции выявлены в системах самого разного типа, и их действие проверено в технике, производстве, обществе, природе и мышлении;
объективная законы эволюции не зависят от мнения исследователя и/или пользователя;
логичная и непротиворечивая законы эволюции вытекают один из другого;
полная набор законов эволюции достаточен для описания любой системы;
жесткая законы эволюции нельзя переставлять и
замкнутая законы эволюции образуют цикл: система, пройдя один цикл изменений, тут же начинает новый.

Что у нас получается в итоге: Эволюция системы (представленная в виде Универсальной Схемы) это путь её улучшения, избавления от недостатков. Иными словами, это алгоритм решения задачи. А решение задачи это именно то, чем занимается интеллект. Упрощаем и получаем: Универсальная Схема = описание функции интеллекта.

Конструктивная критика приветствуется. :)



1. Дендриты важнее для мозга, чем ранее считалось chrdk.ru/news/dendrity-vazhnee-chem-schitalos
2. ru.wikipedia.org/wiki/Карго_культ
3. Е. Золотов. Пойми меня! Как неживое помогает разбираться в живом www.computerra.ru/161756/6502
4. Chapter 6. Problem Solving. Artificial Intelligence. A Knowledge-Based Approach by Morris W.Firebaugh University of Wisconsin Parkside PWS-Kent Publishing Company Boston 1988, p. 172.
5. Дарвиновская эволюция в мире техносферы. Мир вещей, создаваемый человеком, развивается по тем же законам, что и живая природа. www.ng.ru/science/2017-01-11/14_6899_evolution.html
Подробнее..

Перевод ARMv9 в чем преимущество?

06.04.2021 18:11:06 | Автор: admin

Что такое масштабируемые векторные расширения (Scalable Vector Extension)? Что они значат для индустрии и пользователей?

Если вы пользуетесь мобильным телефоном, то скорее вы знаете, что такое процессор ARM. Он является сердцем вашего смартфона, а недавно появился в новом поколении Mac. Процессоры ARM также появляются в серверах.

Мы находимся на пороге серьезных изменений в индустрии, которых не происходило уже несколько десятилетий. x86 доминирует в компьютерной индустрии уже продолжительное время, но активное развитие ARM, вероятно, станет серьезной проблемой для x86.

В этом году ARM выпустила архитектуру следующего поколения, которая задаст курс отрасли на следующее десятилетие, ARMv9. Это важное событие, которое заслуживает пристального внимания.

Есть много вещей, о которых стоит поговорить, но наиболее важной темой является стандартизация того, что мы называем масштабируемым векторным расширением (Scalable Vector Extension 2, SVE2). Вы наверняка слышали про наборы инструкций SIMD (Single Instruction Multiple Data, одиночный поток инструкций, множественный поток данных), такие как MMX, SSE, AVX, AVX-512 от Intel или Neon от ARM. Однако вы можете не знать, для чего они нужны. Я постараюсь объяснить, что отличает SVE/SVE2 от более старых наборов инструкций SIMD.

Знали ли вы, что Fujitsu сыграла важную роль во всем этом? Мы наблюдаем своего рода возвращение к супервычислениям старой школы, которые встречались в суперкомпьютерах Cray-1 несколько десятилетий назад. Фактически компания Cray не умерла и сейчас занимается созданием суперкомпьютеров на базе ARM: LRZ to Deploy HPEs Cray CS500 System with Arm Fujitsu A64FX Processors.

Суперкомпьютер Cray-1, 1976 год. Высота примерно 1.8м, диаметр 2.1м.

ARMv9 это процессор, который я могу купить в магазине?


Это не то же самое, когда Intel или AMD выпускают новый микропроцессор, который вы можете купить и установить в ПК для повышения производительности. ARMv9 не имеет физического воплощения. Это новая микропроцессорная архитектура, которая обратно совместима с предыдущими поколениями ARM, такими как ARMv8.

Позвольте мне объяснить, как это работает. Множество компаний по всему миру, таких как Qualcomm, Apple, Fujitsu Ampere Computing, Amazon, проектируют собственные микропроцессоры. Это многоступенчатый процесс. Например, ни Apple, ни AMD не производят собственные чипы. Вместо этого они разрабатывают дизайн микросхемы, а затем отправляют его на заводы, например, Global Foundries или TSMC. Там дизайн травят на кремниевых пластинах, которые затем разрезают на отдельные микрочипы и упаковывают.

Компания ARM Ltd. не похожа на Qualcomm или Ampere Computing. Они не производят готовые чертежи, которые можно передавать на завод. Вместо этого они продают чертежи интеллектуальных блоков. Компании вроде Apple могут купить эти блоки и объединить их в итоговый чертеж, который отправится на фабрики.

Система-на-Кристалле ARM Neoverse N1, произведенная TSMC
Но это все очень вариативно. Например, у вас есть чертежи реальных микропроцессорных ядер, таких как Neoverse N1. Другая компания может купить этот дизайн, открыть в инструментах для проектирования, скопировать четыре ядра, нарисовать несколько линий соединения, добавить кэш-памяти, и вот у них получился новый микропроцессор. В реальной жизни этот процесс, конечно, сложнее, но основную мысль, думаю, вы поняли.

ARMv9, как и предыдущий ARMv8, не законченный чертеж, который регламентирует соединение транзисторов. Это то, как вы размещаете транзисторы для достижения высокопроизводительной архитектуры. Мы называем это микроархитектурой.


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

ARMv9 это архитектура центрального процессора, что-то более абстрактное. Это похоже на соглашение между аппаратным и программным обеспечением. Архитектура обозначает, какие регистры должны быть на микропроцессоре и сколько бит они должны содержать, какие инструкции необходимо поддерживать и куда записывать результат после выполнения инструкции.

Пример инструкций для загрузки чисел из памяти по адресам 14 и 23 в регистры x1 и x2 соответственно, сложения содержимого регистров и записи результата в x3.

load x1, 14       ; x1  memory[14]load x2, 24       ; x2  memory[24]add  x3, x1, x2   ; x3  x1 + x2

Чтобы узнать больше, читайте: How Does a Modern Microprocessor Work?

Архитектура процессора важна для разработчиков инструментов. Программное обеспечение, такое как компиляторы и линковщики, работает с заданной архитектурой. Это значит, что выпуск ARMv9 равнозначен выпуску нового стандарта для разработчиков программного и аппаратного обеспечения. Пока Apple, Ampere и Qualcomm производят оборудование, которое понимает инструкции, указанные в спецификации ARMv9, программное обеспечение, производящее код для этой спецификации, будет работать.

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

Что нового в ARMv9?


Чтобы показать, насколько большой вклад производит выпуск новой архитектуры, мы вспомним про ARMv8. ARMv8 была выпущена восемь лет назад и стала первой 64-битной архитектурой компании ARM Ltd. Микропроцессоры на базе ARMv7 были 32-битными. Это означало, что регистры внутри ЦП могли работать только с числами, которые содержали не более 32 двоичных цифр.

Появление ARMv8 было важным событием для Apple, так как это позволило им неожиданно рано для индустрии перейти на 64-битную архитектуру. Это дало iPhone и iPad фору. Несомненно, Apple хотела заниматься высокопроизводительными архитектурами как можно быстрее, поэтому они стремились создать процессоры ARM для настольных компьютеров.

Если упростить, то можно сказать, что ARMv8 это архитектура для настольных компьютеров. ARM сделала шаг от телефонов в мир настольных компьютеров и серверов.

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

Я не рассказал, что такого особенного в векторах и что это такое. Они имеют большое значение для науки. Старые суперкомпьютеры, такие как Cray-1, были созданы для векторной обработки, то есть для обработки огромного количества векторов.

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

Именно это приходит в ARMv9 благодаря добавлению целого ряда новых инструкций, которые называются SVE2, или Scalable Vector Extension 2. Другими словами, процессоры ARM становятся все более похожими на старые суперкомпьютеры.

Для дополнительного чтения: ARM, x86 and RISC-V Microprocessors Compared.

Суперкомпьютер в кармане


Почему ARM сегодня выбирает архитектуру как у суперкомпьютеров? Что происходит?

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

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

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

Читать далее: RISC-V Vector Instructions vs ARM and x86 SIMD.

ARM и высокопроизводительные вычисления


Следующим шагом после настольных компьютеров и серверов, естественно, являются высокопроизводительные вычисления (High Performance Computing, HPC). Настоящие суперкомпьютеры. В далеком прошлом в этом сегменте доминировали специальные аппаратные решения, такие как ARM, а затем появились крупные центры обработки данных с серийным оборудованием x86 и мощными видеокартами.

Intel и AMD хорошо зарабатывают на этом рынке, поскольку машинное обучение и анализ данных стали гораздо более распространенными и важными. Естественно, ARM хочет получить кусок этого рынка. Первым серьезным шагом стал микропроцессор Fujitsu A64FX на базе ARM.

У Fujitsu есть опыт построения Cray-подобных компьютеров с векторной обработкой. Они объединились с ARM, чтобы расширить процессоры ARM набором инструкций Scalable Vector Extension. Таким образом, это не изобретение ARM, а адаптация уже существующего набора инструкций для высокопроизводительных вычислений к процессорам ARM.

Эта комбинация, используемая для A64FX, стала основной для создания самого мощного суперкомпьютера в мире: Japans Fugaku gains title as worlds fastest supercomputer.

Процессор A64FX на архитектуре ARMv8, разработанный Fujitsu для высокопроизводительных вычислений. Это первый процессор с Scalable Vector Extension.

Но следует помнить об одном важном факте: это было расширением и не является частью спецификации ARMv8. То есть ваши iPhone или iPad с процессором на ARMv8 не может запускать код, созданный для суперкомпьютера Fugaku, потому что у них нет поддержки инструкций SVE.

Для сравнения, в ARMv9 такие инструкции стали частью стандарта. Именно поэтому я говорю, что ARM кладут суперкомпьютер в карман.

Но есть и более сложная история, которая требует более подробного рассмотрения. Как видите, ARM предлагает создавать процессоры, которые способны выполнять один и тот же код вне зависимости от их стоимости и мощности.

Они делают это таким образом, что прирост производительности обычного кода может превышать определенные ранее пределы. Подобные вещи невозможны с решениями, которые Intel и AMD использовали с инструкциями AVX для своих микропроцессоров x86.

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


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

Что такое вектор?


Вектор это просто причудливый математический термин для списка чисел. Например:

[3, 5, 9]

Удобно работать со списками чисел, обращаясь к ним по имени или иному идентификатору. Например, два вектора с именами v1 и v2.

v1  [3, 2, 1]      v2  [1, 2, 2]

И вот способ выразить, что я складываю векторы и сохраняю результат в v3.

v3  v1 + v2  ; v3 должен быть [4, 4, 3]

Почему я использую стрелки ()? Это полезно при объяснении того, что происходит внутри компьютера, потому что обычно мы храним числа в некоторой области памяти. Эта память может быть пронумерована или названа. Внутри микропроцессора есть небольшая область памяти, которая разделена на фрагменты, называемые регистрами. В микропроцессорах ARM эти регистры имеют имена, такие как x0, x1, , x31 или v0, v1, , v31.

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


Упрощенная схема микропроцессора. Числа из памяти передаются по цветным линиям, которые называются шинами. Регистры подают числа на вход математическим сопроцессорам или другим блокам, которые выполняют вычислительные операции.

Противоположность векторам скалярная величина. Это причудливое словосочетание для отдельных чисел. Итак, простой пример для скалярных операций с использованием стрелочной нотации.

x1  3        ; записать 3 в x1x2  4        ; записать 4 в x2x2  x1 + x2  ; сложение x1 и x2 дает 7

Векторы используются для многих вещей. Даже если вы не программист, вероятно, вы использовали приложение для работы с таблицами, например, Microsoft Excel. Столбец в таблице можно рассматривать как вектор. Обычно мы рассматриваем его как один логический элемент. Например, мы можем сложить все элементы в столбце или добавлять каждую ячейку столбца с каждой ячейкой на той же строке, но в другом столбце. Примерно это происходит внутри процессора, когда мы складываем два вектора. Вместе несколько столбцов образовывают таблицы. Говоря математическим языком, несколько векторов образуют матрицы. То есть набор чисел, организованных в строки и столбцы.

Представьте, что столбцы Amount и Unit Cost это векторы. Столбец Total Cost это результат поэлементного математического вычисления двух векторов.

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

Хотя современные компьютеры обычно не работают с матрицами, вычисления на матрицах можно ускорить с помощью векторов. Вот почему векторные инструкции важны для ускорения машинного обучения, распознавания изображений и речи. Математика векторов и матриц называется линейной алгеброй. У меня есть вступление для любопытных: The Core Idea of Linear Algebra.

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

SIMD против векторных инструкций


Технически ARM Neon и SVE являются формой SIMD (Single Instruction Multiple Data). Под этими инструкциями мы подразумеваем такие вещи, как сложение, вычитание и умножение. Таким образом, основная идея SIMD заключается в том, что вы отправляете одну инструкцию для процессора, а он выполняет одну и ту же операцию с несколькими значениями одновременно.

Один поток инструкций, один поток данных (SISD) и один поток инструкций множественные потоки данных (SIMD)
Подобные наборы инструкций существуют уже некоторое время. Вы, наверное, слышали про наборы инструкций MMX, SSE, а теперь и AVX на микропроцессорах x86 Intel и AMD. Они были созданы, чтобы выполнять обработку мультимедиа, такую как кодирование и декодирование видео. Инструкции ARM Neon наиболее похожи на них. Эти инструкции выглядят так:

LDR v0, [x4]    ; v0  memory[x4]LDR v1, [x6]    ; v1  memory[x6]ADD v4.16B, v0.16B, v1.16B STR v4, [x8]    ; v4  memory[x8]

В этом примере скалярные регистры x4, x6 и x8 содержат адреса в памяти, по которым располагаются числа в памяти.

Инструкция LDR загружает числа из памяти в регистр. Инструкция STR делает обратное: записывает числа из регистра в память.

Инструкция ADD выглядит странно. Почему там есть суффикс .16B после имени каждого регистра?

Дорожки в векторной обработке


Векторные регистры, такие как v0 и v1, имеют размер 128 бит. Что это значит? По сути, это максимальное количество двоичных разрядов, которые может содержать векторный регистр.

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

128/8 = 16

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

ADD v4.2D, v0.2D, v1.2D

В терминах микропроцессора мы называем 32-битное число машинным словом (word), а 64-битное число двойным машинным словом (double-word). Таким образом, .2D означает два двойных слова, а .4S четыре одинарных.

128/32 = 4

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

Количество элементов, на которые мы разбиваем регистр во время вычисления, определяет, сколько дорожек будет настроено для вычислений. Подумайте о дороге, где числа, словно машины, идут параллельно по нескольким полосам. Ниже приведен пример этого. У нас есть регистры v1 и v2, которые используют для вычислений, а результат сохраняется в регистр v3. Таким образом, мы разбиваем на два элемента (.2D), и у нас есть две дорожки для вычислений. Каждая дорожка получает одно арифметико-логическое устройство (АЛУ).

Сколько АЛУ используется в SIMD-вычислениях. У нас есть две дорожки вычислений. Каждая дорожка обслуживается одним АЛУ.

Если вам не нравятся мои иллюстрации, то вот иллюстрация ARM, которая демонстрирует задумку на четырех дорожках.

Сложение регистров v8 и v9 с четырьмя дорожками

Проблемы с инструкциями SIMD


Инструкции SIMD, подобные тем, которые вы видите ниже, могут выполняться с разными аргументами.

ADD v4.2D, v0.2D, v1.2D ADD v4.4S, v0.4S, v1.4S

Однако они кодируются как отдельные инструкции. Это быстро выходит из-под контроля, что хорошо видно на примере x86. Intel начала с MMX, затем появились SSE, SSE2, AVX, AVX2 и наконец AVX-512. MMX, например, имел 64-битные векторные регистры, поэтому вы могли выполнять параллельную работу над двумя 32-битными регистрами или восемью 8-битными.

Со временем, когда транзисторов становилось все больше, было принято решение сделать новые векторные регистры большего размера. Например, SSE2 имеет 128-битные регистры. В конце концов этого оказалось недостаточно, и мы получили AVX, а AVX2 предоставил нам 256-битные регистры. Теперь, наконец, AVX-512 представил нам невероятные 512-битные регистры. Итак, теперь мы можем вычислять шестьдесят четыре 8-битных значения цвета параллельно.

Каждый раз, когда Intel делала доступными регистры большего размера, им приходилось добавлять множество новых инструкций. Почему? Потому что длина векторного регистра прописана в инструкции SIMD. Например, инструкция ADD потребуется для:

  1. Каждого регистра длиной 64, 128, 256 или 512 бит.
  2. Для каждого из регистров нужен отдельный вариант с нужным числом дорожек.

Таким образом, добавление инструкций SIMD привело к резкому увеличению числа инструкций, особенно для x86. И конечно же, не каждый процессор поддерживает эти инструкции. Только новые будут поддерживать AVX-512.

Почему ARM не следует стратегии AMD и Intel


Эта стратегия не работает для ARM. У Intel и AMD простая миссия. Они просто пытаются сделать самые мощные узкоспециализированные процессоры, которые они могут выпустить в любое время в магазин.

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

И действительно, ARM предлагает разные профили для разных сегментов рынка. Но ARM по-прежнему заинтересованы в том, чтобы одно программное обеспечение могло работать с широким спектром их процессоров.

SVE и SVE2 позволяют ARM задавать разную физическую длину векторных регистров для каждого типа микросхем. В SVE/SVE2 векторный регистр должен иметь длину от 128 до 2048 бит. Для смартфоном с низким энергопотреблением они могут продавать дизайны с 128-битными векторными регистрами, а для суперкомпьютеров с 2048-битными.

Красота SVE в том, что один код будет работать как на суперкомпьютере, так и на дешевом телефоне. Это невозможно с инструкциями SIMD x86. Хотя я не являюсь экспертом по асемблерному коду ARM, судя по тому, как выглядит код при использовании Neon и SVE, мне кажется, что последний будет более эффективным даже при равной длине векторного регистра.

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

SVE в действии


Если мы посмотрим на инструкции Neon, то они кодируют количество дорожек так же, как указано в предыдущем примере.

ADD v4.2D, v0.2D, v1.2D ADD v4.4S, v0.4S, v1.4S

Но если мы переведем это в инструкции SVE, то мы увидим что-то подобное.

ADD v4.D, v0.D, v1.D ADD v4.S, v0.S, v1.S

Это означает, что мы больше не указываем, сколько дорожек вычислений мы выполняем. Используя инструкции SVE при компиляции, мы не знаем, сколько дорожек будет использоваться, поскольку не знаем длину векторного регистра.

Предикация


Вместо этого в SVE используется то, что мы называем предикацией. Есть набор специальных регистров p0, p1, , p15, которые работают как маски для вычислительных дорожек. Их можно использовать для включения или выключения дорожек. Таким образом, использовавшаяся ранее инструкция сложения выглядела бы так:

ADD v4.D, p0/M, v0.D, v1.D

Теперь у нас есть дополнительный аргумент p0/M, который позволяет процессору сохранять результаты сложения v0 и v1 в v4 только когда соответствующий элемент p0 равен логической единице (истина). В псевдокоде это выглядит следующим образом.

while i < N   if p0[i] == 1      v4[i] = v0[i] + v1[i]   else      v4[i] = v0[i]   end   i += 1end

Регистр предикатов используется, например, для загрузки и сохранения данных. Пример для загрузки данных из памяти.

LD1D z1.D, p0/Z, [x1, x3, LSL #3]

Здесь происходит несколько процессов, поэтому необходимо некоторое объяснение. [x1, x3, LSL #3] это типичный для ARM способ указания адреса памяти. Это можно прочесть так:

base_address = x1 + x3*2^3z1  memory[base_address]

Но поскольку мы используем предикат, то это не совсем правильно. Нам нужно отфильтровать то, что загружается. Более точно это выглядит так:

base = x1 + x3*2^3while i < N   if p0[i] == 1      v1[i] = memory[base + i]   else      v1[i] = 0   end   i += 1end

Эта концепция с масками существует во многих языках высокого уровня например, в Python, R и Julia. Пример на языке высокого уровня может помочь донести идею. Пример из командной строки Julia, но должно быть аналогично в Python и R.

julia> mask = [false, true, true, false];julia> A = [2, 4, 8, 10];julia> B = [1, 3, 7, 9];julia> A[mask]2-element Vector{Int64}: 4 8 julia> B[[true, false, false, true]]2-element Vector{Int64}: 1 9 julia> A[mask] + B[mask]2-element Vector{Int64}:  7 15

В этом примере вы видите, что у нас есть векторы с четырьмя элементами. Мы используем маску, аналогичную регистрам предикатов, для выбора двух средних элементов.

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

Как работать с вектором неизвестной длины


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

Это помогает нам значительно упростить код векторной обработки и избежать необходимости знать точную длину вектора. Допустим, нам нужно обработать шесть 32-битных значений. То есть N = 6, и это единственное, что вы знаете во время компиляции. Инструкции Neon будут выглядеть так:

ADD v4.4S, v0.4S, v1.4S  ; v4  v0 + v1

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

С SVE этого делать не придется. Вместо этого нам приходит на помощь волшебная инструкция WHILELT. Вот пример:

WHILELT p3.s, x1, x4

Но что она делает? Я объясню на примере псевдокода. Допустим, есть M дорожек для векторной обработки. Вы не знаете значение M до начала выполнения, но, допустим, что M = 4. Тем не менее, мы знаем количество элементов, которые хотим обработать, то есть N = x4 = 6. Инструкция WHILELT (WHILE Less Than, пока меньше чем) работает так:

i = 0while i < M   if x1 < x4      p3[i] = 1   else      p3[i] = 0  end  i += 1  x1 += 1end

Таким образом, если мы представим выполнение этих векторных операций в цикле, то на первой итерации p3 будет выглядеть так:

x1 = 0p3 = [1, 1, 1, 1]

На второй итерации в какой-то момент x1 станет больше, чем x4, поэтому получаем следующее:

p3 = [1, 1, 0, 0]

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

Так работает вся обработка SIMD. Вы обрабатываете партии чисел. Так, например, если вам нужно обработать 20 элементов, а ваш векторный регистр вмещает 4 дорожки, то вы можете сделать всю работу за 5 итераций (54 = 20). Но что если у вас 22 элемента?

Вы не можете выполнить полный пакет из четырех элементов. Таким образом, вам нужно доделать остатки вручную, по одному элементу за раз. С регистрами предикатов такой проблемы нет. Вы просто убираете из маски последние элементы. Это работает и с записью элементов в память.

Операции загрузки и сохранения


Другой важной особенностью SVE-инструкций является поддержка того, что мы называем операциями сборки-разборки (gather-scatter). Это означает, что вы можете заполнить векторный регистр данными, которые распределены по нескольким ячейкам памяти, всего за одну операцию. Точно так же вы можете записывать результаты из вектора в несколько местоположений. Принцип аналогичен тому, что мы обсуждали с предикатами.

Почему это полезно? В языках программирования более высокого уровня данные хранятся обычно следующим образом.

struct Sale {    int unit_price;    int sold_units;    int tax;}Sale sales[1000];

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

Есть много таких деталей, которые позволяют применять SVE-инструкции к гораздо большее разнообразному коду. Можно векторизовать больше циклов for, что дает больше возможностей для повышения производительности.

Что предлагает SVE2?


Здесь, вы, естественно, задаетесь вопросом, а что добавляет SVE2, чего еще нет в SVE?

Расширение SVE было необязательным для архитектуры ARMv8. В то время SVE2 это часть стандарта. Это означает, что Neon и SVE получили еще более тесную интеграцию. В SVE добавлены инструкции, которые делают SVE2 заменой Neon. Теперь вы можете делать все, в чем был хорош Neon с помощью SVE2.

Помните, SVE создавался только для суперкомпьютерных вещей, а для мультимедийных рабочих нагрузок, для которых создавался Neon? Мультимедийным материалам обычно не нужны длинные регистры. Рассмотрим цветной пиксель, закодированный как RGBA. Это четыре 8-битных значения, которые помещаются в 32-битный регистр.


Каждый пиксель состоит из четырех компонент: красный, зеленый, синий цвета и прозрачность. Каждый байт должен вычисляться независимо. Мы можем сделать это, используя 32-битный векторный регистр с 4 дорожками.

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

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

Им не нужно каждые несколько лет добавлять множество новых SIMD-инструкций. SVE2 дает фундамент с большой стабильностью и хорошим пространством для роста.

Последствия для пользователей, разработчиков и отрасли


Для разработчиков это значит, что написание и оптимизация кода ARM станет проще. Разработка программ для машинного обучения, распознавания лиц и голоса станет проще. Не придется беспокоиться, поддерживает ли целевая платформа нужные инструкции.

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

ARM также будет все больше вытеснять Intel и AMD из прибыльного бизнеса в центрах обработки данных. Я не являюсь экспертом по дизайну микросхем, но, видя, как RISC-V использует этот набор инструкций и понимает все преимущества, мне кажется, что Intel и AMD совершили ошибку, когда отказались от ARM. Их стратегия с SIMD не кажется мне разумной. Подозреваю, что эта ошибка будет их преследовать.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru