ปัจจุบันนี้ การใช้งานคอมพิวเตอร์ที่สำคัญอย่างหนึ่ง รองลงมาจากการเขียนและการแก้ไขเอกสาร กราฟิก การคอมไพล์โปรแกรม ฯลฯ คือ การจำลอง (Simulation) .

การจำลองคือคำตอบของคำถามที่ว่า "แล้วจะเกิดอะไรขึ้นถ้า…?"

แล้วจะเกิดอะไรขึ้นถ้าเราทำแบบนี้? แล้วจะเกิดอะไรขึ้นถ้าสิ่งนี้คือสิ่งที่เกิดขึ้นจริง?

ปัจจุบันนี้ การทดลองมากกว่าเก้าในสิบส่วนทำบนคอมพิวเตอร์ ฉันได้พูดถึงความกังวลอย่างจริงจังแล้วว่าเรากำลังพึ่งพาการจำลองมากขึ้นเรื่อยๆ และมองความเป็นจริงน้อยลงเรื่อยๆ ดูเหมือนเรากำลังเข้าใกล้ทัศนคติแบบนักวิชาการยุคกลางที่ว่าสิ่งที่อยู่ในตำราคือความจริงและไม่จำเป็นต้องตรวจสอบด้วยการทดลองอยู่เสมอ ฉันจะไม่กล่าวถึงประเด็นนี้เพิ่มเติมในตอนนี้

เราใช้คอมพิวเตอร์ทำการจำลองเพราะมัน

  1. ถูกกว่า
  2. เร็วกว่า
  3. มักจะดีกว่า และ
  4. สามารถทำสิ่งที่คุณไม่สามารถทำได้ในห้องปฏิบัติการ

ในประเด็นข้อ 1 และ 2 แม้ว่าการเขียนโปรแกรมจะแพงและช้าแค่ไหน รวมทั้งข้อผิดพลาดและข้อบกพร่องต่างๆ โดยทั่วไปแล้วมันก็ยังถูกกว่าและเร็วกว่าการทำให้อุปกรณ์ในห้องปฏิบัติการทำงานได้มากกว่ากัน นอกจากนี้ ในช่วงไม่กี่ปีที่ผ่านมา มีการซื้ออุปกรณ์ห้องปฏิบัติการคุณภาพสูงราคาแพง เพียงเพื่อพบว่าภายในไม่ถึงสิบปีก็ต้องทิ้งเพราะล้าสมัย ข้อสังเกตทั้งหมดข้างต้นใช้ไม่ได้เมื่อสถานการณ์เกิดขึ้นซ้ำๆ เป็นประจำและอุปกรณ์ทดสอบในห้องปฏิบัติการถูกใช้งานอย่างต่อเนื่อง แต่ถ้าปล่อยให้อุปกรณ์ในห้องปฏิบัติการว่างงานสักระยะ ทันใดนั้นมันก็จะทำงานไม่ถูกต้อง! สิ่งนี้เรียกว่า "อายุการเก็บรักษา (shelf life)" แต่บางครั้งมันก็เป็นอายุการเก็บรักษาของทักษะในการใช้งาน มากกว่าอายุการเก็บรักษาของตัวอุปกรณ์เสียอีก! ฉันเห็นสิ่งนี้บ่อยเกินไปในประสบการณ์ตรงของฉัน อายุการเก็บรักษาทางปัญญามักจะร้ายกาจกว่าอายุการเก็บรักษาทางกายภาพเสียอีก

ในประเด็นข้อ 3 บ่อยครั้งที่เราสามารถอ่านค่าได้แม่นยำกว่าจากการจำลองมากกว่าที่เราจะวัดได้โดยตรงในโลกจริง การวัดภาคสนาม หรือแม้แต่การวัดในห้องปฏิบัติการ มักจะวัดได้ยากในสถานการณ์ที่มีการเปลี่ยนแปลงตลอดเวลา ยิ่งไปกว่านั้น ในการจำลอง เรามักจะสามารถครอบคลุมช่วงของตัวแปรอิสระที่กว้างกว่าที่เราทำได้ด้วยการตั้งค่าห้องปฏิบัติการเพียงครั้งเดียว

ในประเด็นข้อ 4 ซึ่งอาจสำคัญที่สุด การจำลองสามารถทำสิ่งที่การทดลองจริงไม่สามารถทำได้

ฉันจะอธิบายประเด็นเหล่านี้ด้วยเรื่องราวเฉพาะจากการจำลองที่ฉันมีส่วนร่วม เพื่อให้คุณเข้าใจว่าการจำลองสามารถทำอะไรให้คุณได้บ้าง ฉันจะระบุรายละเอียดบางอย่างด้วย เพื่อให้ผู้ที่มีประสบการณ์ด้านการจำลองเพียงเล็กน้อยได้รับความรู้สึกถึงวิธีการดำเนินการ—มันไม่สามารถทำได้จริงที่จะทำการจำลองขนาดใหญ่ในชั้นเรียน เพราะมักใช้เวลาหลายปีกว่าจะเสร็จ

การคำนวณขนาดใหญ่ครั้งแรกที่ฉันมีส่วนร่วมคือที่ Los Alamos ในช่วง สงครามโลกครั้งที่สอง เมื่อเรากำลังออกแบบ ระเบิดปรมาณูลูกแรก ไม่มีความเป็นไปได้ที่จะทดลองขนาดเล็ก—คุณมีมวลวิกฤติ (critical mass) หรือคุณไม่มี

Figure 18.1—เปลือกทรงกลมในการออกแบบแบบอิมโพลชัน

โดยไม่ต้องลงรายละเอียดที่เป็นความลับ คุณคงจำได้ว่าหนึ่งในสองแบบนั้นมีความสมมาตรแบบทรงกลมและอาศัยหลักการอิมโพลชัน (implosion) Figure 18.1 พวกเขาแบ่งวัสดุและพื้นที่ออกเป็นเปลือกทรงกลมศูนย์กลางหลายชั้น จากนั้นเขียนสมการของแรงที่กระทำต่อแต่ละเปลือก (ทั้งสองด้านของมัน) รวมถึงสมการสถานะ (equation of state) ซึ่งให้ข้อมูลต่างๆ รวมถึงความหนาแน่นของวัสดุจากแรงกดดันที่กระทำต่อมัน จากนั้นพวกเขาแบ่งเวลาออกเป็นช่วงละ 10–8 วินาที (เรียกว่า shake—มาจาก shake of a lamb's tail ฉันเดา) จากนั้นในแต่ละช่วงเวลา เราคำนวณโดยใช้คอมพิวเตอร์ว่าแต่ละเปลือกจะเคลื่อนที่ไปที่ใดและจะเกิดอะไรขึ้นในช่วงเวลานั้น ภายใต้แรงที่กระทำต่อมัน แน่นอนว่ามีการจัดการพิเศษสำหรับหน้าคลื่นกระแทก (shock wave front) จากวัสดุระเบิดด้านนอกเมื่อมันเคลื่อนที่ผ่านบริเวณนั้น แต่กฎทั้งหมดนั้น โดยหลักการแล้ว ผู้เชี่ยวชาญในสาขาที่เกี่ยวข้องต่างรู้ดี แรงกดดันนั้นรุนแรงมากจนต้องมีการเดามากมายว่าสิ่งต่างๆ จะเหมือนเดิมนอกขอบเขตของการทดสอบในอดีต แต่ทฤษฎีฟิสิกส์บางส่วนก็ให้ความมั่นใจได้บ้าง

สิ่งนี้แสดงให้เห็นประเด็นหลักที่ฉันต้องการสื่อแล้ว มัน จำเป็น ที่จะต้องมีความรู้เฉพาะทางจำนวนมากในสาขาที่นำไปใช้ อันที่จริงแล้ว ฉันมักจะมองว่าหลายวิชาที่คุณเรียนและจะเรียนต่อไป ล้วนเป็นเพียงการให้ความรู้เฉพาะทางที่เกี่ยวข้องเท่านั้น ฉันต้องการเน้นย้ำถึงความจำเป็นที่ชัดเจนนี้สำหรับความรู้เฉพาะทาง—ฉันเห็นบ่อยเกินไปที่ผู้เชี่ยวชาญด้านการจำลองละเลยข้อเท็จจริงพื้นฐานนี้และคิดว่าพวกเขาสามารถทำการจำลองได้อย่างปลอดภัยด้วยตัวเอง มีเพียง ผู้เชี่ยวชาญในสาขาที่นำไปใช้เท่านั้นที่รู้ว่าสิ่งที่คุณละเว้นไปนั้นสำคัญต่อความแม่นยำของการจำลองหรือไม่ หรือสามารถละเว้นได้อย่างปลอดภัย

ประเด็นหลักอีกประการหนึ่งคือ ในการจำลองส่วนใหญ่ จะต้องมีส่วนที่ทำซ้ำๆ กันสูง ทำครั้งแล้วครั้งเล่าจากชุดโปรแกรมเดียวกัน มิฉะนั้นคุณจะไม่สามารถคุ้มค่ากับการเขียนโปรแกรมเริ่มต้นได้! การคำนวณแบบเดียวกันถูกทำซ้ำสำหรับแต่ละเปลือกและสำหรับแต่ละช่วงเวลา—เป็นการทำซ้ำจำนวนมหาศาล! ในหลายสถานการณ์ พลังของเครื่องจักรนั้นเหนือกว่าความสามารถในการเขียนโปรแกรมของเรามาก จนเป็นการฉลาดที่จะมองหาส่วนที่ทำซ้ำๆ ของการจำลองที่เสนอไว้ตั้งแต่เนิ่นๆ และเมื่อเป็นไปได้ ก็จัดรูปแบบการจำลองให้สอดคล้องกับลักษณะนั้น

Figure 18.2—การพยากรณ์อากาศ

การจำลองที่คล้ายกันมากกับระเบิดปรมาณูเกิดขึ้นใน การพยากรณ์อากาศ ที่นั่นบรรยากาศถูกแบ่งออกเป็นก้อนอากาศขนาดใหญ่ และเงื่อนไขที่เกี่ยวข้องสำหรับเมฆปกคลุม อัลบีโด (albedo) อุณหภูมิ ความดัน ความชื้น ความเร็ว ฯลฯ ต้องถูกกำหนดให้กับแต่ละก้อนในตอนเริ่มต้น Figure 18.2 จากนั้นใช้ฟิสิกส์ทั่วไปของบรรยากาศ เราติดตามว่าแต่ละก้อนเคลื่อนที่ไปที่ใดในช่วงเวลาสั้นๆ พร้อมกับการเปลี่ยนแปลงที่เกี่ยวข้อง เป็นวิวัฒนาการแบบทีละขั้นตอนชนิดเดียวกับที่กล่าวมาก่อนหน้านี้

อย่างไรก็ตาม มีความแตกต่างอย่างมีนัยสำคัญระหว่างปัญหาทั้งสอง คือ ระเบิดปรมาณูกับการพยากรณ์อากาศ สำหรับระเบิด ความแตกต่างเล็กน้อยในสิ่งที่เกิดขึ้นระหว่างทางไม่ได้ส่งผลกระทบอย่างมากต่อประสิทธิภาพโดยรวม แต่ดังที่คุณทราบ สภาพอากาศนั้นไวต่อการเปลี่ยนแปลงเล็กน้อยมาก อันที่จริง มีการกล่าวอ้างว่าการที่ผีเสื้อกระพือปีกในญี่ปุ่นหรือไม่นั้น สามารถกำหนดได้ว่าพายุจะถล่มประเทศนี้หรือไม่ และจะรุนแรงแค่ไหน

นี่คือประเด็นพื้นฐานที่ฉันต้องกล่าวถึง เมื่อการจำลองมี เสถียรภาพ (stability) สูง หมายถึงความทนทานต่อการเปลี่ยนแปลงเล็กน้อยในพฤติกรรมโดยรวม การจำลองก็จะทำได้ค่อนข้างดี แต่เมื่อการเปลี่ยนแปลงเล็กน้อยในรายละเอียดบางอย่างสามารถทำให้เกิดผลลัพธ์ที่แตกต่างกันอย่างมาก การจำลองก็เป็นสิ่งที่ทำได้ยากอย่างแม่นยำ แน่นอนว่าระยะยาวแล้วสภาพอากาศมีเสถียรภาพ ฤดูกาลต่างๆ ดำเนินไปตามวัฏจักรของมันโดยไม่สนใจรายละเอียดเล็กน้อย ดังนั้นจึงมีความไม่เสถียรระยะสั้น (รายวัน) ในสภาพอากาศ และเสถียรภาพระยะยาว (ปีต่อปี) เช่นกัน แต่ยุคน้ำแข็งก็แสดงให้เห็นว่ามีความไม่เสถียรระยะยาวมากในสภาพอากาศเช่นกัน โดยที่ดูเหมือนว่าจะมีเสถียรภาพที่ยาวนานยิ่งกว่านั้นอีก!

ฉันพบปัญหาประเภทหลังนี้เป็นจำนวนมาก มักจะยากมากที่จะตัดสินล่วงหน้าว่าเสถียรภาพหรือความไม่เสถียรจะครอบงำปัญหาหรือไม่ และด้วยเหตุนี้จึงยากที่จะรู้ว่าเป็นไปได้หรือเป็นไปไม่ได้ที่จะได้คำตอบที่ต้องการ เมื่อคุณเริ่มทำการจำลอง ให้พิจารณาประเด็นนี้ของปัญหาอย่างถี่ถ้วน ก่อน ที่คุณจะลงลึกเกินไป แล้วภายหลังหลังจากทำงาน เสียเงิน และเวลาไปมากแล้ว ค้นพบว่าคุณไม่สามารถได้คำตอบที่เหมาะสมกับปัญหา ดังนั้นจึงมีสถานการณ์ที่จำลองได้ง่าย สถานการณ์ที่คุณไม่สามารถจัดการได้เลยในทางปฏิบัติ และส่วนใหญ่ที่เหลืออยู่ระหว่างสองขั้วนี้ จงรอบคอบในสิ่งที่คุณสัญญาว่าจะทำได้ผ่านการจำลอง!

เมื่อฉันไปที่ Bell Telephone Laboratories ในปี 1946 ฉันพบว่าตัวเองอยู่ในช่วงเริ่มต้นของการออกแบบ ระบบขีปนาวุธนำวิถี Nike ระบบแรกๆ ฉันถูกส่งไปที่ MIT เพื่อใช้เครื่องวิเคราะห์เชิงอนุพันธ์ RDA #2 ของพวกเขา โดยได้รับข้อมูลการเชื่อมต่อระหว่างส่วนต่างๆ ของเครื่องวิเคราะห์ และคำแนะนำมากมายจากผู้อื่นที่รู้มากกว่าฉันมากเกี่ยวกับวิธีการรันการจำลอง

พวกเขามีการยิงแบบเอียงในการออกแบบดั้งเดิม พร้อมด้วยสมการแปรผันที่จะให้ข้อมูลแก่ฉันเพื่อให้สามารถปรับเปลี่ยนส่วนประกอบต่างๆ ได้อย่างเหมาะสม เช่น ขนาดปีก ฉันควรจะชี้ให้เห็นว่า เวลาในการแก้ปัญหาสำหรับวิถีหนึ่งๆ ใช้เวลาประมาณครึ่งชั่วโมง และประมาณครึ่งทางของวิถีหนึ่ง ฉันต้องตัดสินใจสำหรับการยิงทดลองครั้งต่อไป ดังนั้นฉันจึงมีเวลามากมายในการสังเกตและคิดอย่างหนักว่าเหตุใดสิ่งต่างๆ จึงเป็นไปอย่างที่มันเป็น หลังจากนั้นไม่กี่วัน ฉันก็ค่อยๆ เกิด "ความรู้สึก" ต่อพฤติกรรมของขีปนาวุธ ว่าทำไมมันถึงทำอย่างที่มันทำภายใต้กฎการนำทางต่างๆ ที่ฉันต้องกำหนด เมื่อเวลาผ่านไป ฉันค่อยๆ ตระหนักว่าการยิงในแนวตั้งดีที่สุด ในทุกกรณี การพาออกจากชั้นอากาศหนาแน่นด้านล่างขึ้นไปสู่ชั้นอากาศเบาบางด้านบนดีกว่ากลยุทธ์อื่นๆ—ฉันสามารถรับแรงเสียดทานเหนี่ยวนำในภายหลังได้ เมื่อต้องออกคำสั่งนำทางเพื่อโค้งวิถี ในการทำเช่นนั้น ฉันพบว่าฉันลดขนาดปีกลงอย่างมาก และตระหนักได้ อย่างน้อยก็ค่อนข้างดี ว่าสมการและค่าคงที่ที่ฉันได้รับเพื่อประเมินการเปลี่ยนแปลงของผลกระทบเนื่องจากการเปลี่ยนแปลงโครงสร้างของขีปนาวุธนั้นแทบจะไม่มีความแม่นยำเพียงพอในช่วงการรบกวนที่กว้างเช่นนี้ (ถึงแม้พวกเขาจะไม่เคยบอกที่มาของสมการ ฉันก็อนุมานได้) ดังนั้นฉันจึงโทรศัพท์ลงไปขอคำแนะนำและพบว่าฉันถูกต้อง—ฉันควรกลับไปหาสมการใหม่

หลังจากมีความล่าช้าบ้างเนื่องจากผู้ใช้รายอื่นต้องการใช้ RDA #2 ฉันก็กลับมาและเริ่มทำงานอีกครั้ง แต่ด้วยปัญญาและประสบการณ์ที่มากขึ้น ฉันพัฒนาความรู้สึกต่อพฤติกรรมของขีปนาวุธอีกครั้ง—ฉันเริ่ม "รู้สึก" ถึงแรงที่กระทำต่อมันเมื่อมีการลองโปรแกรมการจัดรูปวิถีต่างๆ การที่ได้โน้มตัวเหนือพล็อตเตอร์เอาต์พุตในขณะที่คำตอบค่อยๆ ปรากฏขึ้นทำให้ฉันมีเวลาซึมซับสิ่งที่เกิดขึ้น ฉันมักจะสงสัยว่าจะเกิดอะไรขึ้นถ้าฉันมีคอมพิวเตอร์ความเร็วสูงสมัยใหม่ ฉันจะได้มีความรู้สึกต่อขีปนาวุธ ซึ่งเป็นสิ่งที่สำคัญอย่างมากในการออกแบบขั้นสุดท้ายหรือไม่? ฉันมักสงสัยว่าการมีวิถีอีกหลายร้อยเส้นทางจะสอนฉันได้มากเท่าๆ กันหรือไม่—ฉันไม่รู้เลย แต่นั่นคือสาเหตุที่ จนถึงทุกวันนี้ ฉันยังคงสงสัยการได้คำตอบมากเกินไปโดยไม่คิดอย่างรอบคอบเพียงพอกับสิ่งที่คุณได้เห็น ปริมาณของผลลัพธ์ดูเหมือนจะเป็นสิ่งทดแทนที่ไม่ดีสำหรับการได้รับความรู้สึกสนิทสนมกับสถานการณ์ที่กำลังถูกจำลอง

ผลลัพธ์ของการจำลองครั้งแรกเหล่านี้คือเราเปลี่ยนไปใช้การยิงในแนวตั้ง (ซึ่งประหยัดอุปกรณ์ภาคพื้นดินจำนวนมากในรูปของรางวงกลมและความซับซ้อนอื่นๆ) ทำให้ชิ้นส่วนอื่นๆ จำนวนมากง่ายขึ้น และดูเหมือนจะลดขนาดปีกลงเหลือประมาณหนึ่งในสามของขนาดที่ฉันได้รับในตอนแรก ฉันพบว่าปีกที่ใหญ่กว่า แม้จะให้ความคล่องแคล่วมากกว่าในทางทฤษฎี แต่ในทางปฏิบัติกลับสร้างแรงเสียดทานมากในระยะแรกของวิถี จนทำให้ความเร็วที่ช้าลงในภายหลังให้ความคล่องแคล่วน้อยกว่าในช่วง "ท้ายเกม" ที่ต้องเข้าใกล้เป้าหมาย

แน่นอนว่า การจำลองในยุคแรกๆ เหล่านี้ใช้ชั้นบรรยากาศอย่างง่ายที่มีความหนาแน่นลดลงแบบเอ็กซ์โพเนนเชียลเมื่อสูงขึ้น และการทำให้ง่ายขึ้นอื่นๆ ซึ่งในการจำลองที่ทำในภายหลังทั้งหมดถูกปรับเปลี่ยน สิ่งนี้ทำให้เกิดความเชื่ออีกอย่างของฉัน—การทำการจำลองอย่างง่ายในระยะแรกช่วยให้คุณได้ ข้อมูลเชิงลึก (insights) เกี่ยวกับทั้งระบบ ซึ่งจะถูกบดบังในการจำลองขนาดเต็มรูปแบบใดๆ ฉันขอแนะนำอย่างยิ่ง เมื่อเป็นไปได้ ให้เริ่มด้วยการจำลองอย่างง่ายและค่อยๆ พัฒนาไปสู่การจำลองที่สมบูรณ์และแม่นยำยิ่งขึ้นในภายหลัง เพื่อให้ข้อมูลเชิงลึกเกิดขึ้นได้ตั้งแต่เนิ่นๆ แน่นอนว่า ในตอนท้าย เมื่อคุณสรุปการออกแบบขั้นสุดท้าย คุณต้องใส่ผลกระทบเล็กๆ น้อยๆ ทั้งหมดที่อาจมีความสำคัญต่อประสิทธิภาพขั้นสุดท้าย แต่ (1) เริ่มให้ง่ายที่สุดเท่าที่จะทำได้ โดยที่คุณรวมผลกระทบหลักทั้งหมดไว้ (2) ได้ข้อมูลเชิงลึก จากนั้น (3) พัฒนาการจำลองไปสู่แบบที่ละเอียดสมบูรณ์

ขีปนาวุธนำวิถีเป็นหนึ่งในการสำรวจการบินเหนือเสียงในยุคแรกๆ และยังมีความไม่รู้อีกอย่างใหญ่หลวงในปัญหานี้ ข้อมูลจากอุโมงค์ลมเหนือเสียงเพียงสองแห่งที่เราเข้าถึงได้ขัดแย้งกันโดยสิ้นเชิง!

ขีปนาวุธนำวิถีนำไปสู่การบินอวกาศโดยธรรมชาติ ซึ่งฉันมีบทบาทน้อยกว่าในการจำลอง โดยเป็นที่ปรึกษาภายนอกและการวางแผนเบื้องต้นของ โปรไฟล์ภารกิจ (mission profile) ตามที่เรียกกัน

การจำลองยุคแรกอีกอย่างหนึ่งที่ฉันจำได้คือการออกแบบ หลอดคลื่นเดินทาง (travelling wave tube) อีกครั้ง บนอุปกรณ์รีเลย์ดั้งเดิมฉันมีเวลามากมายในการครุ่นคิดสิ่งต่างๆ และฉันตระหนักได้ว่า เมื่อการคำนวณดำเนินไป ฉันสามารถรู้ว่ารูปทรงใดที่ควรให้กับท่ออื่นนอกเหนือจากท่อเส้นผ่านศูนย์กลางคงที่ที่สมมติกันมาโดยตลอด เพื่อให้เห็นว่าสิ่งนี้เกิดขึ้นได้อย่างไร ให้พิจารณาการออกแบบพื้นฐานของ หลอดคลื่นเดินทาง แนวคิดคือคุณส่งคลื่นนำเข้าตามเกลียวที่พันแน่นรอบท่อกลวง และด้วยเหตุนี้ความเร็วประสิทธิผลของคลื่นแม่เหล็กไฟฟ้าที่ลงมาตามท่อจึงลดลงอย่างมาก จากนั้นเราส่งลำอิเล็กตรอนไปตามแนวแกนกลางของท่อ ลำอิเล็กตรอนเริ่มแรกมีความเร็วมากกว่าคลื่นที่เคลื่อนที่ไปตามเกลียว ปฏิสัมพันธ์ของคลื่นและลำแสงหมายความว่าลำแสงจะช้าลง—หมายถึงพลังงานถ่ายโอนจากลำแสงไปยังคลื่น—หมายถึงคลื่นถูกขยาย! แต่แน่นอนว่า จะมีจุดหนึ่งตามท่อที่ความเร็วของทั้งสองใกล้เคียงกัน และปฏิสัมพันธ์เพิ่มเติมจะทำให้เสียหาย ดังนั้นฉันจึงได้แนวคิดว่าถ้าฉันค่อยๆ ขยายเส้นผ่านศูนย์กลางของท่อ ลำแสงก็จะเร็วกว่าคลื่นอีกครั้ง และพลังงานจะถูกถ่ายโอนจากลำแสงไปยังคลื่นมากขึ้น อันที่จริง มันเป็นไปได้ที่จะคำนวณในแต่ละรอบของการคำนวณว่าควรจะเรียวท่ออย่างไรให้เหมาะสมที่สุดสำหรับสัญญาณ

ฉันยังมีความคิดที่น่ารำคาญ เนื่องจากฉันพบว่าสมการจริงๆ แล้วเป็น local linearization ของสมการไม่เชิงเส้นที่ซับซ้อนกว่า ฉันจึงสามารถประมาณค่าองค์ประกอบไม่เชิงเส้นได้ทุกๆ ยี่สิบถึงห้าสิบขั้นตอน ฉันพบว่าทำให้พวกเขาประหลาดใจว่าในบางการออกแบบ ค่าประมาณ ขององค์ประกอบไม่เชิงเส้นนั้นใหญ่กว่าองค์ประกอบเชิงเส้นที่คำนวณได้—ซึ่งทำให้การประมาณเป็นโมฆะ และหยุดการคำนวณที่ไร้ประโยชน์

ทำไมต้องเล่าเรื่องนี้? เพราะมันแสดงให้เห็นอีกประเด็นที่ฉันต้องการสื่อ— จิตใจที่ตื่นตัวและกระตือรือร้น สามารถมีส่วนร่วมในการจำลองได้ แม้ว่าคุณจะกำลังทำงานกับผู้เชี่ยวชาญในสาขาที่คุณเป็นมือสมัครเล่นโดยสิ้นเชิงก็ตาม คุณซึ่งมีมืออยู่กับรายละเอียดเล็กๆ น้อยๆ ทั้งหมด มีโอกาสที่จะเห็นสิ่งที่พวกเขาไม่เห็น และมีส่วนร่วมที่สำคัญ รวมถึงประหยัดเวลาเครื่อง! อีกครั้ง ฉันบ่อยเกินไปที่เห็นสิ่งที่พลาดไประหว่างการจำลองโดยผู้ที่ดำเนินการ และด้วยเหตุนี้จึงไม่น่าจะไปถึงผู้ใช้ผลลัพธ์

ขั้นตอนสำคัญขั้นตอนหนึ่งที่คุณต้องทำ และฉันต้องการเน้นย้ำคือ การพยายามเรียนรู้ ศัพท์เฉพาะ (jargon) ของพวกเขา ทุกสาขาดูเหมือนจะมีศัพท์เฉพาะของตัวเอง ซึ่งมักจะบดบังสิ่งที่เกิดขึ้นจากบุคคลภายนอก—และบางครั้งก็จากบุคคลภายในด้วย! จงระวังศัพท์เฉพาะ—เรียนรู้ที่จะรู้จักมันในสิ่งที่มันเป็น ภาษาพิเศษเพื่ออำนวยความสะดวกในการสื่อสารในขอบเขตจำกัดของสิ่งต่างๆ หรือเหตุการณ์ แต่มันก็ขัดขวางการคิดนอกพื้นที่เดิมที่มันถูกออกแบบให้ครอบคลุมด้วย ศัพท์เฉพาะเป็นทั้งสิ่งจำเป็นและคำสาป คุณควรตระหนักว่าคุณต้องมีความกระตือรือร้นทางปัญญาเพื่อรับประโยชน์จากศัพท์เฉพาะและหลีกเลี่ยงกับดัก แม้แต่ในสาขาความเชี่ยวชาญของคุณเอง!

ตลอดช่วงวิวัฒนาการอันยาวนานของมนุษย์ถ้ำ เห็นได้ชัดว่าผู้คนอาศัยอยู่เป็นกลุ่มประมาณ 25 ถึง 100 คน คนจากนอกกลุ่มมักจะไม่ได้รับการต้อนรับ แม้ว่าเราจะคิดว่ามีการลักพาตัวภรรยากันมากก็ตาม เมื่อเปรียบเทียบช่วงชีวิตมนุษย์ถ้ำอันยาวนานกับช่วงอารยธรรมอันสั้น (น้อยกว่า 10,000 ปี) เราจะเห็นว่าเราได้รับการคัดเลือกโดยวิวัฒนาการให้ไม่ชอบคนนอกเป็นหลัก และวิธีหนึ่งในการทำเช่นนี้คือการใช้ภาษาศัพท์เฉพาะ ศัพท์เฉพาะของโจร ศัพท์สแลงของกลุ่ม ภาษาส่วนตัวของสามีภรรยาที่ประกอบด้วยคำพูด ท่าทาง และแม้แต่การยกคิ้ว ล้วนเป็นตัวอย่างของการใช้ภาษาส่วนตัวเพื่อกีดกันคนนอก ดังนั้น การใช้ศัพท์เฉพาะโดยสัญชาตญาณ เมื่อมีคนนอกเข้ามาควรถูกต่อต้านอย่างมีสติอยู่เสมอ—ตอนนี้เราทำงานในหน่วยที่ใหญ่กว่ามนุษย์ถ้ำมาก และเราต้องพยายามอย่างต่อเนื่องที่จะเขียนทับคุณลักษณะการออกแบบยุคแรกเริ่มนี้ในตัวเรา

คณิตศาสตร์ไม่ใช่ภาษาที่ไม่ซ้ำกันอย่างที่เราอยากให้มันเป็นเสมอไป เพื่ออธิบายประเด็นนี้ จำได้ว่าฉันเคยกล่าวถึงการจำลองการสกัดกั้นของกองทัพเรือที่เกี่ยวข้องกับสมการเชิงอนุพันธ์อันดับหนึ่ง 28 สมการพร้อมกัน ฉันต้องเล่าเรื่องราว โดยละเว้นทุกอย่างยกเว้นส่วนสำคัญของเรื่อง ให้พิจารณาปัญหาของการแก้สมการเชิงอนุพันธ์หนึ่งสมการ

Figure 18.3— y' = f ( x , y ), | y | ≤ 1

Figure 18.3 จงจำสมการนี้ไว้ในใจขณะที่ฉันพูดถึงปัญหาจริง ฉันเขียนโปรแกรมสำหรับปัญหาจริงของสมการเชิงอนุพันธ์พร้อมกัน 28 สมการเพื่อหาคำตอบ แล้วจำกัดค่าบางค่าให้เท่ากับ 1 เหมือนกับเป็นการจำกัดแรงดันไฟฟ้า (voltage limiting) โดยไม่เห็นด้วยกับผู้เสนอซึ่งเป็นเพื่อนของฉัน ฉันยืนยันให้เขาไปดูการเขียนโค้ดแบบไบนารีดิบของปัญหากับฉัน ขณะที่ฉันอธิบายให้เขาฟังว่าเกิดอะไรขึ้นในแต่ละขั้นตอน ฉันปฏิเสธที่จะคำนวณจนกว่าเขาจะยอมทำตาม—ดังนั้นเขาจึงไม่มีทางเลือกจริงๆ! เรามาถึงขั้นตอนการจำกัดในโปรแกรมและเขาพูดว่า "Dick นั่นคือการจำกัดแบบจำกัด (fin limiting) ไม่ใช่การจำกัดแรงดันไฟฟ้า" หมายความว่าค่าที่ถูกจำกัดควรใส่ในแต่ละขั้นตอน ไม่ใช่ใส่ตอนท้าย มันเป็นตัวอย่างที่ดีเท่าที่ฉันรู้ในการแสดงให้เห็นว่าทั้งคู่เราเข้าใจอย่างถ่องแท้ว่าสัญลักษณ์ทางคณิตศาสตร์หมายถึงอะไร—เราทั้งคู่ไม่มีข้อสงสัย—แต่ไม่มีความเห็นพ้องในการตีความสัญลักษณ์เหล่านั้น! ถ้าเราไม่จับข้อผิดพลาดนั้นได้ ฉันสงสัยว่าการทดลองจริงใดๆ ที่เกี่ยวข้องกับเครื่องบินจะเปิดเผยความสามารถในการเคลื่อนที่ที่ลดลงอันเป็นผลมาจากการตีความของฉัน นั่นคือเหตุผลที่จนถึงทุกวันนี้ ฉันยืนยันว่าบุคคลที่มีความเข้าใจอย่างลึกซึ้งในสิ่งที่จะถูกจำลองต้องมีส่วนร่วมในการเขียนโปรแกรมอย่างละเอียด ถ้าไม่ทำเช่นนั้น คุณอาจเผชิญกับสถานการณ์คล้ายกันที่ทั้งผู้เสนอและผู้เขียนโปรแกรมรู้ว่าแต่ละอย่างหมายถึงอะไร แต่การตีความของพวกเขาอาจแตกต่างกันอย่างมีนัยสำคัญ ทำให้เกิดผลลัพธ์ที่แตกต่างกันอย่างมาก!

คุณไม่ควรคิดว่าการจำลองเกี่ยวข้องกับฟังก์ชันที่ขึ้นกับเวลาเสมอไป ปัญหาหนึ่งที่ฉันได้รับให้รันบนเครื่องวิเคราะห์เชิงอนุพันธ์ที่เราสร้างขึ้นจากชิ้นส่วน M9 gun director คือการคำนวณการแจกแจงความน่าจะเป็นของการบล็อกในสำนักงานกลาง (central office) ไม่ต้องกังวลว่าพวกเขาให้ระบบสมการเชิงอนุพันธ์เชิงเส้นที่เชื่อมต่อกันแบบอนันต์แก่ฉัน โดยแต่ละสมการให้การแจกแจงความน่าจะเป็นของจำนวนสายโทรศัพท์นั้นๆ ในสำนักงานกลางเป็นฟังก์ชันของโหลดทั้งหมด แน่นอนว่าบนเครื่องจักรที่มีข้อจำกัดต้องทำอะไรสักอย่าง และฉันมีอินทิเกรเตอร์เพียง 12 ตัวเท่าที่จำได้ ฉันมองมันเป็นสายอิมพีแดนซ์ (impedance line) และใช้ความแตกต่างของความน่าจะเป็นที่คำนวณได้สองค่าสุดท้าย ฉันสมมติว่ามันเป็นสัดส่วนกับความแตกต่างของสองค่าถัดไป (ฉันใช้ค่าคงที่ของสัดส่วนที่สมเหตุสมผลซึ่งได้จากความแตกต่างของฟังก์ชันสองค่าก่อนหน้า) ดังนั้นพจน์จากสมการถัดไปที่เกินกว่าที่ฉันกำลังคำนวณจึงถูกประมาณได้อย่างสมเหตุสมผล คำตอบได้รับความนิยมอย่างมากในแผนกสวิตชิ่ง และสร้างความประทับใจ ฉันเชื่อว่า ให้กับหัวหน้าของฉัน ซึ่งยังคงมีความเห็นต่ำต่อเครื่องคำนวณ

มีการจำลองใต้น้ำ โดยเฉพาะอย่างยิ่งของชุดรับสัญญาณเสียง (acoustic array) ที่วางไว้ในบาฮามาสโดยเพื่อนของฉัน ซึ่งแน่นอนว่าในฤดูหนาวเขามักจะต้องไปตรวจสอบสิ่งต่างๆ และทำการวัดเพิ่มเติม มีการจำลองมากมายเกี่ยวกับการออกแบบและพฤติกรรมของทรานซิสเตอร์ มีการจำลองสถานีถ่ายทอดสัญญาณไมโครเวฟแบบ "jump-jump" พร้อมกับ horns รับสัญญาณ และเสถียรภาพโดยรวมที่เกิดจากสัญญาณกะพริบเดียวที่ปลายด้านหนึ่งผ่านสถานีถ่ายทอดสัญญาณที่แยกจากกันทั้งหมด มันเป็นไปได้อย่างสมบูรณ์ว่าในขณะที่แต่ละสถานีกู้คืนจากสัญญาณกะพริบได้อย่างรวดเร็ว อย่างไรก็ตาม ขนาดของสัญญาณกะพริบอาจเพิ่มขึ้นเมื่อมันข้ามทวีป ที่สถานีถ่ายทอดแต่ละแห่งมีเสถียรภาพในแง่ที่ว่าพัลส์ดับไปตามเวลา แต่ก็มีคำถามเกี่ยวกับเสถียรภาพในเชิงพื้นที่ด้วย—สัญญาณกะพริบสุ่มจะเพิ่มขึ้นอย่างไม่จำกัดเมื่อมันข้ามทวีปหรือไม่? ด้วยเหตุผลที่มีสีสัน ฉันตั้งชื่อปัญหานี้ว่า "space stabilization (การรักษาเสถียรภาพเชิงพื้นที่)" เราต้องรู้สถานการณ์ที่สิ่งนี้สามารถและไม่สามารถเกิดขึ้นได้—ดังนั้นการจำลองจึงจำเป็นเพราะว่า เหนือสิ่งอื่นใด รูปร่างของสัญญาณกะพริบเปลี่ยนไปเมื่อมันข้ามทวีป

ฉันหวังว่าคุณจะเห็นว่าเกือบทุกสถานการณ์ที่คุณสามารถอธิบายได้ด้วยคำอธิบายทางคณิตศาสตร์บางรูปแบบสามารถจำลองได้ในหลักการ ในทางปฏิบัติคุณต้องระวังอย่างมากเมื่อจำลองสถานการณ์ที่ไม่เสถียร—ถึงแม้ว่าฉันจะบอกคุณในบทที่ 20 เกี่ยวกับกรณีรุนแรงที่ฉันต้องแก้เพราะมันสำคัญต่อห้องปฏิบัติการ และนั่นหมายถึง อย่างน้อยสำหรับฉัน ฉันต้องหาคำตอบ ไม่ว่าจะมีข้อแก้ตัวอะไรก็ตามที่ฉันบอกตัวเองว่ามันทำไม่ได้ ก็ยังมีคำตอบบางอย่างสำหรับปัญหาสำคัญเสมอถ้าคุณตั้งใจที่จะได้มันมา คำตอบอาจจะไม่สมบูรณ์แบบ แต่ในยามจำเป็น อะไรก็ดีกว่าไม่มี—ตราบใดที่มันเชื่อถือได้!

การจำลองที่ผิดพลาดทำให้คนละทิ้งความคิดที่ดี และสิ่งนี้เกิดขึ้นบ่อยเกินไป! อย่างไรก็ตาม เราไม่ค่อยเห็นมันในวรรณกรรมเพราะมันแทบไม่ถูกรายงานเลย การจำลองที่ผิดพลาดที่มีชื่อเสียงซึ่งถูกรายงานอย่างกว้างขวาง (ก่อนที่ข้อผิดพลาดจะถูกสังเกตโดยผู้อื่น) คือการจำลองโลกทั้งใบที่ทำโดยสิ่งที่เรียกว่า " Club of Rome" ปรากฎว่าสมการที่พวกเขาเลือกถูกออกแบบมาเพื่อแสดงหายนะไม่ว่าคุณจะเริ่มต้นอย่างไรหรือเลือกค่าสัมประสิทธิ์ส่วนใหญ่อย่างไร! แต่มันก็ปรากฎเช่นกันว่าเมื่อคนอื่นในที่สุดได้สมการเหล่านั้นและพยายามคำนวณซ้ำ การคำนวณมีข้อผิดพลาดร้ายแรง! ฉันจะพูดถึงแง่มุมนี้ของการจำลองในบทถัดไป เพราะมันเป็นเรื่องที่ร้ายแรงมาก—ไม่ว่าจะเป็นการรายงานสิ่งที่ทำให้คนเชื่อในสิ่งที่พวกเขาอยากจะเชื่อและไม่เป็นความจริง หรือการทำให้คนท้อถอยจากการทำตามความคิดที่ดีของพวกเขา

OceanofPDF.com