Можно ли научить обезьяну программировать? Ждёт ли нас поколение специалистов-бабуинов

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

image

В 2003 году американский стартап из Айовы Primate Programming Inc. (PPI) анонсировал, что программисты компании — шимпанзе, павианы, гиббоны и гориллы — выполнят любую работу IT-команды, только дешевле. Шимпанзе Митч, например, прошел JSP-курс и специализируется на Crystal Reports, VB3, VB6 — 93 цента за час. А орангутанг Клойд завершил свой ASP.NET-Training и предлагает XML und Web услуги — 1,10 долларов в час.

Хорошая попытка, guys, но что-то не видно, чтобы IT-специалисты приматы захватили мир. Обезьяний стартап закончился так же, как и 90% всех стартапов. Можно ли в действительности научить обезьян программировать? Вопрос не такой абсурдный, как может показаться. Чтобы понять, как на него ответить, придётся затронуть такие области знаний как теория вычислений, теория формальных языков и эволюционная лингвистика.

Коммуникация с животными — скорее нет, чем да


Тесные связи между естественными и формальными языками не вызывают сомнений. Может быть, стоит для начала обучить примата поддерживать простой разговор? А там дело дойдёт и до программирования. Первое затруднение возникает немедленно при попытке поговорить с любым животным — они по-другому производят звуки. В отличие от человека, животные почти не контролируют произносимые звуки и не обмениваются конкретными деталями в процессе общения. Например, щебетание птицы в целом означает не более чем «я в порядке, жизнь прекрасна». Голосовой аппарат обезьян также не приспособлен для воспроизведения звуков человеческой речи.(1)

Но, может быть, стоит попробовать невербальное общение? Многие исследователи пытались более или менее успешно научить приматов выражать свои мысли и чувства с помощью жестов. Один из самых известных объектов экспериментов такого рода — шимпанзе Ним Чимпский, который под руководством лингвистов Колумбийского университета овладел более чем 125 жестами. В итоге проект признали неудачным: Ним не овладел языком в той степени, которая присуща человеку. Он мог использовать уже выученные фразы с помощью жестов и повторять вслед за человеком новые, но не образовывал их сам по правилам синтаксиса и грамматики. Его самым длинным предложением было нечто вроде «Дай мне апельсин есть апельсин мне есть апельсин дай мне ты». Все его глубоко философские высказывания можно почитать здесь.

image

Ним Чимпски общается со своими учителями

Животные как искусные подражатели


Ноам Хомский, американский лингвист, в честь которого и назвали разговорчивого примата Нима, ввел в обиход термин «генеративная грамматика» (или генеративизм), обозначающий свод правил, по которым формируется грамматически правильное предложение в любом языке. Согласно воззрениям Хомского, грамматические правила, лежащие в основе любого языка, являются врождёнными и присущи только человеку. Нет нужды останавливаться на этих идеях подробно, так как они уже были описаны на Хабре, например, вот тут. Другими словами, Хомский полагал, что генеративная грамматика как общий набор правил уже встроена в мозг человека с рождения. Это врождённое умение человека говорить на любом естественном языке и умение использовать формальные языки, — например, программирования — тесно связаны. Пока ни один эксперимент не подтвердил способность человекоподобного животного овладеть генеративизмом. Значит ли это, что мы никогда не увидим обезьяну колдующей над программным кодом?

Чтобы проверить это экспериментально, придётся преодолеть много трудностей: одна их них — стремление животного копировать шаблоны и запоминать готовые решения без их обдумывания. Очень точно описал эту проблему физик Ричард Фейнман в своей книге «Вы, конечно, шутите, мистер Фейнман»:

