На Хабре уже долгое время публикуется совместный перевод замечательной книги Ричарда Хэмминга "The Art of Doing Science and Engineering". Я долгое время хотел её прочитать в оригинале. Да не просто прочитать, а составить насколько возможно краткую выжимку основных идей каждой главы. И вот недавно мне удалось это сделать.
Целью самой книги является "подготовить вас к вашему техническому будущему" путём обучения "стилю" мышления. Поэтому извлечённые идеи в основном имеют достаточно общий характер. Также из-за частого способа передачи идеи в виде историй некоторые пункты статьи являются моей личной их интерпретацией.
Из-за достаточно большого количества материала и его "плотной" подачи данная статья всё равно получилась достаточно объёмной. Поэтому предлагаю её TL;DR.
- Удача сопутствует подготовленному уму (Пастер).
- Подготовка должна осуществляться ориентируясь на будущее, а не на прошлое (но основываясь на нём).
- Стоит стараться достигать цели, которые вы себе поставили, и стоит ставить высокие цели.
Предисловие
- Учителя должны готовить студентов к их будущему, а не к своему прошлому. Наиболее подходящим способом является обучение «стилю» мышления.
I Ориентация
- Старайтесь как можно быстрее проверять утверждения методом «вычислений на салфетке». Это помогает как с постановкой, так и с контролем качества задачи.
- Изучайте основы: знания, которые принимаются истинными в течение достаточно длительного периода времени.
- Создавайте собственное видение своего будущего, не важно насколько ошибочным оно в итоге окажется. Целями должны быть достижение величия и внесение вклада в развитие человечества.
II Основы цифрового (дискретного) подхода
- Использование «цифровых» решений вместо «аналоговых» дешевле, более надёжно и социально обусловлено.
- Компьютеры будут и дадут возможности совершать обширный набор задач. Особенно это будет средством для «порочного» микроменеджмента.
III История компьютеров – аппаратное обеспечение
- Вычислительные машины прошли долгий путь от медленных аналоговых «ручных» до быстрых цифровых автоматизированных.
- Компьютер не знает ничего о том, что он делает. Смысл его работе придают люди.
IV История компьютеров – программное обеспечение
- Программное обеспечение (ПО) прошло долгий путь от подверженного ошибкам «создано для машин» подхода до более надёжного «создано для людей».
- Создатель может не полностью осознавать «степень величия» своего творения (из-за всевозможных проблем, которые были на пути).
- Избыточность языка повышает его надёжность.
- Программирование больше похоже на писательство, чем на инженерное дело: люди летают в космос более-менее схожими способами, но два программиста напишут весьма разные программы для решения одной достаточно общей задачи.
- Думайте, прежде чем писать программу. В частности о том, как вы будете проверять её корректность, и о том, как она будет поддерживаться.
- Опыт не является универсальным способом измерения компетентности.
V История применения компьютеров
- Основные этапы применения компьютеров:
- Осуществление вычислений быстрее людей.
- Автоматизация этих вычислений.
- Отслеживание выполнения этих вычислений.
- Применение компьютеров должно быть экономически обосновано.
- Модифицируемые (программируемые) общие решения (микросхемы в частности) показали себя экономически выгоднее узконаправленных.
VI Искусственный интеллект – I
- В области искусственного интеллекта (ИИ) существует ключевая проблема определения понятий: «машина», «мышление», «информация».
- Исследователь должен использовать (при этом подвергая сомнению) собственные убеждения в попытках определить понятия, а также осознать возможности и ограничения компьютеров в «интеллектуальной сфере».
VII Искусственный интеллект – II
- В крупномасштабных структурах могут возникать новые эффекты: считается, что между молекулами нет трения, но между большими объектами оно наблюдается. Аналогичное может быть верно и для «интеллекта».
- Компьютеры сначала заменяют людей в рутинных задачах, в то время как более сложные (алгоритмически и этически) области до сих пор нуждаются во взаимодействии человека и компьютера.
- В современном ИИ сложно сказать, является ли результат следствием «брутфорса» или «понимания».
- Возможно, мышление должно измеряться не в том, что делается, а как оно делается.
VIII Искусственный интеллект – III
- «Могут ли машины думать?». Имеется много хитрых наблюдений за обе стороны (есть список). Наиболее интересное: части самой короткой «думающей» программы не могут «думать» по определению.
- Может быть хорошей идеей рассуждать о будущих способах применения компьютеров, а не о прошлых или настоящих.
- Вы должны продумать и ясно осознать свою позицию по этим двум вопросам. Вам должно быть ясно во что вы верите и почему.
IX n-мерное пространство
- Проектирование сложных систем осуществляется в n-мерном пространстве, которое обладает очень контринтуитивными свойствами.
- Оптимальное решение при проектировании с ограничениями почти наверняка будет находиться близко к границе.
- Метрика распространена в физике. и — в «интеллектуальной сфере».
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% рабочего времени для размышлений о глобальных вопросах.
- Великие люди могут справляться с неоднозначностью: они верят в превосходство своей организации и области исследований, но в то же время считают, что существует пространство для роста.
- Держите в уме важные нерешённые задачи и начинайте работу над той, о которой у вас было озарение.
- Как, не только что, вы делаете («стиль») имеет значение.
- Делайте свою работу доступной для других.
- Не вините инструменты.
- Учитесь «продавать» свои идеи.
- Изменение не означает прогресс, но для прогресса необходимо изменение.
- В начале карьеры вам, возможно, придётся работать в своё личное время.
- Без исследования жизнь того не стоит (Сократ). Планируйте своё будущее, не важно насколько ошибочным оно в итоге окажется.
- Удачи!
Ermit
Спасибо! Очень хороший конспект. Многие вещи очевидны, но все-равно есть о чем серьезно подумать. «Цифровые фильтры», видимо, нужно прочитать в подлинике.