Читаем Философ на краю Вселенной. НФ–философия, или Голливуд идет на помощь: философские проблемы в научно–фантастических фильмах полностью

Не совсем. Дело в том, что шахматные компьютеры наподобие «Deep Blue» хороши в чем—то одном — и только. «Deep Blue» способен победить в мировом шахматном чемпионате, не моргнув глазом, но Каспаров может выключить компьютер, когда ему захочется побродить по комнате или выпить чашку чаю. Дело не только в том, что «Deep Blue» физически не может гулять по комнате или пить чай. Он даже не понимает, как это делается, потому что такие компьютерные программы очень специализированы: в одной области их возможности практически неограниченны, но в остальных они полностью беспомощны. Это зависит от того, для чего компьютеры предназначены.

Компьютеры можно разделить на два вида: нерды, организованные по алгоритмическому принципу, и джоки, схема которых повторяет устройство головного мозга. «Deep Blue» — классический пример компьютера, устроенного по алгоритмическому принципу, как и большинство современных компьютеров. В их основе — фиксированные, хотя часто и очень сложные программы, состоящие из символов. В качестве примера можно привести знаменитую программу Шанка, который пытался создать для компьютера схему поведения в ресторане.[11] Такие программы иногда называют сценариями. Они предписывают, что делать и как вести себя в определенных ситуациях. Выглядят они примерно так:

Сцена 1. Появление в ресторане.

PTRANS: войти в ресторан MBUILD: найти столик MOVE: сесть

Сцена 2. Заказ.

ATRANS: попросить меню ATTEND: просмотреть его MBUILD: выбрать блюда MTRANS: сделать заказ официанту

Сцена 3. Обед.

ATRANS: принять еду у официанта INGEST: съесть еду

Сцена 4. Уход из ресторана.

MTRANS: попросить чек ATRANS: дать чаевые официанту PTRANS: подойти к кассе MTRANS: отдать деньги кассиру PTRANS: выйти из ресторана

Советую вам не очень загружать себя PTRANS'aми и MTRANS'aми: это формальные описания, придуманные Шанком. PTRANS, например, обозначает перемещение объекта в пространстве; MTRANS — изменение отношений между двумя объектами (например, ваши деньги переходят к официанту) и так далее. Основная идея ясна. Это инструкция по поведению в ресторане. Предлагается выполнять ее, чтобы визит в ресторан прошел успешно.

11

Но известно, что события развиваются не всегда так, как планируется. Поход в ресторан — это поле, «заминированное» неожиданностями. Вы входите в ресторан и обнаруживаете, что нет свободного столика. Как долго вы будете его ждать? Есть время, приемлемое для поиска или ожидания свободного столика. Три часа ходить кругами по ресторану не очень—то вежливо, по мнению раздраженных посетителей и назойливых официантов. Поэтому нужно добавить в программу пункт, указывающий, сколько времени удобно ждать свободного столика, если все они окажутся занятыми. Давайте представим, что все это время ваша спутница вполголоса (но так, чтобы все слышали) бранит вас за то, что столик не был заказан заранее, хотя она просила об этом, а ее, как всегда, не послушали. Нужен алгоритм, определяющий, что и каким тоном вы должны отвечать ей. Такие возможные события должны быть включены в ресторанный сценарий.

Предположим, что столик наконец найден и вам принесли меню. Я на это надеюсь, но на всякий случай необходимо запрограммировать пункты, предусматривающие поведение в случае, если меню принесут не сразу. Как долго полагается ждать, прежде чем подозвать официанта, и так далее. Вы просматриваете меню и решаете, какой сделать заказ. Как быть, если ваша спутница решила использовать меню в качестве плацдарма для переговоров? Сложные для понимания комбинации блюд, их глубокомысленные обсуждения с официантами, которые, не выдержав, грубят вашей даме. Требуются инструкции, как вести себя в данной ситуации. Разумеется, они включают заверения в любви к вашей спутнице и претензии к ресторану. Наконец вы получаете еду, но она оказывается не такой вкусной, как всегда. Вы подозреваете, что изведенные придирчивостью и непомерными запросами вашей спутницы шеф—повар или официант подлили в суп из лобстера какую—то гадость. Что делать? В программе должны быть указания на случай таких обстоятельств.

Мы только коснулись бед и несчастий, которые ждут нас в ресторане. Но, думаю, общая картина ясна. Реальная программа, предусматривающая любые неожиданности, должна быть непомерно большой, даже гигантской; поэтому ни один человек не в состоянии составить ее. Такой экстремальный подход к составлению программ можно найти в проекте Дага Лената CYC. Его основная идея состоит в добавлении новых указаний до тех пор, пока программа не станет исчерпывающей. Главная проблема такого подхода состоит в неограниченном количестве непредвиденных случаев, которые могут произойти в самых обычных ситуациях — например, во время визита в ресторан. Из—за этого число инструкций возрастает до бесконечности.

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