Спасибо за статью. Был бы рад увидеть продолжение: у Вас очень не плохо получается излагать тему на бумаге, а «введение» можно считать эталоном по привлечению внимания читателя и краткому изложению сути и структуры последующего повествования. Надеюсь, что обсуждение не будет скатываться на избитые флеймы креоценизм vs эволюция. Вместо этого интересно разобраться в уже известных принципах устройства живого и выявить вопросы о неизвестном. На практике, известное выльется в технологии, а не известное — в эксперименты.
Давно уже интересуюсь и биологией и теорией эволюции как областями смежными — через теорию хаоса/самоорганизации сложных систем/конечными автоматами — с той же IT-отраслью. Интересно, какие принципы живого помогут создать сложные искусственные системы — искусственный интеллект, искусственная жизнь, роботы…
Но прочитав несколько книг, самыми интересными из которых были «Геном» Мэтт Ридли и «Рождение сложности. Эволюционная биология сегодня. Неожиданные открытия и новые вопросы» Александра Маркова, так и остались вопросы, мешающие «во всём дойти до самой сути».
Например, Вы пишете «Все гены наследуются парами (аллелями)» — понятно, что имелись ввиду гены достаточно сложных живых организмов, т.к. у простейших никакого парного наследования, вроде, нет. Да и рекомбинация генов может происходить бесполовым путём, у тех же бактерий.
Вопрос в том, почему у сложных организмов возникает «потребность» (суть преимущество, поддержанное отбором) в парном наследовании генов?
И почему геном у сложных организмов состоит из десятков, а иногда и из тысяч хромосом, против единственной у бактерий? Зачем?
Ответы на эти вопросы могут быть интересны и чистому IT-шнику. Дело в том, что пресловутый генетический алгоритм является моделью лишь примитивной рекомбинации — половых хромосом в классическом ГА нет, геном состоит лишь из одной хромосомы, данные и алгоритм (soft) чётко отделены от «железа» (в живой клетке такой чёткой границы отделяющей «программу» от «исполняющего устройства» нет) И если природе понадобилось усложнить механизм, то поняв необходимость этого усложнения, можно усовершенствовать эволюционные алгоритмы. И наоборот…
>моделирование нервной системы нематоды C. Elegans, включая сенсорные клетки. Модель уже создана и помещена в виртуальную 3D-среду, с которой она может даже взаимодействовать.
Но назвать фракталом можно. Так же как Землю земным шаром, а Луну круглой, рискуя, конечно, напороться на опровержение, что Луна не круглая, а Земной шар — это не шар.
На рисунке 21 — изображение фрактала, заданное алгоритмом:
«линия ползет, постепенно утончаясь и закручиваясь, пуская подобные себе „отростки“».
Думаю, ключевое слово — «похоже».
Некоторые фигуры автора (по ссылке) действительно похожи на фрактал. И требование «бесконечного повтора» излишне для оценки похожести.
Когда мы рассуждаем о похожести реального или нарисованного художником объекта на фрактал — требования сколь угодно большого увеличение масштаба слишком строгое и подходит только к идеальным объектам.
Например береговая линия или разветвлённое дерево при увеличении масштаба оказываются чем-то похожими на самих себя. Но не при сколь угодно большом увеличении масштаба.
Не в строгом смысле и береговую линию и разветвлённое дерево допустимо называть фракталами или фрактальными объектами — имеющими свойства фракталов).
Да, в примерах этого топика — не фракталы, но, кстати, по ссылке автора на основную коллекцию его произведений не трудно найти фигуры, которые можно назвать фракталами (ведь строго определения нет) — части которых подобны всей фигуре по крайней мере несколько итераций.
«Этот тест показывает, что групповое взаимодействие других животных является неосознанным, т.е. животное не осознает ни себя, ни товарищей как личностей»
Ещё вопрос:
А как убедились, что тест показывает не столько возможность человека (от 4 лет) и шимпанзе ответить на вопрос теста, сколько принципиальную возможность довести достаточно сложный вопрос «Где Салли будет искать свой шарик» только до человека и шимпанзе?
Спасибо за любопытную статью.
Но некоторые гипотезы и следующие из них бездоказательные утверждения (про глобус :-)) спорны (и за это тоже спасибо) из-за зацикленности на приматах.
Интересно посмотреть в сторону других стадных животных, которые миллионы лет назад научились общаться голосом и выстраивать иерархии.
Количество бизонов в стадах, львов в прайдах, волков в стаях — тоже больше 10-ка, и общаются голосом/ультразвуком. Про рыб в косяках симметрично молчу. Их сообщества часто требуют организованных действий. Вот сейчас в Якутии отстреливают стаю волков в 400 голов.
Поэтому, как мне кажется, само по себе наращивание коммуникативных способностей млекопитающих и «социальность» не объясняет качественного скачка человека. Точнее, почему именно при таком-то пороге коммуникативных способностей и произошёл качественный скачок, а не раньше — остаётся не понятным.
Интересно, крысы, собаки, волки, кошки, дельфины проходят тест Салли и Энн?
Есть «техническая» версия, что качественный скачок обусловлен увеличению количества слоёв в неокортексе.
>Поэтому для первой задачи достаточно проверить только одну карточку!
И какую же?
Если переворачиваем первую карту и видим чётную цифра, а под 3-ей — гласная -> правило опровергнуто.
Если переворачиваем первую карту и видим чётную цифра, а под 3-ей — согласная -> правило доказано.
Но чтобы опровергнуть или доказать правило, 3-ью таки надо перевернуть.
Лучше — правдоподобно дезинформировать. Если нельзя технически скрыться, то лучше применять такой классический метод сокрытия, как дезинформация / маскировка
Спасибо за статью! Только теперь получил возможность оставить комментарий, так как именно ваш обзор вдохновил меня опубликовать близкие по теме идеи в отдельной статье и получить инвайт. Было интересно обнаружить, что уже напридумано столько методов по теме нейроэволюции.
Идея хорошая… Рад, что подобные идеи приходят не только в мою голову — есть с кем обсудить :-).
Как раз такая операция введена («отсоединения от узла X обозначим –X»). И, если у Вас в браузере отображается демонстрационное приложение, Вы и сами можете понаблюдать как она работает — в «волосатой окружности» и её гибриде, а также в шестиугольнике. Чтобы рассмотреть подробности — лучше замедлить процесс, установив флажок «Slow down...»
Более того, если бы в демонстрационном приложении, отрезанные «осколки» графа не удалялись бы автоматически, то можно было бы увидеть, что «осколки» иногда тоже начинают расти и жить.
Ничто не мешает «запрограммировать» граф таким образом чтобы после его «разворачивания» из начального зародыша (узла в состоянии А), он на определённой стадии отстреливал от себя один или несколько таких же зародышей. Тогда будет цепная реакция.
Что касается ДНК — я как раз стремился абстрагироваться от подробностей конкретной реализации жизни на нашей планете, сконцентрировавшись именно на принципах образования формы (морфогенеза). Единственное что роднит GUCA с ДНК, так это буквы сокращений нуклеиновых оснований её РНК-отпечатка (G, U, С, A -гуанин, урацил, цитозин, аденин).
Насколько я понял, клетка устроена не проще аэробуса и ДНК/РНК могут кодировать уйму туч самых разных белков и прочих деталек, участвующих в сложных многоходовках химических/механических процессов. Если уж проводить аналогию, то состояние в клеточном автомате — это макросостояние клетки — определённый её химический/электростатический состав с определённым набором уже извлечённых из генома белков/ферментов. Клетки взаимодействуют с соседними и в зависимости от этого взаимодействия, а также от текущего состояния извлекают из генома другие вещества (белки/гены), которые меняют её исходное состояние на другое или запускают операцию деления… или смерти. И так далее… Пока не съедят :-)
Если честно, пока «как есть» просто стыдно публиковать — много мусорного кода да и без краткого описания «конструкционных» решений не всегда можно разобраться. На выходных постараюсь почистить (не поломав) и опубликовать проект.
Ближайший узел определяется по топологии, причём узел не должен находится на расстоянии более чем 2-3 ребра (задаётся глобальным параметром) — это чтобы обеспечить условие локальности… и производительности тоже. Если узла «поблизости» нет, то соединение не происходит.
Просто иначе топология графа будет зависеть от конкретных параметров геометрической или физической модели, управляющей разворачиванием графа на плоскости (или в пространстве).
Например, если замедлить «внутриклеточные» процессы в «странной фигуре 1», то она вытянется вдоль и концевые узлы будут далеко друг от друга, а если ускорить «метаболизм» (или замедлить среду обитания сделав её вязкой) — то новорождённые узлы не будут успевать отойти друг от друга на большое расстояние.
То, что граф в демонстрационном приложении отображается на плоскости, не должно вводить в заблуждение о механизме его происхождения — можно запросто изменить «отображалку» на 3D-версию и выглядеть тот же самый граф в пространстве будет заметно по другому. А такие приложения графов, как нейронная сеть, вряд ли должны зависеть от параметров отображения графов для зрителей.
Конечно, можно и даже любопытно «наворачивать» и/или параметризовать правила используя и другие меры (геометрические), и на самом деле, в известной нам жизни так и происходит (грубо говоря, выделяются гормоны — сиськи растут). Да и при росте организмов в известной нам жизни, геометрия именно трёхмерного мира, без условно, определяет «упаковку» и взаимное расположение делящихся клеток относительно друг друга.
Но это задача уже следующего уровня, мне кажется. Для небольших многоклеточных организмов «близкодействие» весомее «дальнодействия».
Да, как раз и есть желание нащупать необходимый минимум операций.
Правда, от идеалов может быть придётся и отступить: в конце концов, и в современные процессоры регулярно добавляют всё новые и новые расширения (SSE, раньше FPU и прочие) для удобства «программирования» и/или из-за архитектурных соображений, а не сводят всё к машине Тьюринга.
В GUCA, например, условие по предыдущему состоянию добавил лишь для удобства «программирования» графов (сокращает количество кода и время на отладку), но отключив это условие при поиске решений генетическим алгоритмом, заметил что GA находит решение примерно за тоже самое время, что и с дополнительным правилом.
Возможно уже и создали — всё зависит от того, какое понятие вкладывать в простейшее живое существо. Мне кажется, определяющую роль играет среда обитания — на голых скалах кроме «лишая» ничего не вырастит.
Машинную память, если мне не изменяет она же, пожирали самые первые компьютерные вирусы.
По поводу сильверлайта: так было легче всего, практически без переделок, «опубликовать» готовое десктопное C#|WPF приложение. Понятно, что у половины народу пока не получиться «пощупать», но тратить время на другую технологию не хотелось. Совсем не против, если кто-нибудь сделает на SVG или Flash — уверен, можно сделать не хуже.
Давно уже интересуюсь и биологией и теорией эволюции как областями смежными — через теорию хаоса/самоорганизации сложных систем/конечными автоматами — с той же IT-отраслью. Интересно, какие принципы живого помогут создать сложные искусственные системы — искусственный интеллект, искусственная жизнь, роботы…
Но прочитав несколько книг, самыми интересными из которых были «Геном» Мэтт Ридли и «Рождение сложности. Эволюционная биология сегодня. Неожиданные открытия и новые вопросы» Александра Маркова, так и остались вопросы, мешающие «во всём дойти до самой сути».
Например, Вы пишете «Все гены наследуются парами (аллелями)» — понятно, что имелись ввиду гены достаточно сложных живых организмов, т.к. у простейших никакого парного наследования, вроде, нет. Да и рекомбинация генов может происходить бесполовым путём, у тех же бактерий.
Вопрос в том, почему у сложных организмов возникает «потребность» (суть преимущество, поддержанное отбором) в парном наследовании генов?
И почему геном у сложных организмов состоит из десятков, а иногда и из тысяч хромосом, против единственной у бактерий? Зачем?
Ответы на эти вопросы могут быть интересны и чистому IT-шнику. Дело в том, что пресловутый генетический алгоритм является моделью лишь примитивной рекомбинации — половых хромосом в классическом ГА нет, геном состоит лишь из одной хромосомы, данные и алгоритм (soft) чётко отделены от «железа» (в живой клетке такой чёткой границы отделяющей «программу» от «исполняющего устройства» нет) И если природе понадобилось усложнить механизм, то поняв необходимость этого усложнения, можно усовершенствовать эволюционные алгоритмы. И наоборот…
Пол года назад на хабре была статья от авторов модели http://habrahabr.ru/Вирутальная модель нематоды C. Elegans
В компьютере можно прочитать интервью: Андрей Пальянов (Институт систем информатики СО РАН) об искусственной жизни
("… Назван в честь марки кофе Java, любимого некоторыми программистами, поэтому на официальной эмблеме языка изображена чашка с дымящимся кофе")
На рисунке 21 — изображение фрактала, заданное алгоритмом:
«линия ползет, постепенно утончаясь и закручиваясь, пуская подобные себе „отростки“».
Некоторые фигуры автора (по ссылке) действительно похожи на фрактал. И требование «бесконечного повтора» излишне для оценки похожести.
Когда мы рассуждаем о похожести реального или нарисованного художником объекта на фрактал — требования сколь угодно большого увеличение масштаба слишком строгое и подходит только к идеальным объектам.
Например береговая линия или разветвлённое дерево при увеличении масштаба оказываются чем-то похожими на самих себя. Но не при сколь угодно большом увеличении масштаба.
Не в строгом смысле и береговую линию и разветвлённое дерево допустимо называть фракталами или фрактальными объектами — имеющими свойства фракталов).
Например 21 (по ссылке автора)
Ещё вопрос:
А как убедились, что тест показывает не столько возможность человека (от 4 лет) и шимпанзе ответить на вопрос теста, сколько принципиальную возможность довести достаточно сложный вопрос «Где Салли будет искать свой шарик» только до человека и шимпанзе?
Но некоторые гипотезы и следующие из них бездоказательные утверждения (про глобус :-)) спорны (и за это тоже спасибо) из-за зацикленности на приматах.
Интересно посмотреть в сторону других стадных животных, которые миллионы лет назад научились общаться голосом и выстраивать иерархии.
Количество бизонов в стадах, львов в прайдах, волков в стаях — тоже больше 10-ка, и общаются голосом/ультразвуком. Про рыб в косяках симметрично молчу. Их сообщества часто требуют организованных действий. Вот сейчас в Якутии отстреливают стаю волков в 400 голов.
Поэтому, как мне кажется, само по себе наращивание коммуникативных способностей млекопитающих и «социальность» не объясняет качественного скачка человека. Точнее, почему именно при таком-то пороге коммуникативных способностей и произошёл качественный скачок, а не раньше — остаётся не понятным.
Интересно, крысы, собаки, волки, кошки, дельфины проходят тест Салли и Энн?
Есть «техническая» версия, что качественный скачок обусловлен увеличению количества слоёв в неокортексе.
И какую же?
Если переворачиваем первую карту и видим чётную цифра, а под 3-ей — гласная -> правило опровергнуто.
Если переворачиваем первую карту и видим чётную цифра, а под 3-ей — согласная -> правило доказано.
Но чтобы опровергнуть или доказать правило, 3-ью таки надо перевернуть.
Как раз такая операция введена («отсоединения от узла X обозначим –X»). И, если у Вас в браузере отображается демонстрационное приложение, Вы и сами можете понаблюдать как она работает — в «волосатой окружности» и её гибриде, а также в шестиугольнике. Чтобы рассмотреть подробности — лучше замедлить процесс, установив флажок «Slow down...»
Более того, если бы в демонстрационном приложении, отрезанные «осколки» графа не удалялись бы автоматически, то можно было бы увидеть, что «осколки» иногда тоже начинают расти и жить.
Ничто не мешает «запрограммировать» граф таким образом чтобы после его «разворачивания» из начального зародыша (узла в состоянии А), он на определённой стадии отстреливал от себя один или несколько таких же зародышей. Тогда будет цепная реакция.
Что касается ДНК — я как раз стремился абстрагироваться от подробностей конкретной реализации жизни на нашей планете, сконцентрировавшись именно на принципах образования формы (морфогенеза). Единственное что роднит GUCA с ДНК, так это буквы сокращений нуклеиновых оснований её РНК-отпечатка (G, U, С, A -гуанин, урацил, цитозин, аденин).
Насколько я понял, клетка устроена не проще аэробуса и ДНК/РНК могут кодировать уйму туч самых разных белков и прочих деталек, участвующих в сложных многоходовках химических/механических процессов. Если уж проводить аналогию, то состояние в клеточном автомате — это макросостояние клетки — определённый её химический/электростатический состав с определённым набором уже извлечённых из генома белков/ферментов. Клетки взаимодействуют с соседними и в зависимости от этого взаимодействия, а также от текущего состояния извлекают из генома другие вещества (белки/гены), которые меняют её исходное состояние на другое или запускают операцию деления… или смерти. И так далее… Пока не съедят :-)
Просто иначе топология графа будет зависеть от конкретных параметров геометрической или физической модели, управляющей разворачиванием графа на плоскости (или в пространстве).
Например, если замедлить «внутриклеточные» процессы в «странной фигуре 1», то она вытянется вдоль и концевые узлы будут далеко друг от друга, а если ускорить «метаболизм» (или замедлить среду обитания сделав её вязкой) — то новорождённые узлы не будут успевать отойти друг от друга на большое расстояние.
То, что граф в демонстрационном приложении отображается на плоскости, не должно вводить в заблуждение о механизме его происхождения — можно запросто изменить «отображалку» на 3D-версию и выглядеть тот же самый граф в пространстве будет заметно по другому. А такие приложения графов, как нейронная сеть, вряд ли должны зависеть от параметров отображения графов для зрителей.
Конечно, можно и даже любопытно «наворачивать» и/или параметризовать правила используя и другие меры (геометрические), и на самом деле, в известной нам жизни так и происходит (грубо говоря, выделяются гормоны — сиськи растут). Да и при росте организмов в известной нам жизни, геометрия именно трёхмерного мира, без условно, определяет «упаковку» и взаимное расположение делящихся клеток относительно друг друга.
Но это задача уже следующего уровня, мне кажется. Для небольших многоклеточных организмов «близкодействие» весомее «дальнодействия».
Правда, от идеалов может быть придётся и отступить: в конце концов, и в современные процессоры регулярно добавляют всё новые и новые расширения (SSE, раньше FPU и прочие) для удобства «программирования» и/или из-за архитектурных соображений, а не сводят всё к машине Тьюринга.
В GUCA, например, условие по предыдущему состоянию добавил лишь для удобства «программирования» графов (сокращает количество кода и время на отладку), но отключив это условие при поиске решений генетическим алгоритмом, заметил что GA находит решение примерно за тоже самое время, что и с дополнительным правилом.
Машинную память, если мне не изменяет она же, пожирали самые первые компьютерные вирусы.