На Хабре уже долгое время публикуется совместный перевод замечательной книги Ричарда Хэмминга "The Art of Doing Science and Engineering". Я долгое время хотел её прочитать в оригинале. Да не просто прочитать, а составить насколько возможно краткую выжимку основных идей каждой главы. И вот недавно мне удалось это сделать.


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


Из-за достаточно большого количества материала и его "плотной" подачи данная статья всё равно получилась достаточно объёмной. Поэтому предлагаю её TL;DR.


TL;DR этого TL;DR
  • Удача сопутствует подготовленному уму (Пастер).
  • Подготовка должна осуществляться ориентируясь на будущее, а не на прошлое (но основываясь на нём).
  • Стоит стараться достигать цели, которые вы себе поставили, и стоит ставить высокие цели.


Предисловие


  • Учителя должны готовить студентов к их будущему, а не к своему прошлому. Наиболее подходящим способом является обучение «стилю» мышления.

I Ориентация


  • Старайтесь как можно быстрее проверять утверждения методом «вычислений на салфетке». Это помогает как с постановкой, так и с контролем качества задачи.
  • Изучайте основы: знания, которые принимаются истинными в течение достаточно длительного периода времени.
  • Создавайте собственное видение своего будущего, не важно насколько ошибочным оно в итоге окажется. Целями должны быть достижение величия и внесение вклада в развитие человечества.

II Основы цифрового (дискретного) подхода


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

III История компьютеров – аппаратное обеспечение


  • Вычислительные машины прошли долгий путь от медленных аналоговых «ручных» до быстрых цифровых автоматизированных.
  • Компьютер не знает ничего о том, что он делает. Смысл его работе придают люди.

IV История компьютеров – программное обеспечение


  • Программное обеспечение (ПО) прошло долгий путь от подверженного ошибкам «создано для машин» подхода до более надёжного «создано для людей».
  • Создатель может не полностью осознавать «степень величия» своего творения (из-за всевозможных проблем, которые были на пути).
  • Избыточность языка повышает его надёжность.
  • Программирование больше похоже на писательство, чем на инженерное дело: люди летают в космос более-менее схожими способами, но два программиста напишут весьма разные программы для решения одной достаточно общей задачи.
  • Думайте, прежде чем писать программу. В частности о том, как вы будете проверять её корректность, и о том, как она будет поддерживаться.
  • Опыт не является универсальным способом измерения компетентности.

V История применения компьютеров


  • Основные этапы применения компьютеров:
    • Осуществление вычислений быстрее людей.
    • Автоматизация этих вычислений.
    • Отслеживание выполнения этих вычислений.
  • Применение компьютеров должно быть экономически обосновано.
  • Модифицируемые (программируемые) общие решения (микросхемы в частности) показали себя экономически выгоднее узконаправленных.

VI Искусственный интеллект – I


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

VII Искусственный интеллект – II


  • В крупномасштабных структурах могут возникать новые эффекты: считается, что между молекулами нет трения, но между большими объектами оно наблюдается. Аналогичное может быть верно и для «интеллекта».
  • Компьютеры сначала заменяют людей в рутинных задачах, в то время как более сложные (алгоритмически и этически) области до сих пор нуждаются во взаимодействии человека и компьютера.
  • В современном ИИ сложно сказать, является ли результат следствием «брутфорса» или «понимания».
  • Возможно, мышление должно измеряться не в том, что делается, а как оно делается.

VIII Искусственный интеллект – III


  • «Могут ли машины думать?». Имеется много хитрых наблюдений за обе стороны (есть список). Наиболее интересное: части самой короткой «думающей» программы не могут «думать» по определению.
  • Может быть хорошей идеей рассуждать о будущих способах применения компьютеров, а не о прошлых или настоящих.
  • Вы должны продумать и ясно осознать свою позицию по этим двум вопросам. Вам должно быть ясно во что вы верите и почему.

IX n-мерное пространство


  • Проектирование сложных систем осуществляется в n-мерном пространстве, которое обладает очень контринтуитивными свойствами.
  • Оптимальное решение при проектировании с ограничениями почти наверняка будет находиться близко к границе.
  • Метрика $L_2$ распространена в физике. $L_1$ и $L_{\infty}$ — в «интеллектуальной сфере».

X Теория кодирования – I


  • Модель «информационной системы»: [источник (неизвестной природы)] -> [кодер источника | кодер канала] -> [зашумлённый канал] -> [декодер канала | декодер источника] -> [получатель (неизвестной природы)].
  • «Смысл» сообщения не привязан к конкретным словам, т.к. одна и та же «информация» может быть представлена разными способами.
  • Кодирование «информации» может быть выбрано на основе «типа шума» системы. В реальной жизни, подбор других слов может помочь собеседнику лучше понять сообщение.

XI Теория кодирования – II


  • Проектирование системы должно учитывать ошибки взаимодействия человека и машины.

