Версии программы Рэктер

Эттер, написавший много версий программы Рэктер, сравнивает его с английским языком, который сам представляет собой «довольно неуклюжее нагромождение правил и исключений». В той мере, в какой команды Рэктер должны взаимодействовать с английским языком, они также становятся неуклюжими и трудно поддаются пониманию». Дж. Оуэиз, импресарио программы Рэктер, по специальности программист-теоретик, работает в Колледже Стейтен-айленд Нью-Йоркского университета. Оуэнз сам признается, что не имеет четкого понятия о механизме работы программы как единого целого.

Своими вдохновенными порывами в разговоре Рэктер обязана простому программному циклу, к которому производятся сложные рекурсивные обращения. Сначала Рэктер выбирает наобум какой-то элемент данных из своих файлов. Если выбранный элемент относится к классу, называемому Этте- ром литералами, Рэктер непосредственно выводит его на печать. Когда в ходе беседы с Чемберленом, приведенной выше, Рэктер говорит «понимаю», она как раз пользуется одним из таких литералов. Однако с большей вероятностью выбранный элемент окажется командой, а не литералом. По этой команде Рэктер обращается к другим файлам, которые также могут содержать команды. Когда первоначальная команда оказывается таким образом выполненной, присходит еще одно обращение к основному циклу программы и опять осуществляется случайный выбор элемента в одном из файлов программы Рэктер.

Когда Рэктер начинает новое предложение, он выбирает для этого шаблон либо случайным образом, либо в зависимости от последних строк диалога. Предположим, был выбран следующий шаблон:

существительное глагол (третьего лица прошедшего времени) существительное

ОБЕЗЬЯНА СЪЕЛА ПИШУЩУЮ МАШИНКУ

Если бы это было все, на что способна Рэктер, то генерируемый ею текст был бы немногим лучше, чем у программы, имитирующей поэтов, которой я занимался в студенческие годы.

 

 

 

 

0 Коментариев

Вы можете быть первым =)

Оставить коментарий