กลับไปหน้าบทความ

อ่าน 4 นาที

ภาษาการสร้างแบบจำลอง PROSE

PROSE [ 1 ] [ 2 ] [ 3 ] [ 4 ] เป็น เครื่องเสมือน 4GL ทางคณิตศาสตร์ ที่สร้างแบบจำลองเชิงองค์รวมที่เรียกว่า Synthetic Calculus [ 5 ] [ 6 ] [ 7 ] (หรือที่รู้จักกันในชื่อ...

ภาษาการสร้างแบบจำลอง PROSE

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )

PROSE [ 1 ] [ 2 ] [ 3 ] [ 4 ]เป็นเครื่องเสมือน4GL ทางคณิตศาสตร์ ที่สร้างแบบจำลองเชิงองค์รวมที่เรียกว่า Synthetic Calculus [ 5 ] [ 6 ] [ 7 ] (หรือที่รู้จักกันในชื่อ MetaCalculus) เป็นภาษาที่พัฒนาต่อจาก SLANG [ 8 ] /CUE [ 9 ]ซึ่งเป็นภาษาจำลองและเพิ่มประสิทธิภาพที่พัฒนาขึ้นที่ TRW Systems โดยเปิดตัวในปี 1974 บนซูเปอร์คอมพิวเตอร์ Control Data เป็นภาษาเชิงพาณิชย์ภาษาแรก[ 10 ] [ 11 ] [ 12 ] [ 13 ]ที่ใช้การหาอนุพันธ์อัตโนมัติ (AD)ซึ่งได้รับการปรับให้เหมาะสมสำหรับการวนลูปในสแต็กคำสั่งของ CPU CDC 6600

แม้ว่า PROSE จะเป็นภาษาโปรแกรมเชิงกระบวนการที่มีโครงสร้างแบบบล็อกที่ซับซ้อน แต่จุดเน้นหลักอยู่ที่การผสมผสานระบบทางคณิตศาสตร์ ที่มีตัวแปรพร้อมกัน เช่น:

ระบบสมการไม่เชิงเส้นโดยปริยาย ระบบสมการเชิงอนุพันธ์สามัญ และการหาค่าเหมาะสมที่สุดแบบหลายมิติ

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

ลำดับชั้นโฮลาร์คีของการแพร่กระจายเชิงอนุพันธ์

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

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

ความแตกต่างของกระบวนการทำนาย

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

การจำแนกประเภทของกระบวนการค้นหา

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

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

แม่แบบผู้ปฏิบัติงานอัตโนมัติ

รูปแบบการสร้างแบบจำลองที่สมบูรณ์ประกอบด้วยโฮลอนเพียงสามประเภทเท่านั้น ซึ่งจำแนกตามแม่แบบตัวดำเนินการดังต่อไปนี้

การเพิ่มประสิทธิภาพ

ค้นหาตัวแปรที่ไม่ทราบค่าพร้อมกันในรูทีนย่อยของแบบจำลองโดยใช้กลไกการแก้ปัญหา [ โดยเก็บตัวแปรข้อจำกัดอสมการไว้ ] [ การจับคู่ตัวแปรข้อจำกัดความเท่าเทียมกัน ] เพื่อเพิ่มค่าสูงสุด | ลดค่าต่ำสุดของตัวแปรเป้าหมาย

ความสัมพันธ์

ค้นหาตัวแปรที่ไม่ทราบค่าพร้อมกันในรูทีนย่อยของแบบจำลองโดยใช้กลไกการแก้ปัญหาเพื่อให้ตรงกับตัวแปรข้อจำกัดความเท่าเทียมกัน

การจำลอง

INITIATE solver-engine FOR model-subroutine EQUATIONS rate-variables/level-variable OF independent-variable STEP increment-variable TO limit-variableผสานรวมซับรูทีนโมเดลโดยใช้เอนจินแก้ปัญหา

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

รูปที่ 1 การประยุกต์ใช้แคลคูลัสของการแปรผัน[ 14 ]

ปัญหาตัวอย่างนี้เดิมทีเป็น แอปพลิเคชัน FORTRANจากรายงาน RAND เกี่ยวกับอัลกอริทึมที่ใช้สำหรับการเพิ่มประสิทธิภาพของแอปพลิเคชันปัญหาค่าขอบเขต รายงานนี้ซึ่งตีพิมพ์เป็นตำราเรียนด้วย[ 14 ]อธิบายถึง Quasilinearization ซึ่งเป็นทางเลือกแทน "การเขียนโปรแกรมแบบไดนามิก" ที่คิดค้นโดยผู้เขียนคนเดียวกันคือRichard Bellmanโปรแกรม FORTRAN ในภาคผนวกสองของตำราเรียนมีโค้ดมากกว่าโปรแกรม PROSE 25 บรรทัดถึงห้าเท่า โดยฝังอยู่ในกล่องสีขาว (ไวยากรณ์ที่มองเห็นได้) ของรูปที่ 1 สิ่งสำคัญกว่าในการอภิปรายเรื่องการสร้างแบบจำลองเทียบกับการเขียนโปรแกรมนี้คือ โปรแกรม FORTRAN มีลูป DO 14 ลูป ในขณะที่โปรแกรม PROSE ไม่มีลูป อีกประเด็นหนึ่งเกี่ยวกับการลดความซับซ้อนของโปรแกรมคือ การจัดการหน่วยความจำแบบไดนามิกสามารถถือเป็นเรื่องปกติสำหรับผู้ใช้ เมื่อส่งกลับจาก holon ไปยังเทมเพลตตัวดำเนินการที่เรียก holon จะถูกทำลายและหน่วยความจำจะถูกปล่อยให้ว่างเพื่อใช้งานอื่น

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

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