XII Коды с коррекцией ошибок


  • Прорывы в исследованиях часто сопряжены с (идут после) эмоционального стресса и фрустрации. Спокойный исследователь хорош для совершенствования и расширения существующих решений.
  • Прорывы часто совершаются частями, разделёнными во времени (иногда существенно).
  • Удача сопутствует подготовленному уму (Пастер). При этом подготовка должна осуществляться ориентируясь на будущее, а не на прошлое (но основываясь на нём).

XIII Теория информации


  • В теории информации Шеннона понятие «информация» на самом деле не определено, только способ её измерения (как относительная мера «удивления»).
  • В прикладных задачах определение в долгосрочной перспективе определяет объект, а не описывает наше изначальное представление о нём.

XIV Цифровые фильтры – I


  • «Инициатива наказуема» (даже с благими намерениями), однако качественно реализованная может привести к великим достижениям.
  • Настойчивость и мотивация зачастую дают лучшие результаты, чем обширные начальные знания.

XV Цифровые фильтры – II


  • Старайтесь не называть что-то новое, как «ничего нового, просто усовершенствованное старое». Оно может представлять отличную возможность для великих свершений.
  • Сотрудничество имеет важное значение в сложных проектах.

XVI Цифровые фильтры – III


  • Если вы знаете, что что-то не может быть сделано, потрудитесь запомнить причину: чтобы в будущем вы могли пересмотреть подход в новой ситуации.

XVII Цифровые фильтры – IV


  • В ходе решения задачи кто-то должен «отвечать» за общую картину исследования и следить за тем, чтобы всё было сделано добросовестно.
  • То, что мы видим, зависит от подхода к задаче. Поэтому вы должны постоянно подвергать сомнению ваши (и области знаний) убеждения (но не очень сильно).

XVIII Моделирование – I


  • При моделировании не забывайте постоянно сверяться с реальностью.
  • Сначала используйте простое моделирование для более «тесного» знакомства с основами модели. Только после этого начинайте добавлять детали.
  • Используйте знания экспертов при моделировании. Это также означает изучение их жаргона.

XIX Моделирование – II


  • Достоверность моделирования является его важным качеством. Удобным вопросом для её проверки: «Почему кто-то должен верить в то, что моделирование соответствует действительности?» (относится к точности модели и вычислений).
  • К сожалению, не существует универсального способа этого достичь. Несколько советов:
    • Убедитесь в том, что область моделирования имеет устойчивые научные законы и явно постулированную теорию.
    • Осуществляйте в любом виде «проверки на адекватность» и «модульное тестирование» программы.
  • Вы лично несёте ответственность за свои решения и не можете её перекладывать на тех, кто осуществляет моделирование.

XX Моделирование – III


  • Принцип «Мусор на входе – мусор на выходе» (некачественные данные дают некачественные результаты) полезен, но иногда может не работать из-за особенностей задачи (например, высокая устойчивость к ошибкам на входе).
  • Выбор метода моделирования должен соответствовать сути задачи.
  • Гордость за свою способность решать задачи очень помогает в достижении важных результатов при сложных условиях.
  • Излишние знания могут навредить в моделировании с участием человека и случайности (отсюда и создание двойного слепого метода).

XXI Волоконная оптика


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

XXII Обучение с помощью компьютера – CAI


  • Остерегайтесь принятия желаемого за действительное и Хоторнского эффекта (наличие положительного результата, если все стороны верят в качество метода).
  • Компьютеры могут быть полезны при «тренировке» (рутинном, «низкоуровневом», инстинктивном обучении), но могут быть вредными для «образования». В основном из-за отсутствия четкого понимания каким должно быть качественное образование.

XXIII Математика


  • «Математика это язык ясного мышления» (хотя и не идеальный).
  • Пять школ Математики:
    • Платоническая. Всё является реализацией идей, которые существуют как отдельные сущности. Проблема: эволюционирующая природа науки.
    • Формалисты. Математика представляет собой осуществление разрешённых формальных преобразований (без всякого «смысла») строк абстрактных символов. Проблема: математические результаты имеют «смысл».
    • Логическая. Математика представляет собой осуществление выводов по типу «если A верно, то верно B». Проблема: реальное математическое открытие не происходит в виде рассуждений от предположений к выводам. Мышление в обратном направлении также имеет место.
    • Интуиционизм. Имеют значения результаты, а не способ их получения. Проблема: склонность не использовать строгие методы.
    • Конструктивисты. Для доказательства предположения необходимо предоставить алгоритм построения результата. Проблема: кажется чересчур строгим подходом.
  • Часть эффективности Математики заключается в способности выявления аналогии. Чем она точнее, тем «более истинными» могут быть выводы.
  • В будущем математические аналогии будут менее очевидными, что может привести к необходимости создания абсолютно новых подходов.

XXIV Квантовая механика


  • Набор данных не гарантирует получение единственной теории.
  • Человек не рациональное, а рационализирующее животное.
  • Даже без «понимания» явления можно эффективно использовать специально созданные формальные математические структуры.

