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