Це цікаво

Річард Хэмминг: Моделювання — III

«Мета цього курсу — підготувати вас до вашого технічного майбутнього.»

Моделювання — III

Cконцентруюэмося на старому вираженні «Сміття на вході – сміття на виході», яке часто скорочують як GIGO (garbage in, garbage out). Ідея в тому, що якщо ви помістіть недбало зібрані дані та невірно певні вирази на вхід, то на виході ви можете отримати тільки некоректні результати. Так само неявно передбачається і зворотне: з наявності точних вхідних даних та отримання коректного результату. Я покажу, що обидва ці припущення можуть бути помилковими.

Часто моделювання будується на вирішенні диференційних рівнянь, тому для початку ми розглянемо найпростіше диференціальне рівняння першого порядку виду

Як ви пам’ятаєте, поле напрямків – це зведені в кожній точці площини x-y лінії, з кутовими коефіцієнтами, заданими диференціальним рівнянням (Малюнок 20.I). Наприклад, диференціальне рівняння має поле напрямків, показане на малюнку 20.II.

Малюнок 20.I

При кожному концентричному колі,

такий що коефіцієнт нахилу прямої завжди однаковий і залежить від значення k. Такі криві називаються изоклинами.

А тепер подивимося на поле напрямків іншого диференціального рівняння (малюнок 20.III). У лівій частині ми бачимо розходиться поле напрямків, це означає що невеликі зміни в початкових значеннях або невеликі помилки обчислень призведуть до великої різниці значень в середині траєкторії. У правій частині ми бачимо, що поле напрямків сходиться. Це означає, що при більшій різниці значень в середині траєкторії різниця значень в правому кінці буде невеликою. Цей простий приклад показує, як маленькі помилки можуть ставати великими, великі помилки маленькими, і більше того, як маленькі помилки можуть спочатку стати великими, а потім знову маленькими. Тому точність рішення залежить від конкретного інтервалу, на якому обчислюється рішення. Не існує якоїсь абсолютної загальної точності.

Малюнок 20.II

Малюнок 20.III

Ці міркування побудовані для функції

яка є рішенням диференціального рівняння

Ймовірно, ви вже представили «трубу», яка спочатку розширюється, а потім звужується, навколо «істинного, точного рішення» рівняння. Таке уявлення відмінно підходить для випадку двох вимірів, але коли у мене система з n таких диференціальних рівнянь — 28 у випадку задачі про ракету-перехоплювач для ВМФ, згаданої раніше, — тоді ці «труби» навколо істинного розв’язку рівняння виявляються не тим, чим здаються на перший погляд. Фігура складається з чотирьох кіл у двох вимірах призводить до описаного в 9-й главі парадоксу n-вимірів для десятимерного простору. Це просто інший погляд на проблему стабільного та нестабільного моделювання, описану в попередньому розділі. На цей раз я наведу конкретні приклади пов’язані з диференціальними рівняннями.

Як ми чисельно вирішуємо диференціальні рівняння? Починаючи з звичайного диференціального рівняння першого порядку, ми зображуємо поле напрямів. Наше завдання полягає в тому, щоб маючи деяке задане початкового значення розрахувати значення в наступній найближчій цікавій нам точці. Якщо ми візьмемо локальний коефіцієнт нахилу прямої, заданий диференціальним рівнянням, і зробимо невеликий крок вперед по дотичній, то ми внесемо лише невелику помилку (малюнок 20.IV).

Використовуючи цю нову точку ми перемістимося в наступну точку, але як видно на малюнку, ми поступово відхиляємося від істиною кривої, тому що ми використовуємо коефіцієнт нахилу, попереднього кроку, а не істинний коефіцієнт нахилу поточного інтервалу. Щоб уникнути цього ефекту, ми прогнозуємо» деяке значення, потім використовуємо його, щоб оцінити кутовий коефіцієнт в цій точці (використовуючи диференціальне рівняння), а потім використовуємо усереднене значення кутового коефіцієнта на двох кордонах інтервалу в якості кутового коефіцієнта для цього інтервалу.