XXV Креативность


  • «Оригинальность» кажется чем-то большим, чем «так никогда не делалось». Видимо, слово «креативный» («оригинальный», «новаторский») должно включать понятие полезности (но для кого?).
  • «Креативность» может быть всего-лишь соединением вместе тривиальных идей, которые «психологически далеки» друг от друга.
  • Похоже, что определённое «состояние разума» сопутствует «креативности».
  • Креативность это как секс: молодой человек может прочитать все книги по предмету, но без реального опыта у него мало шансов понять, что это такое. Но даже тогда может быть мало понимания, что на самом деле происходит.
  • Типичный шаблон креативной работы:
    • Первичное осознание задачи.
    • Обработка задачи, формулировка её в общепринятой форме с общепринятым решением. Часто необходимо глубокое эмоциональное вовлечение.
    • Долгий период «вынашивания» с интенсивным обдумыванием задачи. Результатом могут быть решение или временная остановка работы над задачей.
    • Момент «озарения» — появление решения. Часто оно является неверным, поэтому обдумывание продолжается или задача должна быть переформулирована, чтобы подходить решению.
  • Полезный вопрос: «Если бы у меня было решение, как бы оно выглядело?».
  • Полезный приём: старайтесь сильно не думать о чём-либо другом помимо задачи.
  • Наиболее важным методом в креативной работе является аналогия. Поэтому обширные знания полезны. Для того, чтобы их эффективно использовать, новые знания не должны просто запоминаться. Полезно создавать «ментальные зацепки», которые будут срабатывать при мышлении «рядом с ними». Этого можно достичь путём активного размышления о нетрадиционном применении знания.
  • Для того, чтобы быть более креативным, вы должны изменить себя (взять на себя ответственность). Более того, это должно быть сделано при изменяющемся характере общества.
  • Учитесь отказываться от решения задачи.

XXVI Эксперты


  • Две проблемы с экспертами:
    • Они уверены в своей правоте.
    • Они не обращают внимания на основы своих убеждений и до какой степени они применимы в новых ситуациях.
  • Великие открытия зачастую совершаются извне области знаний (экспертами из другой области). Вы должны сознательно решить, продвигать ли свою область или создавать инновации в другой.
  • То, что сделало вас успешным, скорее всего будет не продуктивно в будущем. Следите за своей областью.

XXVII Недостоверные данные


  • Недостоверные данные всюду.
  • Всегда проверяйте качество данных. Как минимум на согласованность и выбросы.
  • Процесс измерения часто вносит неумышленные систематические изменения в данные.
  • Следите за определением измерений для того, чтобы анализировать одну и ту же сущность.
  • Небольшой аккуратно собранный набор данных лучше большого некачественного.
  • Относитесь внимательно к качеству методологии сбора данных (особенно опросникам).

XXVIII Системная инженерия


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

XXIX Вы получаете то, что измеряете


  • Вы получаете то, что измеряете. Это означает:
    • Определение измерения влияет на результат (как в случае с IQ).
    • Измеряемый процесс может адаптироваться к самой процедуре измерения, нарушая исходный план. Это встречается очень часто в рейтинговых системах с участием людей.
  • Измерения всё равно нужно делать, но после тщательного размышления о последствиях его осуществления.

XXX Вы и ваши исследования


  • Стоит стараться достигать цели, которые вы себе поставили, и стоит ставить высокие цели.
  • Удача сопутствует подготовленному уму (Пастер).
  • Тяжёлая работа окупается, но если осуществляется в правильном направлении.
  • Вера в умение делать великие дела важна. Её можно назвать уверенностью, «отвагой». Повышайте её изучая свои успехи.
  • Целенаправленное стремление к совершенству важно для выполнения великой работы.
  • Знайте свой возраст.
  • То, что вы считаете хорошими условиями для работы, могут таковыми не быть.
  • Переформулирование тяжёлой задачи может помочь.
  • Планируйте около 10% рабочего времени для размышлений о глобальных вопросах.
  • Великие люди могут справляться с неоднозначностью: они верят в превосходство своей организации и области исследований, но в то же время считают, что существует пространство для роста.
  • Держите в уме важные нерешённые задачи и начинайте работу над той, о которой у вас было озарение.
  • Как, не только что, вы делаете («стиль») имеет значение.
  • Делайте свою работу доступной для других.
  • Не вините инструменты.
  • Учитесь «продавать» свои идеи.
  • Изменение не означает прогресс, но для прогресса необходимо изменение.
  • В начале карьеры вам, возможно, придётся работать в своё личное время.
  • Без исследования жизнь того не стоит (Сократ). Планируйте своё будущее, не важно насколько ошибочным оно в итоге окажется.
  • Удачи!

Комментарии (1)


  1. Ermit
    13.09.2018 15:21

    Спасибо! Очень хороший конспект. Многие вещи очевидны, но все-равно есть о чем серьезно подумать. «Цифровые фильтры», видимо, нужно прочитать в подлинике.