Различие в расстоянии слишком велико, чтобы преодолеть его пешком, но Джоан может поехать на машине или на поезде – кроме того, она знает и несколько «сценариев» для поездки на самолете, например:
Однако каждый этап этого скрипта требует выполнения нескольких шагов. «Добраться до аэропорта» можно на велосипеде, такси или автобусе, но она решает поехать на машине, что само по себе требует выполнения нового сценария, состоящего из следующих подцелей:
Джоан рассматривает вариант с самолетом и решает, что парковка машины и прохождение досмотра займут слишком много времени. Сам полет до Нью-Йорка занимает не более часа или около того, а на поезде ехать четыре, зато он прибывает почти туда, куда ей нужно, к тому же все это время она может посвятить продуктивной работе. «Передумав», Джоан выбирает поезд.
Точно так же, если бы Кэрол решила построить из конструктора башню, ей пришлось бы разделить задачу на части и составить план, включающий вот такой процесс:
Процесс построения башни из конструктора
Для каждой из этих подцелей требуется еще несколько деталей и процессов, поэтому, когда мы разработали робота для выполнения таких задач, его программное обеспечение состояло из нескольких сотен элементов. Например, функция «Добавить брусок» подразумевает целое дерево подцелей, таких как:
И, конечно, каждая подцель сама по себе может быть довольно сложной. «Выбрать брусок» – значит, отсеять те, которые уже поддерживают башню. «Увидеть» – то есть распознать объект как брусок независимо от цвета, размера и освещенности, даже если он частично затенен другими фигурками. «Взять» – при этом рука робота должна подстроиться под размер и форму фигурки, которую нужно переместить. А при «Перемещении» рука должна двигаться таким образом, чтобы не задеть ни башню, ни лицо ребенка.
Как вы узнаете, каких подцелей необходимо достичь для выполнения конкретной задачи? Это можно сделать методом проб и ошибок, или проведя мысленный эксперимент, или вспомнив какую-то ситуацию из прошлого, – и одним из самых удобных способов является использование разностной машины, поскольку каждое различие становится для вас новой подцелью.
В общем и целом, наша идея состоит в том, что иметь
Как часто люди на практике используют методы, которые мы описали, – такие как создание поэтапных планов и разделение задач на более мелкие? На самом деле, в большинстве случаев мы поступаем намного проще, потому что уже знаем, что делать: когда выполняешь какое-то действие раз за разом (например, «практикуешь» новый навык), он постепенно преобразуется в скрипт или последовательность, которые почти уже не затрагивают высокоуровневого мышления.
В результате эти методы поиска и планирования оказываются нужны нам только тогда, когда мы сталкиваемся с новой проблемой (или не узнаем в ней уже знакомую). Но как можно «практикой» развить навык до уровня пресловутого «эксперта»? Древняя теория заключалась в том, что каждый раз, проходя определенный «мыслительный путь» в мозге, вы углубляете его колею и поэтому в будущем вам будет легче следовать по этому пути. Более современная версия такова, что использование синапсов, связывающих клетки мозга, улучшает их проводимость, – и, безусловно, в этом должна быть доля истины.
Однако в восьмой главе этой книги мы изложим несколько высокоуровневых методов повышения производительности с помощью «практики». Например, возможно, некий процесс может заменить глобальный поиск на простой скрипт, в котором содержатся только шаги, ведущие к успеху; иными словами, человек научится использовать конкретный путь вместо того, чтобы прочесывать более сложную карту. Другие процессы путем повторных попыток заменяют «если» сложных правил такими, которые реагируют только на релевантные характеристики. А третьи могут создавать новых Критиков и Цензоров для предотвращения распространенных ошибок.