43. ทฤษฎีความโกลาหล
เป็นสาขาหนึ่งของคณิตศาสตร์ที่เกี่ยวข้องกับพฤติกรรมสุ่มหรือคาดเดาไม่ได้ในระบบกำหนด
พฤติกรรมที่วุ่นวายมักพบเห็นได้รอบตัวเราจากของเหลวที่ไหล สภาพอากาศ การจราจรบนถนน ลูกตุ้มที่แกว่งไปมา และอื่นๆ
ผู้ก่อตั้งทฤษฎีความโกลาหลสมัยใหม่ "เอ็ดเวิร์ด ลอเรนซ์" สังเกตว่าความแตกต่างเพียงเล็กน้อยในสภาวะเริ่มต้นสามารถให้ผลลัพธ์ที่แตกต่างกันอย่างกว้างขวางสำหรับระบบที่กำหนดขึ้น (ระบบที่พฤติกรรมในอนาคตถูกกำหนดโดยเงื่อนไขเริ่มต้นอย่างสมบูรณ์)
ทำให้ไม่สามารถคาดเดาได้ในระยะยาว
ลอเรนซ์สังเกตเห็นสิ่งนี้ในระหว่างการคำนวณการพยากรณ์อากาศของเขา หากเงื่อนไขเริ่มต้นถูกป้อนด้วยทศนิยม 6 ตำแหน่ง ผลลัพธ์ที่ได้จะแตกต่างอย่างมากจากเมื่อใช้ทศนิยม 3 ตำแหน่ง
อีกตัวอย่างหนึ่งของระบบที่วุ่นวายแต่ถูกกำหนดไว้คือลูกตุ้มแบบแท่งคู่ดังต่อไปนี้
เอฟเฟกต์ผีเสื้อ
เป็นหลักการสำคัญของทฤษฎีเคออสที่ระบุว่าการเปลี่ยนแปลงเล็กๆ น้อยๆ ในสภาวะเริ่มต้นสามารถนำไปสู่การเปลี่ยนแปลงครั้งใหญ่ในสถานะระยะยาวของระบบได้
ดังที่ลอเรนซ์กล่าวไว้ในเชิงเปรียบเทียบ ผีเสื้อที่กระพือปีกในบราซิลสามารถมีอิทธิพลต่อพายุทอร์นาโดในเท็กซัสได้
ตัวดึงดูด
ตัวดึงดูดกลุ่มของรัฐซึ่งในที่สุดรัฐใกล้เคียงจะเข้าใกล้ในเส้นทางของตน
ในตัวอย่างของลูกตุ้มที่แกว่ง จุดที่ลูกตุ้มหยุดนิ่งในที่สุดคือจุดดึงดูดของระบบไดนามิกนี้
ลอเรนซ์ แอตแทรคเตอร์
ลอเรนซ์บรรยายบรรยากาศของโลกด้วยการหมุนเวียนของของไหลหมุนเวียนโดยใช้สมการไม่เชิงเส้นสามสมการ
ผลลัพธ์ของสมการเหล่านี้ก่อให้เกิดเส้นโค้งลึกลับที่ไม่เคยตัดผ่านตัวเอง ไม่เคยถึงจุดสมดุล และแสดงให้เห็นถึงความสับสนวุ่นวาย
เส้นโค้งนี้เรียกว่า ตัวดึงดูดลอเรนซ์
44. ปัญหากระเป๋าเป้สะพายหลัง
สมมุติว่ามีโจรมีเป้/เป้ที่รับน้ำหนักได้จำกัด
ควรเลือกกล่องใดต่อไปนี้เพื่อเพิ่มมูลค่าทางการเงินของสินค้าที่ถูกขโมยให้สูงสุดโดยรักษาน้ำหนักโดยรวมให้ต่ำกว่าหรือเท่ากับ 15 กิโลกรัม
นี่เป็นปัญหาการปรับให้เหมาะสมที่สุดซึ่งมักพบในระหว่างการจัดสรรทรัพยากรภายใต้ข้อจำกัด
ไม่มีอัลกอริธึมที่รู้จักที่สามารถให้วิธีแก้ปัญหาที่ถูกต้องและเร็วที่สุด (เวลาพหุนาม) ให้กับทุกกรณีของปัญหา (ปัญหาคือ "NP-complete")
หากเราตรวจสอบชุดค่าผสมที่เป็นไปได้ทั้งหมดเพื่อค้นหาวิธีแก้ปัญหาที่เหมาะสมที่สุด อัลกอริธึมกำลังเดรัจฉานนี้จะใช้เวลา O(2^n)
เช่น เวลาที่ไม่ใช่พหุนาม
45. ปัญหาพนักงานขายที่เดินทาง
ลองนึกภาพว่ามีพนักงานขายพร้อมรายชื่อเมืองสำหรับจัดส่งพัสดุ
ปัญหาเริ่มต้นด้วยคำถาม:
อะไรคือคำสั่งให้พวกเขาเดินทางไปยังเมืองต่าง ๆ เพื่อลดระยะทางทั้งหมด?
นี่เป็นปัญหา "NP-hard" และใช้อัลกอริทึมคอมพิวเตอร์แบบ Brute-force ที่มีความซับซ้อนเวลา Big O ที่ O(n!)
เพื่อค้นหาวิธีแก้ปัญหา
วิธีแก้ไขปัญหาได้รับการอธิบายไว้ในบทความที่ยอดเยี่ยมนี้โดย Pedram Ataee ใน "Towards Data Science":
วิธีแก้ปัญหาใหม่สำหรับปัญหานี้ได้รับการเผยแพร่เมื่อเร็ว ๆ นี้ และมีการอธิบายไว้อย่างดีในบทความด้านล่าง:
ปัญหาดังกล่าวยังถูกนำไปใช้ในด้านอื่นด้วย เช่น ดาราศาสตร์และการสังเคราะห์ DNA
ตรวจสอบส่วนอื่นๆ ในชุดนี้ด้านล่าง:
นั่นคือทั้งหมดสำหรับบทความนี้ ขอบคุณสำหรับการอ่าน!
หากคุณเพิ่งเริ่มใช้ Python หรือเขียนโปรแกรมโดยรวม ลองดูหนังสือเล่มใหม่ของฉันชื่อ 'The No Bulls**t Guide To Learning Python'ด้านล่าง: