На Хабре уже долгое время публикуется совместный перевод замечательной книги Ричарда Хэмминга "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-мерном пространстве, которое обладает очень контринтуитивными свойствами.
Оптимальное решение при проектировании с ограничениями почти наверняка будет находиться близко к границе.
Метрика распространена в физике. и — в «интеллектуальной сфере».
«Смысл» сообщения не привязан к конкретным словам, т.к. одна и та же «информация» может быть представлена разными способами.
Кодирование «информации» может быть выбрано на основе «типа шума» системы. В реальной жизни, подбор других слов может помочь собеседнику лучше понять сообщение.
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% рабочего времени для размышлений о глобальных вопросах.
Великие люди могут справляться с неоднозначностью: они верят в превосходство своей организации и области исследований, но в то же время считают, что существует пространство для роста.
Держите в уме важные нерешённые задачи и начинайте работу над той, о которой у вас было озарение.
Как, не только что, вы делаете («стиль») имеет значение.
Делайте свою работу доступной для других.
Не вините инструменты.
Учитесь «продавать» свои идеи.
Изменение не означает прогресс, но для прогресса необходимо изменение.
В начале карьеры вам, возможно, придётся работать в своё личное время.
Без исследования жизнь того не стоит (Сократ). Планируйте своё будущее, не важно насколько ошибочным оно в итоге окажется.