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