«В 1937 году учёный-зоолог Пол Томас Янг провёл любопытный эксперимент с крысами. Экспериментальная конструкция была такая: длинный коридор, где с одной стороны были одинаковые двери, из одной выбегали крысы, а с другой стороны были расположены двери, за одной из которых находилась еда. Зоолог хотел научит крыс сначала бежать к одной определённой двери, а не мчаться сломя голову к той, за которой прячется кормушка. Одним словом, он хотел устранить фактор выученного крысами шаблона. Для начала он очень тщательно покрасил двери, сделав их одинаковыми на вид и по текстуре. Это не помогло — крысы упорно стремились к заветной двери с едой. Естественно, он решил, что дело в запахе, и распылял пахучие химические вещества в коридоре после каждой пробежки крыс, чтобы отвлечь их. Крысы не изменили своей тактики. Новое предположение — крысы запоминают дверь по её расположению в коридоре и освещению в экспериментальном помещении. Янг накрыл крысиный коридор защитой от света, надеясь дезориентировать упрямых крыс. И… крысы все равно не отказались от старой двери. В конце концов, зоолог обнаружил, что они распознают дверь с кормом по звуку, который издаёт пол прямо перед ней. Учёный засыпал пол в крысином коридоре песком, и только тогда крысы перестали повторять шаблонные действия. Заслуга Янга, помимо всего прочего, в том, что он показал, насколько тщательно должны быть учтены все факторы при организации эксперимента такого плана с животными».

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

Гипотетический эксперимент с машиной палиндромов


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

image
Это все палиндромы — языковые

У нас имеется машина с кнопками, на каждой кнопке какой-то символ — предположим, значки фруктов: апельсин, банан, груша, персик и так далее. Машина запрограммирована таким образом, что при составлении из символов палиндрома она выдаёт еду. Нажимая последовательно «банан», «яблоко», «персик», «яблоко», «банан», можно будет заработать обед, а вот комбинации «банан», «яблоко», «яблоко», «персик» ничего не дадут. Можно придумать и более весомое поощрение за длинные палиндромы. Кроме того, нам понадобится и сигнал завершения строки — например, подсветка и звуковой сигнал, которые отключат кнопки на несколько секунд, если составленная комбинация клавиш не будет палиндромом. Наконец, самое главное — объяснить животному, что мы, собственно, от него хотим. И в этом как раз может заключаться основная проблема — нужно ли заранее объяснять примату, что такое палиндром? Не будет ли такой эксперимент всего лишь проверкой этого понимания, а не способом научить обезьяну решать поставленные задачи? Лучший способ проверить все эти догадки — провести эксперимент в реальности. Когда у кого-то получится, дайте нам знать.

Что мешает животным писать программы


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

image
Сюжет «Свинки Пеппы», видимо, взят из реальной жизни

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

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

«Бабуины были потрясены и озадачены программами Java IDE, SunONE и Visual Age. Ни один из бабуинов так и не смог освоить язык программирования Java. Однако большинство бабуинов с лёгкостью освоило язык программирования Visual Basic 3.0. Бабуины смогли самостоятельно менять программные настройки и даже редактировать параметры атрибутов файлов. Некоторые исследователи заявили, что Visual Basic слишком прост для бабуинов. Они настаивают на том, чтобы обезьяны прошли ещё один курс обучения Java-программированию. Однако у большинства бабуинов и шимпанзе любые компоненты Java, по словам учёных, вызывают стресс» (2).

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

Статья подготовлена crazytosser00 и talkjulya по материалам theorangeduck. Спасибо автору сайта за его идеи.
Источник: https://habr.com/ru/post/521338/


Интересные статьи

Интересные статьи

Я состою в жюри World AI & Data Challenge. Это такой международный конкурс для разработчиков технологий для решения разных социальных задач, таких как борьба с бедностью, помощь л...
Всем привет! Не так давно на работе в рамках тестирования нового бизнес-процесса мне понадобилась возможность авторизации под разными пользователями. Переход в соответствующий р...
Современный бизнес воспринимает городские телефоны как устаревшую технологию: сотовая связь обеспечивает мобильность и постоянную доступность сотрудников, соцсети и мессенджеры являются более...
После недавнего выпуска 3CX v16 мы уже подготовили первое обновление 3CX V16 Update 1 Beta. В нем реализованы новые возможности корпоративного чата и обновленный сервис Call Flow Service, который...
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?