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