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