Формулировка действительно сложновата, но ее можно понять с помощью трех главных слов: цель, чувствительность, гибкость
. Действительно, те кто легко достигает поставленных перед собой целей, руководствуются именно этими тремя принципами. Они четко знают, чего хотят. Они чувствительны к внешней обстановке. Они могут проявлять гибкость в средствах достижения своей цели.Про важность грамотной постановки цели
я говорить не буду — этому уже и так уделено достаточно много слов. Чувствительность проявляется в том, что после каждого небольшого шага мы собираем обратную связь из внешнего мира: «Приблизил ли меня этот шаг к желаемому результату?» Гибкость определяет нашу способность изменять свои действия вместе с переменой внешней обстановки.Примерно этому самому и стали тогда учить машины. Ей ставилась максимально конкретная задача, давались средства для ее решения, назначалась «целевая функция» (она определяет эффективность каждого очередного шага) и давался четкий критерий выхода. Благодаря всему этому, компьютер учился решать самые различные задачи: от решения сложнейших систем дифференциальных уравнений до традиционных головоломок типа «пятнашек».
Формально полученная модель называется T.O.T.E.
[44] — Тест-Операция-Тест-Выход (Exit). При первом тесте мы определяем нашу цель, то чего мы хотим достичь. При втором — где мы сейчас находимся. Операции, которые мы выполняем, направлены на уменьшение разницы между первым и вторым тестом. Выход определяет условие перехода к следующей цели (при совпадении тестов, по прошествии определенного количества времени, при обнаружении более желаемой цели и т. д.).[45]Кстати, на картинке заметна образовавшаяся петелька. Она называется петлей обратной связи
. Так мы получаем информацию об изменении нашего местоположения относительно цели. Именно благодаря этой петле модель Т.О.Т.Е. стала столь эффективной. Она позволяет делать именно те шаги, которые непосредственно приближают к желаемому результату. Или, что тоже не редкость, вовремя отказаться от труднодостижимой цели в пользу более реальной.Как ни странно, критерии выхода имеют действительно немалое значение. Если его не проработать, можно зациклиться очень надолго, что с удовольствием любят демонстрировать наши друзья-компьютеры. Да и некоторые люди… Как здесь — тесты совпали, а выхода нет:
Гражданин в нетрезвом состоянии бьет палкой по луже. Подходит милиционер и спрашивает:
— Ты что здесь делаешь?
— Акул гоняю.
— Так их же нет нигде!
— Значит, хорошо гоняю.
Распишем T.O.T.E. поподробнее. Можно предположить, что первым тестом
(целью) этого гражданина было желание, «чтоб не было акул». Операции тоже вполне конкретны: удары палкой по луже. Милиционер указывает ему на то, что значение второго теста (текущего положения): «акул нигде нет», совпадает со значением первого теста. Но выход в нетрезвом состоянии «не сработал».У меня есть предположение, почему он не сработал. Цель была неправильно сформулирована. Мы уже знаем, что здесь был нарушен первый пункт спецификации цели — позитивность формулировки. Впрочем, нарушен и второй пункт — зависимость.
Продолжая тему целей, стоит отметить, что у каждой цели есть множество подцелей, промежуточных задач. Аналогично, каждый результат является промежуточным для более глобального результата. Если вашей целью считается прочитанная и понятая глава, то подцелями здесь будут абзацы. Для абзацев — строки. Для строк — слова. Таким образом, любой T.O.T.E. можно разбить на множество более мелких промежуточных «тоутов», при этом он является частью некоего более глобального «тоута».
Помните про пример с грибами? Там первым тестом
была полная корзина, к операциям относились все эти действия по поиску и сбору каждого гриба. Второй тест — степень заполненности корзины или же количество найденных грибов. Выход осуществлялся либо по времени, либо по совпадению тестов — заполнению корзины.