รูปที่ 2 ปัญหาการเพิ่มประสิทธิภาพการออกแบบปีก[ 7 ] : 8

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

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

สถาปัตยกรรมโฮลอนอัตโนมัติ

รูปที่ 3 สถาปัตยกรรมโฮลอนทั่วไป[ 2 ] : 3–3

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

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

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

รูปที่ 4. การจำลองโฮลอน[ 2 ] : 3–5
รูปที่ 5. ความสัมพันธ์โฮลอน[ 2 ] : 3–10
รูปที่ 6. โฮลอนการเพิ่มประสิทธิภาพแบบไม่มีข้อจำกัด[ 2 ] : 3–10
รูปที่ 7. โฮลอนการเพิ่มประสิทธิภาพแบบมีข้อจำกัด[ 2 ] : 3–11

โฮลอนเป็นกระบวนการแก้ปัญหาโดยใช้ระบบสูตร

ดังที่กล่าวมาข้างต้น โฮลอนคือภาชนะสำหรับคำนวณ เช่นเดียวกับสเปรดชีต ที่ห่อหุ้มชุด สูตรพีชคณิต ที่ป้อนเข้ามาแต่แตกต่างจากสเปรดชีตตรงที่ สูตรเหล่านี้เป็นส่วนหนึ่งของทั้งหมดที่ไม่สามารถลดทอนได้ ซึ่งสามารถแก้ไขได้เฉพาะเมื่อรวมกันเป็นหน่วยเดียวเท่านั้น โดยเกี่ยวข้องกับการประมาณค่า (การวนซ้ำ) อย่างต่อเนื่อง สเปรดชีตซึ่งเกี่ยวข้องกับการคำนวณสูตรเพียงรอบเดียว จึงอาจมองได้ว่าเป็นโฮลอน "ที่เสื่อมสภาพ" หรือ "ลดรูป" ซึ่งเกี่ยวข้องกับการคำนวณเพียงรอบเดียวเท่านั้น

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

ต้นแบบปัญหาเชิงอุปมาอุปไมย

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

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

เทพปกรณัม

PROSE ได้นำเสนอชุดตัวแก้ปัญหาที่สามารถใช้ทดแทนกันได้ ซึ่งตั้งชื่อตามเทพเจ้าในตำนาน ในสามประเภทของเอนจิ้น:

การเพิ่มประสิทธิภาพ

  • HERA – เวอร์ชันขั้นสูงของวิธีการไล่ระดับอันดับสองของนิวตัน พร้อมตรรกะพิเศษในการตรวจจับและหลีกเลี่ยงค่าสุดขั้วที่ไม่ต้องการในระหว่างกระบวนการค้นหา
  • เฮอร์คิวลีส – ตัวแก้ปัญหา การหาค่าเหมาะสมที่สุดแบบมีข้อจำกัดพิเศษสำหรับปัญหาเชิงเส้น จำนวนเต็ม และจำนวนเต็มผสม
  • JOVE – เทคนิคการเพิ่มประสิทธิภาพแบบไม่จำกัดลำดับที่ใช้การค้นหาความชันอันดับสองของนิวตัน
  • JUPITER – วิธีการฟังก์ชันปรับโทษการตัดขอบภายนอกแบบเคลื่อนที่โดยใช้การค้นหาเมตริกตัวแปร Davidon-Fletcher-Powell (DFP)
  • THOR – เทคนิค การเขียนโปรแกรมเชิงเส้นแบบ "แบ่งส่วนเชิงเส้น" และ
  • ZEUS – เทคนิคการเพิ่มประสิทธิภาพแบบไม่จำกัดลำดับที่ใช้การค้นหาเมตริกตัวแปรของ Davidon-Fletcher-Powell (DFP)

ความสัมพันธ์

  • AJAX – ตัวค้นหารากผกผันเทียมแบบลดทอนของนิวตัน-ราฟสันและนิวตัน-เกาส์; และ
  • MARS – ตัวค้นหารากผกผันเทียมแบบลดทอนของ Newton-Raphson และ Newton-Householder