Потім, використовуючи цей усереднений кутовий коефіцієнт, ми робимо ще один крок вперед, на цей раз використовуючи формулу «корекції». Якщо значення, отримані за допомогою формул «прогнозування» та «корекції» досить близькі, значить ми припускаємо, що наші розрахунки є досить точними, інакше ми повинні зменшити розмір кроку. Якщо різниця між значеннями занадто мала, то ми повинні збільшити розмір кроку. Таким чином, традиційна схема «предиктор-коректор» має вбудовані механізм для перевірки помилки на кожному кроці, але ця помилка на конкретному кроці ні яким чином і ні в якому сенсі не є спільною накопиченою помилкою! Абсолютно ясно, що накопичена помилка залежить від того, збігається чи розходиться поле напрямів.

Малюнок 20.IV

Малюнок 20.V

Ми використовували прості прямі лінії як для кроку прогнозу так і для кроку корекції. Використання поліном вищих ступенів дає більш точний результат; зазвичай використовуються поліноми четвертого ступеня (рішення диференціальних рівнянь методом Адамса — Башфорта, методом Мильна, методом Хеммінга і т. д. ). Таким чином, ми повинні використовувати значення функції та її похідних у кількох попередніх точках для прогнозування значення функції в наступній точці, після чого ми використовуємо підстановку цього значення в диференціальне рівняння і апроксимуємо нове значення кутового коефіцієнта. Використовуючи нове і попередні значення кутового коефіцієнта а так само значення шуканої функції, ми коректуємо отримане значення. Саме час помітити, що коректор це не що інше, як цифровий рекурсивний фільтр, в якому вхідні значення – це похідні, а вихідні значення – значення шуканої функції.

Стабільність і інші поняття, обговорювані раніше, залишаються актуальними. Як згадувалося раніше, існує додаткова петля зворотного зв’язку для прогнозованого рішення диференціального рівняння, яке в свою чергу використовується в розрахунку скоригованого кутового коефіцієнта. Обидва ці значення використовуються в розв’язанні диференціального рівняння, рекурсивні цифрові фільтри – це просто формули, і нічого більше. При цьому вони не є передавальними характеристиками, як їх прийнято розглядати в теорії цифрових фільтрів. В даному випадку просто-напросто відбувається обчислення значень диференціального рівняння. При цьому різниця між підходами суттєва: в цифрових фільтрах відбувається лінійна обробка сигналу, у той час як при рішенні диференціальних рівнянь присутній нелінійність, яка вноситься обчисленням значень похідних функції. Це не те ж саме, що цифровий фільтр.

Якщо ви вирішуєте систему з n рівнянь, то ви маєте справу з вектором з n компонент. Ви прогнозуєте наступне значення кожного компонента, оцінюєте кожну з n похідних, коригуєте кожне з прогнозованих значень, після чого приймаєте результат обчислень на даному кроці або відхилення його, якщо локальна помилка дуже велика. Ви схильні думати про невеликі помилки як про «трубу», навколишнього справжню обчислену траєкторію. І я знову закликаю пам’ятати про парадокс чотирьох кіл, в высокоразмерных просторах. Такі «труби» можуть виявитися не тим, чим вони здаються на перший погляд.

Тепер дозвольте мені зазначити значну різницю між двома підходами: обчислювальними методами і теорією цифрових фільтрів. У поширених підручниках описані щойно методи обчислювальної математики, які апроксимують функції поліномами. Рекурсивні фільтри ж використовують частоти у формулах оцінки! Це призводить до суттєвих відмінностей!

Щоб побачити різницю, давайте уявимо, що ми розробляємо симулятор посадки людини на Марс. Класичний підхід концентрується на формі траєкторії посадки і використовує наближення поліномами для локальних областей. Отриманий шлях буде мати точки розриву в прискоренні, так як ми крок за кроком рухаємося від інтервалу до інтервалу. У разі частотного підходу, ми сконцетрируемся на отримання правильних частот і дозволимо розташування бути таким, яким воно вийде. В ідеальному випадку обидві траєкторії будуть однаковими, на практиці ж вони можуть істотно відрізнятися.

Який з походів слід використовувати? Чим більше ви будете замислюватися про це, тим більше ви будете схилятися до того, що пілот у тренажері хоче отримати «відчуття» поведінки посадкового модуля, і схоже, що частотний відгук тренажера повинен добре відчуватися» пілотом. Якщо місце розташування буде трохи відрізнятися, то петля зворотного зв’язку компенсує це відхилення в процесі посадки, але якщо «відчуття» управління відрізнятиметься під час реального польоту, пілот буде стурбований новими «відчуттями», яких не було в симуляторі. Мені завжди здавалося, що симулятори повинні готувати пілотів до реальних відчуттів настільки, наскільки це можливо (звичайно ж ми не можемо довго імітувати знижену гравітацію на Марсі), для того, щоб вони відчували себе комфортно, коли в реальності зіткнуться з ситуацією, з якої вони багато разів стикалися в тренажері. На жаль, ми знаємо дуже мало про те, що пілот «відчуває». Відчуває пілот тільки дійсні частоти з розкладання Фур’є, або вони також відчувають комплексні затухаючі частоти Лапласа (або може бути, ми повинні використовувати вейвлети?). Відчувають різні пілоти однакові речі? Ми повинні знати більше, ніж ми знаємо зараз, про цих істотних для проектування умовах.

Описана вище ситуація – це стандартне протиріччя між математичним та інженерним підходом до вирішення завдання. Ці підходи мають різні цілі при рішенні диференціальних рівнянь (як і у випадку багатьох інших завдань), отже вони приводять до різних результатів. Якщо ви зіткнетеся з моделюванням, то ви побачите, що існують приховані нюанси, які виявляються дуже важливі на практиці, але про яких математики нічого не знають і всіляко заперечувати наслідки від нехтування ними. Давайте поглянемо на дві траєкторії (Малюнок 20.IV), які я грубо прикинув. Верхня крива точніше описує місце розташування, але вигини дають зовсім інше відчуття в порівнянні з реальним світом, друга крива більше помиляється місцеположення, але має більшу точність з точки зору «відчуття». Я знову наочно показав, чому я вважаю, що людина з глибоким розумінням предметної області задачі має так само глибоко розібратися і в математичних методах її розв’язання, а не покладатися на традиційні методи рішення.

Зараз я хочу розповісти ще одну історію про ранні дні тестування протиракети системи Nike. В той час проходили польові випробування в Уайт-Сендс, які ще називали «польові випробування телефону». Це були випробувальні запуски, в яких ракета повинна була слідувати визначеної траєкторії і вибухати в останній момент, щоб вся енергія вибуху не виходила за межі визначеної територій і завдавала більшої шкоди, що було краще, ніж більш м’яке падіння окремих частин ракети на землю, яке, ймовірно, повинно було б нанести менше шкоди. Завданням досліджень було отримати реальні вимірювання підйомної сили та лобового опору як функції висоти і швидкості польоту, для того щоб налагодити і поліпшити конструкцію.

Коли я зустрів свого повернувшогося з випробувань друга, він бродив коридорами Лабораторій Белла та виглядав досить нещасним. Чому? Тому що перші два з шести запланованих запусків провалилися в середині польоту і ніхто не знав з чого. Дані необхідні для подальших етапів проектування були не доступні, а це означало серйозні проблеми для всього проекту. Я сказав, що якщо він зможе мені надати диференціальні рівняння, що описують політ, то я зможу посадити дівчинку їх вирішувати (отримати доступ до великих комп’ютерів в пізніх 1940-их було непросто). Приблизно через тиждень вони надали сім диференціальних рівнянь першого порядку та дівчинка була готова почати. Але які були початкові умови за мить до початку проблем у польоті? (В ті дні у нас не було достатньої кількості обчислювальних потужностей, щоб швидко прорахувати всю траєкторію польоту.) Вони не знали! Дані телеметрії були незрозумілі за мить до збою. Я був здивований і це не турбувало мене. Отже, ми використовували передбачувані значення висоти, швидкості польоту, кута атаки і т. д. — по одному початковій умові для кожної із змінних, що описують траєкторію польоту. Іншими словами, у мене було сміття на вході. Але раніше я зрозумів, що природа польових випробувань, які ми моделювали була такою, що невеликі відхилення від запропонованої траєкторії автоматично виправлялися системою наведення! Я мав справу з сильно пересічним полем напрямків.

Ми виявили, що ракета була стійкою по поперечній та вертикальній осі, але при стабілізації однієї з них надлишок енергії приводив до коливань по іншій осі. Таким чином мали місце не тільки коливання по поперечної і вертикальної осі, але і періодична передача зростаючої енергії між ними, викликана обертанням ракети навколо поздовжньої осі. Як тільки були продемонстровані розраховані криві для невеликої ділянки траєкторії, всі тут же зрозуміли, що не була врахована перехресна стабілізація, і всі знали як це виправити. Отже, у нас з’явилося рішення, яке так само дозволило вважати зіпсовані дані телеметрії, отримані під час випробувань, та уточнити період передачі енергії – по суті справи надати правильні диференціальні рівняння для розрахунків. У мене було небагато роботи, крім як переконатися, що дівчина з настільним калькулятором чесно все розрахувала. Отже,  заслуга полягала в розумінні того, що (1) ми можемо змоделювати, що сталося (зараз це рутина при розслідуванні аварій, але тоді це було інновація) і (2) поле напрямків сходиться, тому початкові умови можуть бути задані не точно.

Я вам розповів цю історію для того, щоб показати, що принцип GIGO працює не завжди. Схожа історія сталася зі мною під час раннього моделювання бомби в Лос-Аламосі. Поступово я прийшов до розуміння, що наші обчисленнями, побудовані для рівняння стану, були засновані на досить неточних даних. Рівняння стану пов’язує тиск і щільність речовини. Дані з лабораторій високого тиску, наближення отримані з вивчення землетрусів, щільності зоряних ядер і асимптотичної теорії нескінченних тисків були зображені у вигляді точок на дуже великому аркуші міліметрівки (Малюнок 20.VII). Потім за допомогою лекал ми намалювали криві, які з’єднали розсіяні точки. Потім за цим кривим ми побудували таблиці значень функції з точністю до 3 знаків після коми. Це означає, що ми просто припускали 0 або 5 до 4-го знаку після коми. Ми використали ці дані, щоб побудувати таблиці з точністю до 5-го і 6-ого знаків після коми. На основі цих таблиць були побудовані наші подальші обчислення. В той час, як я вже раніше згадував, я був свого роду калькулятором, і моя робота полягала в тому, щоб вважати і тим самим звільнити фізиків від цього заняття, щоб дозволити їм займатися своєю роботою.

Малюнок 20.VII

Після закінчення війни, я залишився в Лос-Аламосі ще на пів року, і одна з причин, чому я це зробив, полягала в тому, що я хотів зрозуміти, як настільки неточні дані змогли привести до настільки точного моделювання остаточної конструкції. Я довго міркував про це, і я знайшов відповідь. В середині обчислень ми використовували кінцеві різниці другого порядку. Різниця першого порядку показувала значення сили на одній стороні кожної оболонки, а різниці примикають із двох сторін оболонок давали результуючу силу, рухаючу оболонку. Ми були змушені використовувати тонкі оболонки, тому ми вичитали дуже близькі один до одного числа, і потрібно було використовувати багато розрядів після коми. Подальші дослідження показали, що коли «штучка» вибухнула, оболонка рухалася вгору по кривій, і, ймовірно, частково змістилася назад, тому будь-яка локальна помилка в рівнянні стану була наближена до середнього значення. По справжньому важливим було отримати кривизну рівняння стану і, як вже було відмічено, вона повинна була бути в середньому точною. Таким чином, сміття на вході, але точні як ніколи результати на виході!

Ці три приклади показують те, що неявно згадувалося раніше – якщо в задачі існує петля зворотного зв’язку, використовуваних змінних, то необов’язково знати їх значення у точності. На цьому базується чудова ідея Р. С. Блека про те, як будувати петлю зворотного зв’язку у підсилювачах (Малюнок 20.VIII): до тих пір, поки коефіцієнт підсилення дуже високий, тільки опір одного резистора повинен бути точно підібраний, всі інші частини можуть бути реалізовані з низькою точністю. Для схеми, представленої на рисунку 20.VIII ми одержуємо наступні вирази:

Малюнок 20.VIII

Як видно, практично вся невизначеність вимірювання зосереджена в одному резистор номіналом 1/10, в той час як коефіцієнт передачі може бути неточним. Таким чином петля зворотного зв’язку Блека дозволяє нам будувати точні речі з неточних частин.

Тепер ви бачите, чому я не можу дати вам витончену формулу, яка підходить для всіх випадків. Вона повинна залежати від того, які обчислення проводяться над конкретними величинами. Пройдуть неточні значення через петлю зворотного зв’язку, яка компенсуватиме помилку, або помилки вийдуть за межі системи без захисту зворотним зв’язком? Якщо для змінних не передбачений зворотній зв’язок, то життєво важливо отримати їх точні значення.
Отже, усвідомлення цього факту здатне вплинути на дизайн системи! Добре спроектована система захищає вас від необхідності використання великої кількості високоточних компонентів. Але подібні принципи проектування все ще неправильно розуміються в даний момент і потребують ретельного вивчення. І справа не в тому, що хороші проектувальники не розуміють цього на рівні інтуїції, просто не так просто застосувати ці принципи в методах проектування, які ви вивчали. Хороші уми все ще потребують у всіх тих засобах автоматичного проектування, які ми розробили. Кращі уми зможуть вбудувати ці принципи у вивчені методів проектування, щоб зробити їх доступними «з коробки» для всіх інших.

Звернемося тепер до іншого прикладу і принципу, який дозволив мені отримати рішення однієї важливої задачі. Мені було дано диференціальне рівняння

Відразу помітно, що значення умови на нескінченності дійсно є правою частиною диференціального рівняння прирівняного до нуля, малюнок 20.IX

Але давайте розглянемо питання стабільності. Якщо значення y в якійсь досить віддаленій точці x стає досить великим, то значення sinh(y) стає значно більше, друга похідна приймає велике позитивне значення, а крива вистрілює по напрямку до плюс нескінченності. Аналогічно, якщо значення y занадто мале, то крива вистрілює по напрямку до мінус нескінченності. І абсолютно не має значення, чи рухаємося ми зліва направо або справа наліво. Раніше, коли я стикався з розбіжним полем напрямів, я використовував очевидний трюк: інтегрував в протилежному напрямку і отримував точне рішення. Але в даному випадку, ми ніби перебуваємо на гребені піщаної дюни і як тільки обидві ноги опиняються на одному схилі, ми зриваємося вниз.

Малюнок 20.IX

Я намагався використовувати розкладання в степеневі ряди, розкладання у неступеневі ряди, наближають вихідну криву, але проблема нікуди не йшла, особливо для великих значень k. Ні я, ні мої друзі не змогли запропонувати будь-якого адекватного рішення. Тоді я вирушив до постановників завдання і в першу чергу став оскаржувати граничну умова на нескінченності, проте, з’ясувалося, що це умова пов’язана з відстанню, виміряною в шарах молекул, а в той час, кожен-практично реалізований транзистор мав практично нескінченну кількість шарів. Тоді я став оскаржувати рівняння, і вони знову виграли суперечку, і мені довелося відступити назад в свій офіс і продовжити думати.

