ผมจะสานต่อแนวทางโดยรวมจากบทก่อน แต่จะมุ่งพูดถึงสำนวนเก่า ๆ ว่า “garbage in, garbage out” ซึ่งมักย่อว่า gigo แนวคิดคือ ถ้าใส่ตัวเลขหรือสมการที่กำหนดไม่ชัด (garbage) เข้าไป เราก็จะได้ผลลัพธ์ที่กำหนดไม่ชัด (garbage) กลับมา โดยเงื่อนไขที่มักถูกสมมติไว้เป็นนัยคือ หากข้อมูลนำเข้าถูกต้อง ผลลัพธ์ก็จะต้องถูกต้องด้วย ผมจะแสดงให้เห็นว่าสมมติฐานทั้งสองนี้อาจเป็นเท็จได้
สรุป: Because many simulations still involve differential equations, we begin by considering the simplest first-order differential equations of the form
คุณคงจำได้ว่า สนามทิศทาง คือการวาดองค์ประกอบเส้นที่มีความชันตามสมการเชิงอนุพันธ์ในแต่ละจุดบนระนาบ xy (ระนาบ x–y) โดยอ้างอิงความชันจากสมการนั้น ๆ, Figure 20.1 ตัวอย่างเช่น สมการเชิงอนุพันธ์
สรุป: has the indicated direction field, Figure 20.2. On each of the concentric circles x_2 + _y_2 = _k the slope is always the same, the slope depending on the value of k. These are called isoclines.
Figure 20.1—สนามทิศทาง
สรุป:
Figure 20.2—Direction field for y' = x_2 + _y_2, _y(0) = 1
ดูจากภาพต่อไปนี้ Figure 20.3 ซึ่งเป็นสนามทิศทางของสมการเชิงอนุพันธ์อีกสมการหนึ่ง ในฝั่งซ้ายเห็นสนามทิศทางที่แยกออก ซึ่งหมายความว่าการเปลี่ยนแปลงเล็กน้อยในค่าสถานะเริ่มต้นหรือความผิดพลาดเล็ก ๆ ในการคำนวณ จะทำให้เกิดความแตกต่างมากในค่าตรงกลางของเส้นทาง แต่ในฝั่งขวาเป็นสนามทิศทางที่หดตัว หมายความว่าความแตกต่างมากตรงกลางจะนำไปสู่ความต่างเล็ก ๆ ที่ปลายด้านขวา ในตัวอย่างเดียวนี้คุณจึงเห็นได้ทั้งกรณีที่ข้อผิดพลาดเล็ก ๆ ขยายเป็นใหญ่ และกรณีที่ข้อผิดพลาดใหญ่หดเป็นเล็ก และที่สำคัญข้อผิดพลาดเล็ก ๆ อาจขยายเป็นใหญ่แล้วกลับหดเป็นเล็กอีก ดังนั้นความแม่นยำของคำตอบขึ้นกับตำแหน่งที่กล่าวถึง ไม่ใช่ความแม่นยำแบบสัมบูรณ์ทั่วทั้งเส้นทาง ฟังก์ชันที่อยู่เบื้องหลังทั้งหมดนี้คือ
สรุป: whose differential equation is, upon differentiating,
Figure 20.3—สนามทิศทางสำหรับ y' = –2xy
คุณอาจนึกภาพ 'ท่อ' ล้อมรอบ 'คำตอบที่แท้จริง' ของสมการ แล้วเห็นว่าท่อขยายก่อนแล้วจึงหดตัว ซึ่งเป็นเรื่องปกติในสองมิติ แต่เมื่อผมมีระบบสมการเชิงอนุพันธ์จำนวน n เช่นในปัญหาการสกัดกั้นของกองทัพเรือที่กล่าวถึงก่อนหน้านี้ (มี 28 สมการ) ท่อรอบคำตอบที่แท้จริงเหล่านี้จะไม่เป็นไปตามที่คุณอาจคาดไว้ ภาพสี่วงกลมในสองมิติ ซึ่งนำไปสู่ปัญหาพาราดอกซ์เชิง n มิติเมื่อขยายไปยังสิบมิติ (บทที่ 9) แสดงให้เห็นว่าการจินตนาการเช่นนี้อาจซับซ้อนได้ นี่เป็นอีกมุมมองหนึ่งของสิ่งที่ผมพูดในบทก่อนเกี่ยวกับปัญหาที่เสถียรและไม่เสถียร แต่ครั้งนี้ผมลงรายละเอียดมากขึ้นโดยใช้สมการเชิงอนุพันธ์มาอธิบาย
สรุป: How do we numerically solve a differential equation? Starting with only one first-order linear ordinary differential equation, we imagine the direction field. Our problem is from the initial value, which we are given, we want to get to the next nearby point. If we take the local slope from the differential equation and move a small step forward along the tangent line, then we will make a only small error, Figure 20.4. Using that point we go to the next point, but as you see from the figure we gradually depart from the true curve because we are always using “the slope that was,” and not a typical slope in the interval. To avoid this we “predict” a value, use that value to evaluate the slope there (using the differential equation), and then use the average slope of both ends to estimate the average slope to use for the interval, Figure 20.5. Then, using this average slope, we move the step forward again, this time using a “corrector” formula. If the predicted and corrected values are “close” then we assume we are accurate enough, but if they are far apart then we must shorten the step size. If the difference is too small, then we should increase the step size. Thus the traditional predictor-corrector methods have built into them an automatic mechanism for checking the step-by-step error—but this step-by-step error is, of course, not the whole accumulated error by any means! The accumulated error clearly depends on the convergence or divergence of the direction field.
Figure 20.4—วิธีการหยาบ (Crude method)
สรุป:
Figure 20.5—Predictor–Corrector
สรุป: We used simple straight lines for both predicting and correcting. It is much more economical, and accurate, to use higher-degree polynomials, and typically this means about fourth-degree polynomials (Milne, Adams-Bashforth, Hamming, etc.). Thus we must use several old values of the function and derivative to predict the next value, and then using this in the differential equation we get an estimated new slope, and with this slope and old values of the function and slope, we correct the value. A moment’s thought and you see the corrector is just a recursive digital filter, where the input data are the derivatives and the output values are the positions. Stability and all we discussed there are relevant. As mentioned before, there is the extra feedback through the differential equation’s predicted value, which goes into the corrected slope. But both are simply solving a difference equation—recursive digital filters are simply this formula and nothing more. They are not just transfer functions, as your course in digital filters might have made you think; plainly and simply, you are computing numbers coming from a difference equation. There is a difference, however. In the filter you are strictly processing by a linear formula, but because in the differential equation there is the nonlinearity which arises from the evaluation of the derivative terms, it is not exactly the same as a digital filter.
ถ้าคุณมีสมการเชิงอนุพันธ์ n สมการ คุณกำลังจัดการกับเวกเตอร์ที่มีองค์ประกอบ n ตัว คุณทำนายแต่ละองค์ประกอบไปข้างหน้า ประเมินอนุพันธ์ทั้ง n แก้ไขค่าที่ทำนาย แล้วสุดท้ายทำการก้าวหรือปฏิเสธก้าวนั้นหากข้อผิดพลาดเกินกว่าที่คุณถือว่าเป็นการวัดข้อผิดพลาดท้องถิ่นอย่างยุติธรรม คุณมักจะคิดถึงข้อผิดพลาดเล็ก ๆ เป็น 'ท่อ' ล้อมรอบเส้นทางที่คำนวณได้ แต่ต้องจำปัญหาพาราดอกซ์สี่วงกลมไว้: ในมิติสูง 'ท่อ' เหล่านี้ไม่ได้เป็นอย่างที่คุณคาดหวัง
ตอนนี้ขอชี้ความแตกต่างที่สำคัญระหว่างสองแนวทางคือ numerical analysis กับ filter theory วิธีแบบคลาสสิกของ numerical analysis — และยังเป็นวิธีที่คุณจะพบในตำราโดยทั่วไป — ใช้พหุนามในการประมาณฟังก์ชัน แต่ตัวกรองเชิงรีเคอร์ซีฟ (recursive filter) ใช้ความถี่เป็นพื้นฐานในการประเมินสูตร! นี่เป็นเรื่องที่ต่างกันโดยสิ้นเชิง
เพื่อให้เห็นความต่าง ลองสมมติว่าเราจะสร้างซิมูเลเตอร์ให้มนุษย์ลงจอดบนดาวอังคาร สูตรแบบคลาสสิกจะเน้นรูปร่างเส้นทางโดยใช้พหุนามท้องถิ่น ทำให้เส้นทางมีการไม่ต่อเนื่องเล็กน้อยในความเร่งเมื่อต่อจากช่วงหนึ่งไปยังอีกช่วง ในแนวทางเชิงความถี่ (frequency approach) เราจะมุ่งเน้นให้ความถี่ถูกต้องแล้วปล่อยให้ตำแหน่งจริงเกิดขึ้นตามนั้น ในอุดมคติ เส้นทางทั้งสองควรจะเหมือนกัน แต่ในทางปฏิบัติอาจต่างกันมาก
สรุป: Which solution do you want? The more you think about it, the more you realize the pilot in the trainer will want to get the “feel” of the landing vehicle, and this seems to mean the frequency response of the simulator should feel right to the pilot. If the position is a bit off, then the feedback control during landing can compensate for this, but if it feels wrong in the actual flight, then the pilot is going to be bothered by the new experience which was not in the simulator. It has always seemed to me the simulator should prepare the pilots for the actual experience as best we can (we cannot fake out for long the lower gravity of Mars) so they will feel comfortable when the real event occurs, having experienced it many times in the trainer. Alas, we know far too little of what the pilot “feels” (senses). Does the pilot feel only the Fourier real frequencies, or maybe they also feel the decaying Laplace complex frequencies (or should we use wavelets?). Do different pilots feel the same kinds of things? We need to know more than we apparently now do about this important design criterion.
ข้างต้นเป็นความขัดแย้งมาตรฐานระหว่างแนวทางของนักคณิตศาสตร์และวิศวกร แต่ละฝ่ายมีเป้าหมายต่างกันในการแก้สมการเชิงอนุพันธ์ (และในปัญหาอื่น ๆ มากมาย) จึงได้ผลลัพธ์ต่างกัน ถ้าคุณเกี่ยวข้องกับการจำลอง คุณจะเห็นว่ามีเรื่องที่ซ่อนอยู่อย่างมากซึ่งสำคัญในทางปฏิบัติแต่บางครั้งนักคณิตศาสตร์อาจไม่รู้และปฏิเสธว่าผลกระทบเหล่านี้สำคัญ แต่เมื่อดูเส้นทางทั้งสองที่ผมวาดอย่างหยาบ ๆ (Figure 20.6) เส้นบนแม่นยำในตำแหน่งแต่มุมจะให้ 'ความรู้สึก' ที่ต่างจากความจริงอย่างมาก ส่วนเส้นที่สองผิดพลาดมากกว่าในตำแหน่งแต่กลับถูกต้องกว่าในเรื่อง 'ความรู้สึก' อีกครั้งคุณเห็นว่าทำไมคนที่เข้าใจปัญหาอย่างลึกซึ้งต้องลงไปทำความเข้าใจกับวิธีการแก้ปัญหาและไม่ยอมรับวิธีการดั้งเดิมเพียงอย่างเดียว
สรุป:
Figure 20.6—Trajectories using different approximations
ตอนนี้ผมเล่าถึงอีกเรื่องเกี่ยวกับช่วงแรกของการทดสอบขีปนาวุธนำวิถีของโครงการ Nike ขณะนั้นพวกเขากำลังทดสอบภาคสนามที่ White Sands ในสิ่งที่เรียกว่า “telephone pole tests” เป็นการยิงที่ให้ขีปนาวุธบินตามเส้นทางที่กำหนดไว้ล่วงหน้า แล้วในช่วงท้ายให้ระเบิดเพื่อไม่ให้ทั้งลูกตกนอกเขตทดสอบและก่อความเสียหายมาก แต่ให้ชิ้นส่วนตกลงภายในเขตทดสอบอย่างนิ่มนวล จุดประสงค์ของการทดสอบคือเก็บการวัด drag, lift และคุณสมบัติอื่น ๆ ในรูปของความสูงและความเร็ว เพื่อใช้ตัดสินรายละเอียดการออกแบบและปรับปรุงการออกแบบ
ผมพบเพื่อนที่แลปพเนจรอยู่ตามทางเดินดูไม่ค่อยสบายใจ ทำไมหรือ? เพราะการยิงทดสอบหกครั้งแรกมีสองครั้งที่แตกกลางอากาศและไม่มีใครรู้สาเหตุ ความล่าช้าทำให้ข้อมูลที่จะเก็บเพื่อให้เราดำเนินการออกแบบขั้นต่อไปไม่มี ประกอบกับทั้งโครงการอยู่ในภาวะวิกฤต ผมบอกเขาว่าถ้าเขาให้สมการเชิงอนุพันธ์ที่อธิบายการบินมา ผมจะให้ผู้ช่วยสาวคนนึงมาคำนวณด้วยเครื่องคิดเลข (คอมพิวเตอร์ขนาดใหญ่ยังไม่แพร่หลายในปลายทศวรรษ 1940) ประมาณหนึ่งอาทิตย์ต่อมาพวกเขานำสมการอันดับหนึ่งเจ็ดสมการมา และผู้ช่วยก็พร้อมจะเริ่ม แต่คำถามคือ สภาพเริ่มต้นก่อนเกิดปัญหาคืออะไร? (ผมในสมัยนั้นไม่มีความสามารถคำนวณทั้งเส้นทางได้รวดเร็ว) พวกเขาก็ไม่รู้! ข้อมูลที่บันทึกมาไม่ได้ชัดเจนก่อนความล้มเหลว ผมไม่แปลกใจและไม่กังวลมากนัก ดังนั้นเราจึงใช้ค่าที่คาดเดาไว้สำหรับความสูง ความชัน ความเร็ว มุมที่กระทบ ฯลฯ หนึ่งค่าแทนแต่ละตัวแปรของเส้นทาง หนึ่งเงื่อนไขต่อสมการ ดังนั้นผมมี garbage in แต่ผมเคยรู้ลักษณะของการทดลองภาคสนามที่จะจำลองว่าการเบี่ยงเบนเล็กน้อยจากเส้นทางที่เสนอจะถูกระบบนำทางแก้ไขอัตโนมัติ! ผมจึงกำลังจัดการกับสนามทิศทางที่มีการหดตัวอย่างแรง
เราเห็นทั้งการควบคุมมุมเงย (pitch) และมุมเบี่ยง (yaw) มีความเสถียร แต่เมื่อแต่ละอันนิ่งลงมันจะโยนพลังงานเข้าสู่กันและกัน ดังนั้นไม่ได้มีเพียงการแกว่งความเสถียรปกติใน pitch และ yaw เท่านั้น แต่เนื่องจากการหมุนของขีปนาวุธตามแกนนานมันยังมีการถ่ายโอนพลังงานเป็นจังหวะระหว่างกัน เมื่อได้กราฟจากคอมพิวเตอร์สำหรับส่วนสั้น ๆ ของเส้นทาง ทุกคนก็เข้าใจทันทีว่าพวกเขาลืมเรื่อง cross-connection stability และรู้วิธีแก้ไข เมื่อเราได้คำตอบแล้วพวกเขาก็สามารถอ่านข้อมูลเทเลมิเตอร์ที่ระเกะระกะจากการทดสอบและตรวจสอบว่า รอบการถ่ายโอนพลังงานนั้นใกล้เคียงกับความเป็นจริง—หมายความว่าพวกเขาให้สมการเชิงอนุพันธ์ที่ถูกต้องสำหรับการคำนวณ ผมทำหน้าที่เพียงให้ผู้ช่วยทำเครื่องคิดเลขอย่างตรงไปตรงมาและทำงานต่อ หน้าที่ที่แท้จริงของผมคือ: (1) ตระหนักว่าเราสามารถจำลองสิ่งที่เกิดขึ้นได้ ซึ่งทุกวันนี้เป็นเรื่องปกติในการวิเคราะห์อุบัติเหตุแต่ในสมัยนั้นยังใหม่ และ (2) ตระหนักว่ามีสนามทิศทางที่หดตัว ดังนั้นเงื่อนไขข้างต้นจึงไม่จำเป็นต้องรู้ค่าอย่างแม่นยำ
ผมเล่าเรื่องนี้เพื่อแสดงว่า gigo ไม่จำเป็นต้องเป็นจริงเสมอ อีกตัวอย่างมาจากประสบการณ์แรก ๆ ที่ Los Alamos ในการจำลองระเบิด ผมค่อย ๆ ตระหนักว่าข้อมูลที่ใช้คำนวณ "the equation of state" ซึ่งเชื่อมความดันกับความหนาแน่น (และอุณหภูมิ ซึ่งผมจะละไว้ก่อน) ค่อนข้างไม่แม่นยำ ข้อมูลจากห้องทดลองความดันสูง การประมาณจากแผ่นดินไหว การประมาณจากความหนาแน่นของแกนดาว และสุดท้ายจากทฤษฎีแบบอะซิมพ์โทติกของความดันอนันต์ ถูกพล็อตเป็นชุดจุดบนแผ่นกระดาษกราฟขนาดใหญ่ Figure 20.7 จากนั้นใช้ French curves ขนาดใหญ่ลากโค้งเชื่อมจุดที่กระจัดกระจายบาง ๆ เราอ่านเส้นโค้งนี้ถึง 3 1/3 ทศนิยม หมายความว่าเราทายหลักที่สี่เป็น 5 หรือ 0 แล้วใช้ตัวเลขนั้นสร้างตารางห้าหลัก และในบางจุดของตารางก็มีตัวเลขหกหลัก ซึ่งต่อมากลายเป็นข้อมูลอย่างเป็นทางการที่ใช้ในการคำนวณ ผมในเวลานั้นเป็นเหมือนคนทำหน้าที่รักษาให้การคำนวณเดินต่อไป และหน้าที่ของผมคือทำให้ฟิสิกส์สามารถทำงานได้ต่อไป
Figure 20.7—สมการสถานะ (Equation of state)
เมื่อสงครามสิ้นสุดผมอยู่ที่ Los Alamos ต่ออีกหกเดือน และสาเหตุหนึ่งคือผมอยากรู้ว่าทำไมข้อมูลไม่แม่นยำเช่นนี้กลับนำไปสู่การพยากรณ์ที่แม่นยำสำหรับการออกแบบสุดท้ายได้ ในที่สุดเมื่อมีเวลาให้คิดอย่างยาวนาน ผมพบคำตอบ ในกลางการคำนวณเราแท้จริงแล้วใช้ผลต่างอันดับสอง; ผลต่างอันดับหนึ่งให้แรงบนแต่ละเปลือกด้านหนึ่ง และความต่างจากเปลือกข้างเคียงทั้งสองข้างให้แรงลัพธ์ที่เคลื่อนเปลือก เราต้องใช้เปลือกบาง ๆ จึงคำนวณผลต่างของตัวเลขที่ใกล้เคียงกัน และดังนั้นต้องการตัวเลขจำนวนมาก แต่การตรวจสอบเพิ่มเติมแสดงว่าเมื่อ 'gadget' ทำงาน เปลือกใดเปลือกหนึ่งอาจขึ้นไปบนโค้งแล้วอย่างน้อยก็ลงมาบ้าง ดังนั้นความผิดพลาดท้องถิ่นในสมการสถานะจะถูกเฉลี่ยออกในประวัติศาสตร์การเคลื่อนที่ของมัน สิ่งที่สำคัญจากสมการสถานะคือความโค้ง และตามที่กล่าว ข้อมูลนี้โดยเฉลี่ยต้องถูกต้อง ดังนั้น garbage in แต่ได้ผลลัพธ์ที่ถูกต้องออกมาได้
Figure 20.8—H.S. Black's feedback (การป้อนกลับของ H.S. Black)
สรุป: These examples show what was loosely stated before: if there is feedback in the problem for the numbers used, then they need not necessarily be accurately known. Just as in H.S. Black’s great insight of how to build feedback amplifiers, Figure 20.8, so long as the gain is very high, only the one resistor in the feedback loop need be accurately chosen; all the other parts could be of low accuracy. From Figure 20.8 you have the equation
เราจะเห็นว่าความไม่แน่นอนแทบทั้งหมดอยู่ที่ตัวต้านทานตัวเดียวขนาด 1/10 และเกนของแอมพลิฟายเออร์ (–10–9) ไม่จำเป็นต้องแม่นยำ ดังนั้นการป้อนกลับของ H.S. Black ทำให้เราสร้างสิ่งที่แม่นยำจากชิ้นส่วนที่โดยรวมไม่แม่นยำได้
คุณเห็นแล้วว่าทำไมผมไม่สามารถให้สูตรตายตัวสำหรับทุกสถานการณ์ได้: มันขึ้นกับว่าตัวแปรเฉพาะเดินผ่านการคำนวณทั้งหมดอย่างไร ทั้งการคำนวณต้องถูกเข้าใจในภาพรวม ตัวเลขที่ไม่แม่นยำจะผ่านเข้าไปในสถานะที่มีการป้อนกลับซึ่งข้อผิดพลาดจะถูกชดเชยหรือไม่ หรือว่าพวกมันอยู่ในส่วนที่เปิดและไม่มีการป้องกันด้วยการป้อนกลับ? คำว่า “vitally” เพราะมันเป็นสิ่งสำคัญต่อการคำนวณ หากมันไม่อยู่ในตำแหน่งที่มีการป้อนกลับ ก็จำเป็นต้องทำให้มันแม่นยำ
เมื่อเข้าใจข้อเท็จจริงนี้แล้ว มันมีผลต่อการออกแบบ! การออกแบบที่ดีจะปกป้องคุณจากความจำเป็นต้องใช้ชิ้นส่วนที่แม่นยำมากเกินไปในระบบ แต่หลักการการออกแบบเช่นนี้ยังคงถูกเข้าใจไม่ดีและต้องการการวิจัยอย่างกว้างขวาง ไม่ใช่ว่านักออกแบบที่เก่งไม่เข้าใจเรื่องนี้โดยสัญชาตญาณ เพียงแต่มันไม่ง่ายที่จะนำไปสู่วิธีการออกแบบที่คุณถูกสอนในโรงเรียน ยังคงต้องการความคิดที่ดี ๆ แม้จะมีเครื่องมือคำนวณมากมายที่สุด แต่ผู้ที่ดีที่สุดจะเป็นคนที่นำหลักการนี้เข้าไปในวิธีการสอนการออกแบบเพื่อให้คนที่มีทักษะน้อยกว่าสามารถใช้ได้โดยอัตโนมัติ
ตอนนี้ผมมาดูอีกตัวอย่างหนึ่ง และหลักการที่ช่วยให้ผมหาคำตอบสำหรับปัญหาสำคัญได้ ผมได้รับสมการเชิงอนุพันธ์ดังนี้
คุณจะเห็นได้ทันทีว่าสภาวะที่อนันต์จริง ๆ แล้วเป็นข้างขวาของสมการเชิงอนุพันธ์ซึ่งเท่ากับ 0, Figure 20.9
สรุป:
Figure 20.9—y" = sinh y – kx
แต่ลองพิจารณาเรื่องความเสถียร: ถ้า y ที่จุด x ที่ค่อนข้างไกลขึ้นไปมีค่าสูงเกินไป ค่า sinh y จะใหญ่เกินไป ทำให้อนุพันธ์อันดับสองเป็นบวกสูงมากและเส้นโค้งจะพุ่งไปทางบวกอนันต์ ในทางเดียวกันถ้า y เล็กเกินไป เส้นจะพุ่งไปทางลบอนันต์ และไม่สำคัญว่าคุณจะไปจากซ้ายไปขวาหรือขวาไปซ้าย ในอดีตผมเคยใช้กลเม็ดชัดเจนเมื่อเจอสถานการณ์ที่สนามทิศทางแยกออกโดยการอินทิเกรตในทิศทางตรงกันข้ามแล้วได้คำตอบที่แม่นยำ แต่ในปัญหาข้างต้นคุณกำลังเดินบนสันเนินทราย และเมื่อทั้งสองเท้าอยู่ด้านใดด้านหนึ่งของสันคุณก็จะลื่นลง
คุณคงเชื่อได้ว่าถึงแม้ว่าผมจะหาการขยายลำดับกำลังที่พอใช้ได้ และการขยายประมาณที่ไม่ใช่พหุนามที่ดีกว่ารอบจุดศูนย์ แต่ผมก็ยังมีปัญหาเมื่อเดินไปตามเส้นทางค่อนข้างไกล โดยเฉพาะเมื่อ k มีค่ามาก การวิเคราะห์ทั้งหมดที่ผมหรือเพื่อน ๆ ทำได้ยังไม่พอ ดังนั้นผมไปพบผู้เสนอปัญหาและคัดค้านเงื่อนไขที่อนันต์ก่อน แต่ปรากฏว่าระยะถูกวัดเป็นชั้นโมเลกุล และ (ในสมัยนั้น) ทรานซิสเตอร์จริง ๆ จะมีชั้นจำนวนมากราวอนันต์ ผมจึงคัดค้านสมการเองด้วย แต่พวกเขาชนะ ดังนั้นผมต้องถอยกลับไปที่ห้องทำงานและคิด
สรุป: It was an important problem in the design and understanding of the transistors then being developed. I had always claimed if the problem was important and properly posed, then I could get some kind of a solution. Therefore, I must find the solution; I had no escape if I were to hold onto my pride.
ใช้เวลาหลายวันในการตรึกตรองกว่าผมจะตระหนักว่าจุดที่ไม่เสถียรนั้นเองคือเบาะแสของวิธีการที่ควรใช้ ผมจะติดตามชิ้นหนึ่งของคำตอบ โดยใช้ differential analyzer ที่ผมมีในเวลานั้น และถ้าคำตอบพุ่งขึ้นแปลว่าผมทำนายความชันสูงเกินไป และถ้าพุ่งลงแปลว่าผมทำนายต่ำเกินไป ดังนั้นทีละชิ้นผมเดินไปตามสันเนินทราย และทุกครั้งที่คำตอบลื่นไปด้านหนึ่งผมก็รู้ว่าจะต้องทำอย่างไรเพื่อกลับมายังเส้นทาง ใช่ ความภาคภูมิใจในการสามารถส่งมอบสิ่งที่ต้องการเป็นตัวช่วยที่ดีในการได้ผลสำคัญภายใต้เงื่อนไขยากลำบาก มันคงง่ายมากที่จะมองว่าปัญหาเป็นสิ่งที่ไม่แก้ได้ ถูกตั้งผิด หรือหาเหตุผลข้อแก้ตัวอื่น ๆ แต่ผมยังเชื่อว่าปัญหาสำคัญที่ถูกตั้งไว้อย่างเหมาะสมสามารถใช้เพื่อสกัดความรู้ที่เป็นประโยชน์ได้ ปัญหาเกี่ยวกับ space charge หลายข้อที่ผมคำนวณแสดงความไม่เสถียรที่ยากในทิศทางใดทิศทางหนึ่งเช่นกัน
ผมต้องแนะนำแนวคิดการทดสอบ Rorschach ซึ่งเป็นที่นิยมในวัยหนุ่มของผม รอยหมึกถูกวางบนกระดาษ กดพับ แล้วเมื่อเปิดออกจะได้ร่องรอยสมมาตรที่มีรูปร่างโดยพื้นฐานเป็นแบบสุ่ม ชุดของร่องรอยเหล่านี้ถูกโชว์ให้ผู้ถูกทดสอบดู แล้วถามให้พวกเขารายงานสิ่งที่เห็น คำตอบของพวกเขาถูกใช้วิเคราะห์ 'บุคลิกภาพ' ของคนคนนั้น แน่นอนสิ่งที่คนรายงานเป็นเพียงภาพในจินตนาการ เพราะรอยหมึกเป็นรูปร่างแบบสุ่ม มันเหมือนกับการดูเมฆบนท้องฟ้าและพูดถึงรูปร่างที่คล้ายกัน; สิ่งที่คุณพูดเป็นจินตนาการของคุณไม่ใช่ความจริง และในแง่นั้นมันเผยบางสิ่งเกี่ยวกับตัวคุณมากกว่าที่จะเป็นเรื่องของเมฆ ผมเชื่อว่าวิธีนี้ไม่ได้ใช้แล้ว
สรุป: Now to the next story. A psychologist friend at Bell Telephone Laboratories once built a machine with about 12 switches and a red and a green light. You set the switches, pushed a button, and either you got a red or a green light. After the first person tried it 20 times they wrote a theory of how to make the green light come on. The theory was given to the next victim and they had their 20 tries and wrote their theory, and so on endlessly. The stated purpose of the test was to study how theories evolved.
แต่เพื่อนผมซึ่งเป็นคนอย่างเขาได้ต่อไฟเข้ากับแหล่งสุ่ม! วันหนึ่งเขาบอกผมว่าคนในการทดสอบไม่มีใครเลย (แม้แต่คนที่เป็นนักวิทยาศาสตร์ชั้นดีจาก Bell Telephone Laboratories) กล่าวว่ามันไม่มีข้อความใด ๆ ผมตอบว่าไม่มีใครในกลุ่มนั้นเป็นสถิตินักหรือทฤษฎีสารสนเทศ ซึ่งเป็นสองกลุ่มคนที่คุ้นเคยกับสุ่มอย่างใกล้ชิด การตรวจสอบยืนยันว่าผมถูกต้อง!
นี่เป็นคำวิจารณ์ที่น่าเศร้าเกี่ยวกับการศึกษาในมหาวิทยาลัยของคุณ คุณถูกสอนอย่างเอาใจใส่ว่าเรื่องหนึ่งทฤษฎีหนึ่งถูกแทนที่ด้วยอีกทฤษฎี แต่แทบไม่มีคนสอนให้คุณแทนที่ทฤษฎีที่สวยงามด้วยความว่างเปล่าแค่สุ่ม! และนั่นคือสิ่งที่ต้องการ: ความสามารถที่จะบอกว่าทฤษฎีที่คุณเพิ่งอ่านไม่ดีและไม่มีรูปแบบแน่นอนในข้อมูล มีเพียงความสุ่ม
ผมต้องย้ำประเด็นนี้ นักสถิติมักถามตัวเองว่า “สิ่งที่ผมเห็นมีจริงหรือเป็นเพียงเสียงรบกวนแบบสุ่ม?” พวกเขามีการทดสอบเพื่อพยายามตอบคำถามนี้ คำตอบไม่ได้เป็นใช่หรือไม่โดยสิ้นเชิง แต่เป็นคำตอบด้วยความเชื่อมั่นบางระดับ ขอบเขตความเชื่อมั่น 90% หมายความว่าปกติในสิบครั้งคุณจะตัดสินผิดประมาณหนึ่งครั้ง ถ้าสมมติฐานอื่นทั้งหมดถูกต้อง! คุณอาจปฏิเสธสิ่งที่จริง (ข้อผิดพลาดประเภทที่ 1) หรือไม่ปฏิเสธสิ่งที่ผิด (ข้อผิดพลาดประเภทที่ 2) ต้องการข้อมูลมากขึ้นเพื่อไปถึงขอบเขตความเชื่อมั่น 95% และทุกวันนี้การเก็บข้อมูลมักมีค่าใช้จ่ายสูง การได้ข้อมูลมากขึ้นยังใช้เวลามาก ดังนั้นการตัดสินใจก็ถูกเลื่อนออกไป—ซึ่งเป็นกลเม็ดโปรดของคนที่อยู่ในตำแหน่งบริหารที่ไม่อยากรับผิดชอบ พวกเขาจะพูดว่า “เก็บข้อมูลเพิ่ม”
ตอนนี้ผมขอเสนออย่างจริงจังว่าการจำลองหลายเรื่องไม่ต่างอะไรจากการทดสอบ Rorschach ผมอ้างคำพูดของนักทฤษฎีการตัดสินใจการจัดการคนดัง Jay Forrester: “From the behavior of the system, doubts will arise that will call for a review of the original assumptions. From the process of working back and forth between assumptions about the parts and the observed behavior of the whole, we improve our understanding of the structure and dynamics of the system. This book is the result of several cycles of reexamination and revision by the author.”
สรุป: How is the outsider to distinguish this from a Rorschach test? Did he merely find what he wanted to find, or did he get at “reality”? Regrettably, many, many simulations have a large element of this, adjusting things to get what is wanted. It is so easy a path to follow. It is for this reason traditional science has a large number of safeguards, which these days are often simply ignored.
คุณคิดว่าคุณทำเรื่องได้อย่างปลอดภัยว่ารู้ดีกว่า? ลองพิจารณาการทดลองแบบ double-blind ซึ่งใช้ทั่วไปในทางการแพทย์ แพทย์พบว่าถ้าคนไข้คิดว่าตนได้รับการรักษาใหม่ พวกเขาจะตอบสนองด้วยสุขภาพที่ดีขึ้น และคนที่คิดว่าตนอยู่ในกลุ่มควบคุมจะรู้สึกว่าไม่ได้รับการรักษาและไม่ได้ดีขึ้น แพทย์จึงสุ่มการรักษาและให้ยาหลอก (placebo) บางคนเพื่อกันไม่ให้คนไข้ตอบสนองและหลอกแพทย์ แต่สิ่งที่น่าตกใจคือ แพทย์เองเมื่อรู้ว่าใครได้การรักษาและใครไม่ได้ ก็ยังพบการปรับปรุงตามที่ตนคาดหวังและไม่ในที่ที่ไม่คาดหวัง ในที่สุดแพทย์ยอมรับการทดลองแบบ double-blind—จนกว่าข้อมูลทั้งหมดจะเรียบร้อย ทั้งคนไข้และแพทย์จะไม่รู้ว่าใครได้รับการรักษาหรือไม่ แล้วสถิติก็เปิดซองที่ปิดผนึกและวิเคราะห์ แพทย์ที่ต้องการซื่อสัตย์พบว่าตนก็ไม่สามารถซื่อสัตย์ได้! คุณคิดว่าคุณทำการจำลองได้ดีพอจะแน่ใจว่าตัวเองจะไม่ค้นพบสิ่งที่อยากจะพบหรือไม่? การหลอกตัวเองเป็นลักษณะธรรมดาของมนุษย์
สรุป: I started Chapter 19 with the problem of why anyone should believe in a simulation which has been done. You now see the problem more clearly. It is not easy to answer unless you have taken a lot more precautions than are usually done. Remember also that you are probably going to be on the receiving end of many simulations to decide many questions which will arise in your highly technical future; there is no other way than simulations to answer the question, “What if…?” In Chapter 18 I observed decisions must be made and not postponed forever if the organization is not to flounder and drift endlessly—and I am supposing you are going to be among those who must make the choices. Simulation is essential to answer the “what if…?,” but it is full of dangers and is not to be trusted just because a large machine and much time has been used to get the nicely printed pages or colorful pictures on the oscilloscope. If you are the one to make the final decision, then in a real sense you are responsible. Committee decisions, which tend to diffuse responsibility, are seldom the best in practice—most of the time they represent a compromise which has none of the virtues of any path and tends to end in mediocrity. Experience has taught me that generally a decisive boss is better than a waffling one—you know where you stand and can get on with the work which needs to be done!
สรุป: The “what if…?” will arise often in your futures, hence the need for you to master the concepts and possibilities of simulations, and be ready to question the results and to dig into the details when necessary.