Добавить в цитаты Настройки чтения

Страница 36 из 88

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

Головоломку потому и называют головоломкой, что у нее есть два обязательных качества: во-первых, ее трудно решить и, во-вторых, у нее есть правильный ответ. Вы должны быть готовы не останавливаться уже на первой дизъюнкции (без труда не вытянешь и рыбку из пруда!). Вот чем отличаются люди, умеющие решать головоломки, от тех, кто не умеет этого делать. После того как вы справитесь с первой дизъюнкцией, вы почти наверняка обнаружите, что ситуация значительно проще, чем она вам первоначально представлялась. «Дерево» возможных решений ветвится не бесконечно — и все пути ведут к решению. Это относится почти ко всем логическим задачам.

Дизъюнктивные рассуждения, такие трудные для большинства людей, — это то, с чем отлично справляются компьютеры. Есть эффективные алгоритмы для исследования «дерева возможностей» и поиска «пути к решению» — вспомните, как быстро поисковая система в интернете Yahoo! сообщает вам запрошенную информацию. В хорошей компьютерной программе именно такие алгоритмы и используются, поэтому программисты должны владеть дизъюнктивными рассуждениями.

Почему так легко «убить» робота?

Вы, наверное, видели в телепередачах битвы роботов. Люди конструируют таких роботов, единственная цель которых — разрушать, «убивать» других роботов. Потом несколько этих роботов выпускают на арену и смотрят, что произойдет. Такие состязания убедительно демонстрируют по крайней мере одну вещь: «убить» робота просто.

Это легко, потому что у роботов очень жесткое, предсказуемое поведение. Они не видят всей ситуации и никогда не принимают неожиданных решений. Предположим, у вас есть робот, который защищается при помощи огнемета. Если только другой робот приближается к нему ближе, чем на три метра, — БАЦ!!! — он его сжигает.

Все, что нужно другому парню, — сконструировать робота, который может обрызгать вашего робота бензином с расстояния 3,5 метра и быстро отъехать от него. Очень скоро ваш робот попытается использовать свой огнемет — и подожжет сам себя. А вот человек окажется достаточно сообразительным, чтобы сказать: «Ага, меня обрызгали горючей жидкостью — значит, мне пока нельзя пользоваться огнеметом». Роботы на это неспособны.

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

Это одна из самых трудных проблем ИИ. Некоторые люди даже скажут, что это и есть проблема ИИ.

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



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

Для того чтобы успешно решать головоломки (и более серьезные проблемы, моделями которых могут служить головоломки), вам нужно рассуждать одновременно на двух или более уровнях. Одна часть вашего сознания занята решением проблемы, в то время как другая отслеживает прогресс этого процесса. Вам нужно постоянно спрашивать себя: «Этот подход работает? Сколько времени я потратил на этот подход и какова вероятность того, что он скоро поможет найти ответ? Может быть, стоит попробовать что-то другое?»

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

Может быть несколько стадий подобного возврата к исходным предположениям. В каждой ситуации нужно учитывать несколько предположений. Редко бывает так (если такое бывает вообще), что все они оказываются неверны. Прием, который используют некоторые люди, когда заходят в тупик при решении задачи, — подготовить список своих предположений и попытаться представить, что изменилось бы, если бы каждое из этих предположений оказалось неверным.

Возьмем, например, задачу об испорченных таблетках. Есть пять баночек с таблетками, в одной из которых таблетки испорчены. Вам нужно ее определить за одно взвешивание. Вы озадачены и не знаете, в какую сторону двигаться. Какие вы используете предположения?

Большинство людей предполагают следующее:

1) вам не разрешается открывать баночку;

2) таблетки, которые вы взвешиваете, нужно брать из одной и той же баночки;