Це була важлива задача, пов’язана з проектуванням і розумінням транзисторів, які розроблялися в той час. Я завжди стверджував, що якщо задача є важливою і коректно поставлена, то я можу знайти якесь рішення. Тому у мене не було виходу, це було справою честі.

Мені знадобилося кілька днів роздумів, щоб зрозуміти, що нестабільність була ключем до відповідного методу. Я будував рішення диференціального рівняння на невеликому інтервалі за допомогою диференціального аналізатора, який у мене був на той час, і якщо рішення стріляло вгору, то це означало, що я вибрав занадто велике значення кутового коефіцієнта, якщо ж воно выстреливало вниз, значить я вибрав дуже маленьке значення. Таким чином, невеликими кроками, я пройшов по гребені дюни, і як тільки рішення зривалося з одного боку, я знав, що потрібно зробити, щоб повернутися на гребінь. Як бачите, професійна гордість — хороший помічник, коли потрібно знайти рішення важливої задачі у складних умовах. Як же легко можна було відмовитися від рішення цієї задачі, послатися на те, що вона нерозв’язна, некоректно поставлена або знайти будь-які інші відмовки, але я як і раніше вірю, що важливі і коректно поставлені завдання дозволяють отримати нову корисну інформацію. Ряд завдань, пов’язаних з просторовим зарядом, що я вирішив за допомогою обчислювальних методів, мали аналогічну складність, пов’язану з нестабільністю в обох напрямках.

Перед тим як розповісти вам таку історію, я хочу нагадати вам про тести Роршаха, який був популярний у часи моєї юності. Крапля чорнила наноситься на аркуш паперу, після чого він складається навпіл, а коли його знову розгортають, отримують симетричну пляму досить випадкової форми. Послідовність цих плям показується випробуваним, яких просять розповісти, що вони бачать. Їх відповіді використовуються для аналізу особливостей їх особистості. Очевидно, що відповіді є плодом їхньої уяви, оскільки по суті пляма має випадкову форму. Це як дивитися на хмари в небі і обговорювати, на що вони схожі. Ви обговорюєте виключно плоди вашої уяви, а не реальність, і це в якійсь мірі відкриває нове про вас самих, а не про хмари. Я вважаю, що метод чорнильних плям більше не використовується.

А тепер перейдемо до самої історії. Одного разу, мій друг-психолог з Лабораторій Белла побудував машину, в якій було 12 перемикачів і дві лампочки — червона і зелена. Ви встановлювали перемикачі, натискали кнопку, і після цього спалахувала червона або зелена лампочка. Після того, як перший випробуваний здійснював 20 спроб, він пропонував теорію про те, як запалити зелену лампочку. Ця теорія передавалася наступній жертві, після чого в неї теж було 20 спроб, щоб запропонувати свою теорію про те, як запалити зелену лампочку. І так до нескінченності. Метою експерименту ставилося вивчення того, як розвиваються теорії.

Але мій друг, діючи в своєму стилі, підключив лампочки до випадкового джерела сигналів! Одного разу він мені поскаржився, що жоден учасник експерименту (а всі вони були справжніми дослідниками Лабораторій Белла) не сказав, що не існує закономірності. Я негайно припустив, що жоден з них не був фахівцем у галузі статистики чи теорії інформації — саме ці два типи фахівців не з чуток знайомі з випадковими подіями. Перевірка показала, що я був правий!

Це сумний наслідок вашої освіти. Ви з любов’ю вивчали, як одна теорія замінюється іншою, але ви не вивчали, як відмовитися від гарної теорії і прийняти випадковість. Саме це і було необхідно: бути готовим визнати, що тільки що прочитана теорія не підходить, а в даних немає якої-небудь закономірності, чиста випадковість!