การจำลองพลวัตของระบบ

  • ATHENA – อัลกอริทึม Runge-Kutta หลายลำดับพร้อมการแพร่กระจายเชิงอนุพันธ์และการจำกัดตัวแปรตามผลลัพธ์ใดๆ ได้ตามต้องการ
  • GEMINI – เทคนิคการเริ่มต้นด้วยตนเองของการประมาณค่าฟังก์ชันเชิงตรรกะจาก Gragg, Bulirsch และ Stoer โดยอาจมีการแพร่กระจายเชิงอนุพันธ์หรือไม่ก็ได้ ขึ้นอยู่กับบริบท
  • ISIS – วิธีรันเก-คุตตา-กิลล์ พร้อมการแพร่กระจายแบบแตกต่าง;
  • JANISIS – ISIS หรือ JANUS ขึ้นอยู่กับบริบทการแพร่กระจายแบบแตกต่างกันหรือไม่แตกต่างกัน
  • JANUS – ตัวทำนาย-แก้ไข Adams-Moulton สำหรับบริบทที่ไม่แพร่กระจายความแตกต่าง
  • MERCURY – วิธีการปรับค่าอัตรา/สถานะของเฟืองที่แตกต่างกัน ทั้งค่าความแข็งและขนาดขั้นตอน สำหรับบริบทที่ไม่เกิดการแพร่กระจายเชิงอนุพันธ์
  • MERLIN – เทคนิคการเริ่มต้นด้วยตนเองของการประมาณค่าฟังก์ชันเชิงตรรกะจาก Gragg, Bulirsch และ Stoer พร้อมด้วยการแพร่กระจายเชิงอนุพันธ์
  • MINERVA – วิธี Runge-Kutta หลายลำดับโดยไม่ต้องใช้การแพร่กระจายเชิงอนุพันธ์ และสามารถจำกัดตัวแปรที่ขึ้นอยู่กับผลลัพธ์ได้ตามต้องการ
  • NEPTUNE – เทคนิคการเริ่มต้นด้วยตนเองของการประมาณค่าฟังก์ชันตรรกยะจาก Gragg, Bulirsch และ Stoer โดยไม่ต้องใช้การแพร่กระจายเชิงอนุพันธ์ และ
  • PEGASUS – เทคนิค Runge-Kutta อันดับ 5 พิเศษที่เรียกว่า Sarafyan Embedding ซึ่งให้ผลลัพธ์อันดับ 4 ในเวลาเดียวกัน พร้อมทั้งมีตัวเลือกในการจำกัดตัวแปรตามผลลัพธ์ใดๆ ในบริบทการแพร่กระจายที่ไม่ใช่เชิงอนุพันธ์

บริบทการซ้อน

โปรแกรมแก้ปัญหาเหล่านี้ใช้วิธีการเชิงตัวเลขที่แตกต่างกันในสามประเภทของกลไก ขึ้นอยู่กับบริบทการซ้อนที่นำไปใช้ โปรแกรมแก้ปัญหาการจำลองบางตัว (JANUS, MERCURY, MINERVA, MERLIN และ PEGASUS) ไม่สามารถซ้อนในบริบทการหาอนุพันธ์อัตโนมัติของการหาความสัมพันธ์และการหาค่าเหมาะสมที่สุดได้ เนื่องจากไม่ได้ถูกโอเวอร์โหลดสำหรับการคำนวณอนุพันธ์อัตโนมัติ ดังนั้นจึงมีการแนะนำเวอร์ชันไฮบริด JANISIS (ISIS หรือ JANUS) และ GEMINI (MERLIN หรือ NEPTUNE) ซึ่งจะทำงานได้อย่างมีประสิทธิภาพในโหมดการหาอนุพันธ์อัตโนมัติหรือโหมดการคำนวณเลขคณิตแบบปกติ (ปิดการหาอนุพันธ์ภายใน) สิ่งนี้ช่วยเร่งความเร็วในการค้นหาแบบวนซ้ำของโปรแกรมแก้ปัญหา เช่น AJAX, MARS, JOVE, ZEUS และ JUPITER อย่างมาก ซึ่งเรียกใช้โมเดลของพวกมันซ้ำหลายครั้งในโหมดที่ไม่ใช้การหาอนุพันธ์ เมื่อใช้ขั้นตอนย่อยการค้นหาแบบไม่ใช้การหาอนุพันธ์ในโหมดต่างๆ

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=PROSE_modeling_language&oldid=1324264982 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ภาษาการสร้างแบบจำลอง PROSE

PROSE [ 1 ] [ 2 ] [ 3 ] [ 4 ] เป็น เครื่องเสมือน 4GL ทางคณิตศาสตร์ ที่สร้างแบบจำลองเชิงองค์รวมที่เรียกว่า Synthetic Calculus [ 5 ] [ 6 ] [ 7 ] (หรือที่รู้จักกันในชื่อ...

ลำดับชั้นโฮลาร์คีของการแพร่กระจายเชิงอนุพันธ์

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

ความแตกต่างของกระบวนการทำนาย

หากวิธีการแก้ปัญหาแบบซ้อนกันเป็นการทำนาย (เช่น การอินทิ เกรตเชิงตัวเลข) อัลกอริทึมการแก้ปัญหาของมัน นอกเหนือจากสูตรแบบจำลองแล้ว จะถูกหาอนุพันธ์โดยอัตโนมัติด้วย เนื่องจากการหาอนุพันธ์นี้แพร่กระจาย (ผ่านกฎลูกโซ่ )...

การจำแนกประเภทของกระบวนการค้นหา

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