Вот аналогия: представьте, что вы участвуете в странном конкурсе по поиску самой высокой точки планеты, и при этом картой пользоваться нельзя. Вы можете назвать любые координаты, и вам скажут высоту над уровнем моря в этом месте. Допустим, «50,945980, 6,973465» с ответом: «Эта точка находится в 65 метрах над уровнем моря». Затем вы можете назвать следующие координаты, затем другие — сколько угодно раз, пока не выйдет время.
Какой стратегией вы воспользуетесь? Как и в случае с прошлыми задачами, можно прибегнуть к методичному поиску: начать с «0,000001, 0,000001» и продолжить в том же духе, увеличивая значения. В таком случае вы вряд ли найдете нужную высоту к тому моменту, как закончится время.
Есть также метод случайного прыжка: называть один набор случайных координат за другим и, когда время закончится, сравнить их и выбрать самую высокую точку. Возможно, вам повезет и вы укажете координаты рядом с вершиной Эвереста, но чистая случайность вряд ли поможет вам выиграть конкурс.
Принципиальная альтернатива представляет собой метод поиска экстремума, аналогичный пошаговым улучшениями в контуре кремниевого чипа. Начните в случайной точке и затем просмотрите все близлежащие координаты, скажем, на метр в каждом направлении. Выберите самый высокий пункт и повторяйте весь процесс снова и снова. Алгоритм поиска экстремума гарантированно приведет вас к самой высокой точке на местности, из которой каждый шаг будет спуском. Данная стратегия поможет, если с первой же догадкой вы попадете к подножию высоченной горы. Но с тем же успехом можно указать и на песчаную дюну или питчерскую горку>{5}. Метод поиска экстремума заведет вас в тупик, если вы окажетесь на местности с ровным ландшафтом.
Подход, который с наибольшей вероятностью приведет к победе, является комбинацией методов случайного выбора и поиска экстремума. Сначала можно называть абсолютно случайные координаты. Но когда время будет подходить к концу, выбирайте самую высокую точку и пробуйте случайные пункты в пределах пары километров от нее — в надежде, что где-то недалеко есть нужная вам гора. В итоге вы выберете самую высокую точку, переключитесь на алгоритм поиска экстремума и будете ему следовать, пока не закончится время.
Импровизация на рояле представляется невообразимо далекой от раскладки эффективной схемы электронных компонентов на кремниевой пластинке. Но примеры со случайными изменениями и поиском экстремума помогут понять, что произошло в Кельне. Кит Джарретт уже был очень успешным пианистом: мы можем представить его выступления как будничное покорение вершин в Альпах. Непригодный для игры рояль, с его кричащими верхними нотами и обескровленными басами, походил на случайное обрушение породы, вырвавшее пианиста с вершины Альп и унесшее в незнакомую долину. Неудивительно, что Джарретт был раздражен. Но когда он начал искать подъемы, выяснилось, что долина находилась в Гималаях, и его навык позволил ему забраться на самую высокую и прекрасную вершину из всех, которые он когда-либо покорял.
Человек по своей природе стремится к совершенствованию, и это значит, что поиски экстремума заложены в наших инстинктах. Независимо от того, пытаемся мы освоить новое хобби, выучить язык, написать эссе или создать компанию, — естественно желать, чтобы каждое изменение вело к лучшему. Но, как и с алгоритмами решения проблем, легко попасть в тупик, если мы ни под каким видом не желаем спускаться вниз.