Читаем Как сдвинуть гору Фудзи? Подходы ведущих мировых компаний к поиску талантов полностью

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

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

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

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

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

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

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

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

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


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

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

3) вешивание может сообщить вам только одну из двух вещей: у таблеток, которые вы тестируете, нормальный вес, или они легче, чем таблетки с нормальным весом.


Все эти три предположения уводят вас от правильного решения. Вам нужно их отвергнуть, чтобы найти его. В общем, как вам нужно решать, какое предположение(я) нужно отбросить? Это сложный вопрос, потому что перечисленные выше предположения не единственные, которые делают люди, когда обдумывают эту головоломку. Вот еще некоторые:


1) вам не разрешается разламывать таблетки и взвешивать не целую таблетку, а ее часть;

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

3) вам не разрешается проводить химический анализ таблеток, чтобы определить, какие из них испорчены (иначе зачем вам понадобилось бы их взвешивать?);

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

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

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT