Есть такое насекомое – ручейник, личинка которого живёт на дне водоёмов и строит домик-трубку из песка и других материалов. Личинка фактически как раз решает задачу, о которой мы говорим. Трубку построить нужно очень быстро, потому что она нужна для дыхания и защиты от хищников. А если трубка повреждена частично, например, обрезана в эксперименте, то её нужно быстро восстановить, и у личинки нет времени разбираться и проводить исследование, как распределён материал в водоёме или в экспериментальной установке: где частицы материала более подходящие, а где – менее подходящие. Нужно просто собирать материал. Тем не менее, она с этой задачей справляется.
Я, собственно говоря, и хотел начать с того, чтобы представить вам этого ручейника. Я думаю, уже сейчас можно показать его домик, чтобы это было видно. Домик – это просто трубка. Ручейники того вида, о котором я говорю, могут делать домики из песка или из плоских частиц или каких-нибудь листьев. Здесь показан домик из песка, но на самом деле личинки «любят» частицы большего размера, чем песчинки, и при этом предпочитают плоские частицы. Причина такого предпочтения проста. Они сшивают частицы белковой нитью – паутиной. Естественно, чем больше частицы, тем меньше швов между ними, тем меньше затраты паутины, и меньше, следовательно, затраты энергии. Соответственно, личинкам желательно выбрать там, где они находятся в момент поломки домика, такие частицы, которые позволят им сэкономить эту нить.
Мы проводили эксперименты, чтобы изучить, как личинки это делают. Это чисто лабораторные эксперименты, но, поскольку личинка почти слепая и не использует зрение во время поиска, лабораторный эксперимент довольно хорошо имитирует то, что происходит в ручье.
Александр Жданов: В данном случае речь идёт о том, что ручейник должен найти крупную частицу, да?
В.Н. Да, он должен, говоря человеческим, антропоморфным языком, «решить», какие частицы достаточно крупные, а какие можно отбросить. Для того чтобы упростить наблюдение, мы использовали вместо песка скорлупки, кусочки яичной скорлупы, большие и маленькие. Ручейник должен был выбирать между этими скорлупками. Вот как он это делает. Поскольку ручейник слепой, он должен ощупать частицу передними ногами (можно показать, как это он делает) и оценить её размер, форму, гладкость и многие другие параметры. Мы будем говорить пока просто о размере и форме. В конце концов, ручейник цели достигает. Вот здесь показан готовый уже домик, он сделан, как видите, из частиц примерно одинакового размера.
А.Г. А вы предлагали ему совсем разные частицы? От очень мелких до очень больших?
В.Н. Да, разные. Они различались по площади в восемь раз (по длине стороны, соответственно, они различались меньше). Ручейник не всегда использует самые большие частицы, бывают ошибки, но в целом он умеет делать правильный выбор и очень быстро.
А.Г. Но поскольку время ограничено, это значит, что он не перебирает все песчинки или все кусочки для того, чтобы понять, какие частицы отбирать.
В.Н. Совершенно верно. Вот в этом-то как раз его секрет. Он может частицу взять и за угол, и за широкую сторону. И он должен в каждый момент времени решать, стоит ли с ней дальше возиться или нет. Полное обследование частицы занимает несколько минут. Ручейник должен каждую сторону ощупать, проверить, есть ли там грязь, есть ли там трещины. Но ручейники, как правило, этого не делают. Они могут частицу быстро покрутить и выбросить, а могут оценивать долго. Почему это происходит?
С точки зрения внешнего наблюдателя, ручейник генерирует своего рода гипотезы. Например, если ему попадается хорошая, большая частица и он прикрепит её к домику, а следующая частица будет плохая, то ручейник будет ощупывать её очень долго. Это выглядит так, будто ему хочется, чтобы частица была хорошая. Именно такое ощущение создаётся у наблюдателя. Ручейнику жалко расстаться с частицей. Потом он её всё равно выкинет, но время он потеряет. Вроде бы совершенно неразумное поведение. С другой стороны, тоже есть довольно неразумное поведение: когда ручейнику попадается мелкая частица, он её выбрасывает и начинает искать рядом другие частицы (напомню, что ручейник всё делает вслепую). Если теперь он найдёт крупную частицу, но схватит её за угол, то дальше уже не станет её проверять, а выбросит. То есть ручейник ведёт себя так, как будто он верит, что после плохого будет тоже плохое. Что получается?
А.Ж. Валентин Анатольевич, можно я здесь немножко прерву. Если смотреть на это насекомое как на распознающую систему, то здесь напрашивается такой аналог: процесс распознавания требует некоторого управления. Этот процесс можно прекратить раньше, можно продолжить измерительные эксперименты, но потратить лишнюю энергию на эти эксперименты – уменьшить риск ошибки, но потратить энергию. Всё время надо…
А.Г. Балансировать.
А.Ж. В этом заключается баланс: как бы поменьше сделать экспериментов, но как бы повысить риск правильного распознавания. Да?
А.Г. И где здесь оптимум тогда получается?
А.Ж. Вот то, что ручейник делает, показывает, что он как-то этот оптимум нащупал и эту стратегию он и проводит. Как в данном конкретном случае.
В.Н. Я бы сказал так (конечно, это моё личное мнение): можно, конечно, попытаться найти этот оптимальный баланс, используя те средства, которые есть у ручейника. Баланс между затратами энергии и использованием самых лучших частиц. Но я хочу напомнить, что у ручейника ситуация не такая, чтобы искать оптимум, ему нужно просто быстро найти приличные частицы. То есть, ему достаточно решить задачу удовлетворительно, а вовсе не оптимально. И, может быть, алгоритм поиска, о котором я говорил, не нацелен на оптимизацию поведения, а нацелен на то, чтобы просто решить задачу удовлетворительно.
А.Ж. То есть, если я правильно понимаю, речь идёт о том, что здесь мы наблюдаем не выработку алгоритма поиска, а применения алгоритма уже готового. Алгоритм сам, видимо, был найден раньше. Но этот алгоритм обеспечивает эффективный поиск нужной частицы. Да? То есть, результатом поиска является не алгоритм поведения, а результатом является поиск крупных частиц.
В.Н. Да, поиск в буквальном смысле.
А.Г. Насколько я понял, ключевым словом в вашем рассуждении было слово «сценарий», то есть ручейник действует по какому-то сценарию, выстраивает гипотезу о том, что будет дальше.
В.Н. Да, и делает это на основании, в общем-то, случайного события. Случайно ему попадается либо большая частица, либо малая. На основании этого краткого отдельного события, опять-таки антропоморфным языком говоря, ручейник выстраивает гипотезу о том, что и дальше будут попадаться однотипные (либо большие, либо малые) частицы. Это предсказание распространяется не только на одну следующую частицу, и результат этого предсказания получается такой: когда частицы разного размера смешаны совершенно случайно, то протокол эксперимента показывает, что прикрепления частиц и отказы от них следуют сериями. То есть, имеется тенденция повторять прикрепления одно за другим. А после отказа появляется тенденция повторять отказы.
Но, несмотря на это, общий результат поиска всё же таков, что ручейник всё-таки прикрепляет в основном приличные частицы. Почему он использует такой алгоритм, почему такие гипотезы выдвигает? Дело в том, что в природе не бывает случайного распределения чего бы то ни было. В реальных ручьях и плоские частицы и круглые, и мелкие и крупные не перемешаны случайно. Наоборот, однородные частицы собраны в определённых местах, в зависимости от течения, в зависимости от глубины. Поэтому, если ручейник где-то находит хорошие частицы, то в реальной жизни это означает, что здесь нужно остаться и искать дальше. Мы провели такой эксперимент, который бы при систематическом исследовании среды завёл бы ручейника в тупик. Просто он не смог бы найти то, что ему нужно. Можно показать, как это выглядело: экспериментальная установка, которая представляла собой просто небольшой коридор, который весь был засыпан песком, но на одном его небольшом участке вперемешку с песком были и скорлупки.