Я повинен зупинитися на це детальніше. Статистики постійно запитують себе: «що я увазі, насправді має місце, чи це просто випадковий шум?». Вони розробили спеціальні методи тестування, для відповіді на це питання. Їхні відповіді — це не однозначне «так» або «ні», а «так» або «ні» за певним рівнем впевненості. Поріг впевненості в 90% означає, що зазвичай з 10 спроб ви помилитеся тільки один раз, за умови, що всі інші гіпотези коректні. У цьому випадку одне з двох: або ви знайшли те, чого немає (Помилка першого роду), або ви пропустили те, що шукали (Помилка другого роду). Набагато більше даних потрібно для того, щоб отримати рівень впевненості у 95%, а в даний час збір даних може бути дуже дорогим. Збір додаткових даних також потребує додаткового часу та прийняття рішення відкладається — це улюблений прийом людей, які не хочуть нести відповідальності за свої рішення. «Потрібно більше інформації» — скажуть вони вам.

Я абсолютно серйозно стверджую, що більшість виробленого моделювання — це не більш ніж тест Роршаха. Я процитую видатного практика теорії управління Джея Форрестера: «З поведінки системи виникнуть сумніви, які зажадають перегляду вихідних припущень. З процесу переробки вихідних припущень про частинах і спостережуваного поведінки цілого ми покращуємо наше розуміння структури та динаміки системи. Ця книга є результатом кількох циклів повторного вивчення, пройдених автором».

Як неспеціалістові відрізнити це від тесту Роршаха? Побачив він щось просто тому, що хотів це побачити або відкрив нову грань реальності? На жаль, дуже часто моделювання містить у собі деякі корективи, які дозволяють «бачити тільки те, що хочеться». Це шлях найменшого опору, саме тому класична наука передбачає велику кількість заходів, які в наш час часто просто ігноруються.

Ви думаєте, що ви досить обережні, щоб не видавати бажане за дійсне? Давайте розглянемо знамените подвійне сліпе дослідження, яке є загальноприйнятою практикою в медицині. Спочатку лікарі виявили, що пацієнти відзначають поліпшення стану, коли думають, що вони отримують нові ліки, в той час як пацієнти з контрольної групи, які знають, що не вживають нові ліки, не відчувають поліпшення стану. Після цього доктори рандомізовали групи і почали давати деяким пацієнтам плацебо, щоб вони не могли ввести в оману лікарів. Але до свого жаху, лікарі виявили, що лікарі, які знали, хто приймає ліки, а хто ні, так само виявляли поліпшення стану у тих, у кого воно очікувалося і не знаходили покращення у тих, у кого воно не очікувалося. В якості останнього засобу доктора стали повсюдно взяли метод подвійного сліпого дослідження — поки дані не будуть зібрані, ні лікарі, ні пацієнти не знають, хто приймає нове ліки, а хто ні. В кінці експерименту статистики відкривають запечатаний конверт і проводять аналіз. Лікарі, які прагнули до чесності, відкрили, що самі такими не є. Ви проводите моделювання настільки краще, що вам можна довіряти? Ви впевнені, що ви просто не знайшли те, що так прагнули знайти? Самообман дуже поширений.

Я почав з того, що задав питання, чому всі повинні вірити похідній моделювання? Зараз ця проблема стала для вас більш очевидною. Не так просто відповісти на це питання, поки ви не взяли набагато більше заходів, ніж зазвичай прийнято. Пам’ятайте, що у вашому высокотехнологичесокм майбутньому, найімовірніше, ви будете представляти сторону замовника моделювання, і на основі його результатів вам доведеться приймати рішення. Не існує інших шляхів, крім моделювання, що отримати відповідь на питання «Що, якщо … ?». Я розглядав рішення, які повинні бути прийняті, а не весь час відкладатися, якщо організація не збирається нескінченно ритися і дрейфувати — я припускаю, що ви будете серед тих, хто повинен буде прийняти рішення.

Моделювання необхідно для відповіді на питання «Що, якщо … ?», але при цьому воно повне підводних каменів, і не варто довіряти його результатами просто тому, що були задіяні великі людські та апаратні ресурси, щоб отримати красиві кольорові роздруківки або криві на осцилографі. Якщо ви той, хто приймає остаточне рішення, то вся відповідальність лежить на вас. Колегіальні рішення, які призводять до розмиття відповідальності, рідко є гарною практикою — як правило вони є посереднім компромісом, в якому відсутні гідності будь-кого з можливих шляхів. Досвід навчив мене, що вирішальний бос набагато краще який балакає даремно боса. У цьому випадку ви точно знаєте, де ви знаходитеся і можете продовжити роботу, яка повинна бути зроблена.

Питання «Що якщо … ?» часто буде вставати перед вами в майбутньому, тому вам потрібно як слід розібратися з основами і можливостями моделювання, щоб бути готовими оскаржити результати і розібратися в деталях, там де це необхідно.

Продовження слідує…

Зміст книги 

Передмова

  1. Intro to The Art of Doing Science and Engineering: Learning to Learn (March 28, 1995) Переклад: Глава 1
  2. «Foundations of the Digital (Discrete) Revolution» (March 30, 1995) Глава 2. Основи цифрової (дискретної) революції
  3. «History of Computers — Hardware» (March 31, 1995) Глава 3. Історія комп’ютерів — залізо
  4. «History of Computers — Software» (April 4, 1995) Глава 4. Історія комп’ютерів — Софт
  5. «History of Computers — Applications» (April 6, 1995) Глава 5. Історія комп’ютерів — практичне застосування
  6. «Artificial Intelligence — Part I» (April 7, 1995) Глава 6. Штучний інтелект — 1
  7. «Artificial Intelligence — Part II» (April 11, 1995) Глава 7. Штучний інтелект — II
  8. «Artificial Intelligence III» (April 13, 1995) Глава 8. Штучний інтелект-III
  9. «n-Dimensional Space» (April 14, 1995) Глава 9. N-вимірний простір
  10. «Coding Theory — The Representation of Information, Part I» (April 18, 1995) Глава 10. Теорія кодування — I
  11. «Coding Theory — The Representation of Information, Part II» (April 20, 1995) Глава 11. Теорія кодування — II
  12. «Error-Correcting Codes» (April 21, 1995) Глава 12. Коди з корекцією помилок
  13. «Information Theory» (April 25, 1995) (пропав перекладач :((( )
  14. «Digital Filters, Part I» (April 27, 1995) Глава 14. Цифрові фільтри — 1
  15. «Digital Filters, Part II» (April 28, 1995) Глава 15. Цифрові фільтри — 2
  16. «Digital Filters, Part III» (May 2, 1995) Глава 16. Цифрові фільтри — 3
  17. «Digital Filters, Part IV» (May 4, 1995) Глава 17. Цифрові фільтри — IV
  18. «Simulation, Part I» (May 5, 1995) Глава 18. Моделювання — I
  19. «Simulation, Part II» (May 9, 1995) Глава 19. Моделювання — II
  20. «Simulation, Part III» (May 11, 1995)
  21. «Fiber Optics» (May 12, 1995) Глава 21. Волоконна оптика
  22. «Computer Aided Instruction» (May 16, 1995) (пропав перекладач :((( )
  23. «Mathematics» (May 18, 1995) Глава 23. Математика
  24. «Quantum Mechanics» (May 19, 1995) Глава 24. Квантова механіка
  25. «Creativity» (May 23, 1995). Переклад: Глава 25. Креативність
  26. «Experts» (May 25, 1995) Глава 26. Експерти
  27. «Unreliable Data» (May 26, 1995) Глава 27. Недостовірні дані
  28. «Systems Engineering» (May 30, 1995) Глава 28. Системна Інженерія
  29. «You Get What You Measure» (June 1, 1995) Глава 29. Ви отримуєте те, що ви вимірюєте
  30. «How Do We Know What We Know» (June 2, 1995) пропав перекладач :(((
  31. Hamming, «You and Your Research» (June 6, 1995). Переклад: Ви і ваша робота

Хто хоче допомогти з перекладом, версткою та виданням книги — пишіть в лічку або на пошту magisterludi2016@yandex.ru

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Close