Читаем Искусственный разум полностью

Забавное получается строительство! Вместо того чтобы просто класть кирпич за кирпичом, вы все время заменяете одни детали другими. Если все кирпичи одинаковые, вы вообще топчетесь на месте: один кирпичик вынул, другой вставил - итог пулевой. Но кирпичи-то разные. Вместо простого кирпичика - панель, вместо панели - блок, вместо блока - секцию.

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

Право, забавное строительство! Без четкого плана, с чередой замен-перемен, со свободным выбором на каждом шагу и с внезапными остановками. Наш алгоритм строительства позволяет возвести и такой дом, и сякой, и этакий, и еще какой-то. Все разрешено, все дозволено...

Все, да не все. Алгоритм без принуждения действительно допускает строительство множества разных домов. Но всегда правильных, всегда подчиненных правилам, тем правилам подстановки, с которых начиналась работа. Правила многое разрешают, однако не в ущерб делу. Дверь вместо окна на первом этаже разрешают, а на втором - нет. Круглое окно вместо квадратного можно всюду, а про пол взамен окна - не найдешь такого правила. Алгоритм без принуждения годится для строительства и маленьких домишек, и огромных домин, и промышленных зданий, и дворцов... Быть может, у вас, читатель, складывается впечатление, что автор, восхищенный разнообразием результатов работы такого алгоритма, многолпкостыо порождаемых им сооружений, предлагает изменить практику строительных работ? Отказаться от гор проектной документации, а взамен вооружить прорабов СМУ новоявленным алгоритмом?

О нет, цели автора совсем иные. Меня сейчас интересует другое строительство, не реальные дома, а воздушные замки, не грубые кирпичи, а нежные слова. Для начала всего три слова: "Петр", "кашу" и "ест". Впрочем, удобства ради добавим к ним четвертое: . Жесткий алгоритм, алгоритм с принуждением, предписывает нанизывать слова в следующем порядке: сначала "Петр", потом "ест", затем "кашу" и в конце . Получается:

Петр есть кашу .

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

Петр ест кашу Петр ест кашу Петр ест...

И так далее. Ест, пока не надоест. А надоест быстро, скучные бусы повторяют одну и ту же фразу, однообразно и уныло.

Что ж, введем разнообразие. Ослабим чуть-чуть жесткость алгоритма. Пусть порядок сборки предложения остается прежним, кроме одного исключения: последнее слово выбирать по правилам

ПС -> паштет,

ПС -> яблоко,

ПС -> начальство глазами,

ПС -> щи суточные,

ПС -> жену поедом,

ПС -> Петра.

Все эти правила устроены одинаково: в левой их части стоит метка последнего слова (ПС), а в правой само это слово; стрелка означает разрешение на замену.

Алгоритмы построения слов

Наш новый алгоритм приводит сначала к промежуточной форме:

Петр ест ПС .

А потом происходит замена этого ПС:

Петр ест яблоко Петр ест паштет Петр ест паштет Петр ест яблоко ...

Стоп, присмотримся к быстрорастущим бусам. Первым в нашем списке правил было слово "паштет", но алгоритм разрешал брать любое слово, необязательно первое - вот и началось все с яблока, а могло со щей или с начальства. Во втором отрезке бус появился "паштет", а третий в точности повторил второй. Здесь опять сказалось простое, но коварное разрешение использовать любое слово. А любое - значит можно включать одно и то же произвольное число раз!

Нет, с новыми бусами не соскучишься, они старым не чета. Дальше можно ожидать, например, такую низку предложений:

Петр ест щи суточные Петр ест жену поедом Петр ест начальство глазами Петр ест яблоко Петр ест Петра

Здесь просматривается уже зародыш сюжета, становится интересным, к чему приведет неумеренный аппетит нашего героя? Уж не к самоедству ли? Или Петр обычный людоед? Чем все это кончится? А ничем не кончится. Не живой он, этот Петр. Подобие жизни создано небольшим отклонением от обязательного порядка нанизывания, небольшим послаблением в алгоритме.

Снимать ограничения можно и дальше. На этом пути обнаружится, что "Каша ест Петра", "Паштет ест начальство глазами" и "Яблоко ест щи суточные". Заметьте, все это правильно построенные русские фразы, хотя смысл некоторых из них труднопостижим.

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

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже