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

อ่าน 15 นาที

เรกูลา ฟัลซี

ใน ทางคณิตศาสตร์ regula falsi หรือ วิธีตำแหน่งเท็จ ( method of false position) คือกลุ่มของอัลกอริทึมที่ใช้ในการแก้สมการเชิงเส้นและสมการไม่เชิงเส้นแบบเรียบ...

เรกูลา ฟัลซี

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

ประเภททางประวัติศาสตร์สองแบบ

ในทางประวัติศาสตร์ สามารถแบ่งวิธีการวางตำแหน่งเท็จออกเป็นสองประเภทพื้นฐาน ได้แก่การ วางตำแหน่งเท็จแบบง่ายและการวางตำแหน่งเท็จแบบสองชั้น

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

ถ้าทราบค่า aและb แล้ว วิธีการเริ่มต้นด้วยการใช้ค่าอินพุตทดสอบ xและหาค่าเอาต์พุตที่สอดคล้องกันbโดยการคูณ: ax ′ = bจากนั้นจึงหาคำตอบที่ถูกต้องโดยการปรับสัดส่วนx = /x .

ยกตัวอย่างเช่น พิจารณาปัญหาข้อที่ 26 ในปาปิรัสไรนด์ซึ่งถามหาคำตอบของสมการ (เขียนในสัญลักษณ์สมัยใหม่) x + x/4= 15ปัญหานี้แก้ไขโดยการวางตำแหน่งที่ผิดพลาด [ 1 ]ขั้นแรก เดาว่า x = 4 เพื่อให้ได้ 4 + ทางด้านซ้าย4/4= 5การเดานี้เป็นตัวเลือกที่ดีเพราะให้ ค่า จำนวนเต็มอย่างไรก็ตาม 4 ไม่ใช่คำตอบของสมการเดิม เนื่องจากให้ค่าที่น้อยเกินไปถึงสามเท่า เพื่อชดเชย ให้คูณ x (ปัจจุบันตั้งไว้ที่ 4) ด้วย 3 แล้วแทนค่าอีกครั้งเพื่อให้ได้ 12 + 12/4= 15ซึ่งยืนยันว่าคำตอบคือ x = 12

วิธีการ วางตำแหน่งผิดสองชั้น (Double false position)มีจุดมุ่งหมายเพื่อแก้ปัญหาที่ซับซ้อนกว่า ซึ่งสามารถเขียนในรูปพีชคณิตได้ดังนี้: กำหนดค่าxที่ทำให้

หากทราบว่า

ตำแหน่งเท็จคู่เทียบเท่าทางคณิตศาสตร์กับการแทรกสอดเชิงเส้นโดยใช้คู่ของอินพุตทดสอบและคู่ของเอาต์พุตที่สอดคล้องกัน ผลลัพธ์ของอัลกอริทึม นี้ กำหนดโดย[ 2 ]

จะถูกจดจำและปฏิบัติโดยการท่องจำ แท้จริงแล้วกฎที่Robert Recorde ให้ไว้ ในGround of Artes ของเขา (ประมาณปี 1542) คือ: [ 2 ]

Gesse ทำหน้าที่นี้อย่างมีความสุขด้วยโอกาสแห่งความจริง ท่านจึงสามารถก้าวต่อไปได้และขั้นแรกให้พิจารณาจากคำถามนี้แม้ว่าจะไม่มีความจริงใด ๆ ในนั้นก็ตามSuche falsehode is so good a grounde,ความจริงนั้นจะปรากฏให้เห็นในไม่ช้า จากเหยื่อจำนวนมากไปจนถึงโมจำนวนมากจากจำนวนน้อยลงก็ใช้จำนวนน้อยลงเช่นกันด้วยความเหงาที่มากเกินกว่าจะทนได้อีกครั้งTo to fewe adde to manye plaine.In crossewaies multiplye contrary kinde,ความจริงทั้งหมดถูกค้นพบด้วยความเท็จ

สำหรับฟังก์ชันเชิงเส้นแอฟฟิ

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

ประวัติศาสตร์

เทคนิคการวางตำแหน่งเท็จแบบง่ายพบได้ใน แผ่น จารึกอักษรลิ่มจากคณิตศาสตร์บาบิโลน โบราณ และในปาปิรัสจากคณิตศาสตร์อียิปต์โบราณ[ 3 ] [ 1 ]

ตำแหน่งเท็จคู่เกิดขึ้นในสมัยโบราณตอนปลายในฐานะอัลกอริทึมทางคณิตศาสตร์ล้วนๆ ในตำราคณิตศาสตร์จีน โบราณที่เรียกว่า เก้าบทว่าด้วยศิลปะทางคณิตศาสตร์ (九章算術) [ 4 ]ซึ่งมีอายุตั้งแต่ 200 ปีก่อนคริสต์ศักราชถึง ค.ศ. 100 บทที่ 7 ส่วนใหญ่อุทิศให้กับอัลกอริทึม ในที่นั้น ขั้นตอนดังกล่าวได้รับการพิสูจน์โดยข้อโต้แย้งทางคณิตศาสตร์ที่เป็นรูปธรรม จากนั้นนำไปประยุกต์ใช้อย่างสร้างสรรค์กับปัญหาเรื่องราวที่หลากหลาย รวมถึงปัญหาที่เกี่ยวข้องกับสิ่งที่เราเรียกว่าเส้นตัดบนภาคตัดกรวยตัวอย่างที่พบได้ทั่วไปมากกว่าคือปัญหา "การซื้อร่วม" ที่เกี่ยวข้องกับเงื่อนไข "ส่วนเกินและส่วนขาด": [ 5 ]

ตอนนี้มีการซื้อสินค้าร่วมกัน โดยทุกคนออกเงินคนละ 8 เหรียญ ส่วนเกินคือ 3 เหรียญ และทุกคนออกเงินคนละ 7 เหรียญ ส่วนที่ขาดคือ 4 เหรียญ จงบอกจำนวนคน ราคาสินค้า และแต่ละคนออกเงินเท่าไหร่ คำตอบ: 7 คน ราคาสินค้า 53 เหรียญ[ 6 ]

ระหว่างศตวรรษที่ 9 และ 10 นักคณิตศาสตร์ชาวอียิปต์อบู กามิลได้เขียนตำราที่ปัจจุบันสูญหายไปแล้วเกี่ยวกับการใช้หลักการตำแหน่งเท็จคู่ ซึ่งรู้จักกันในชื่อ " หนังสือแห่งความผิดพลาดสองประการ " ( Kitāb al-khaṭāʾayn ) งานเขียนที่เก่าแก่ที่สุดที่ยังหลงเหลืออยู่เกี่ยวกับหลักการตำแหน่งเท็จคู่จากตะวันออกกลางคือ งานเขียนของกุสตา อิบนุ ลูคา (ศตวรรษที่ 10) นักคณิตศาสตร์ ชาวอาหรับจากเมืองบาอัลเบกประเทศเลบานอนเขาได้พิสูจน์ความถูกต้องของเทคนิคนี้ด้วยการพิสูจน์ทางเรขาคณิตแบบยุคลิดในประเพณีของคณิตศาสตร์มุสลิมในยุคกลางหลักการตำแหน่งเท็จคู่เป็นที่รู้จักในชื่อhisāb al-khaṭāʾayn ("การคำนวณด้วยความผิดพลาดสองประการ") เทคนิคนี้ถูกใช้มานานหลายศตวรรษเพื่อแก้ปัญหาในทางปฏิบัติ เช่น ปัญหาทางการค้าและทางกฎหมาย (การแบ่งมรดกตามกฎการสืบทอดมรดกในคัมภีร์อัลกุรอาน ) รวมถึงปัญหาเพื่อความบันเทิงด้วย อัลกอริทึมมักจะถูกจดจำด้วยความช่วยเหลือของวิธีช่วยจำเช่น บทกวีที่อ้างถึงอิบนุ อัล-ยาซามินและแผนภาพตาชั่งที่อธิบายโดยอัล-ฮัสซาร์และอิบนุ อัล-บันนาซึ่งทั้งสามคนเป็นนักคณิตศาสตร์ที่มีต้นกำเนิดจากโมร็อกโก[ 7 ]

เลโอนาร์โดแห่งปิซา ( ฟิโบนาชชี ) ได้อุทิศบทที่ 13 ของหนังสือLiber Abaci (ค.ศ. 1202) ของเขาเพื่ออธิบายและสาธิตการใช้ตำแหน่งเท็จคู่ โดยเรียกวิธีการนี้ว่าregulis elchataynตาม วิธีการ al-khaṭāʾaynที่เขาได้เรียนรู้จากแหล่งข้อมูลของชาวอาหรับ[ 7 ]ในปี ค.ศ. 1494 ปาซิโอลีใช้คำว่าel cataymในหนังสือSumma de arithmetica ของเขา ซึ่งอาจจะนำคำนี้มาจากฟิโบนาชชี นักเขียนชาวยุโรปคนอื่นๆ จะปฏิบัติตามปาซิโอลีและบางครั้งก็มีการแปลเป็นภาษาละตินหรือภาษาพื้นถิ่น ตัวอย่างเช่นทาร์ตาเกลียแปลคำศัพท์ของปาซิโอลีที่เป็นภาษาละตินเป็น "ตำแหน่งเท็จ" ในภาษาพื้นถิ่นในปี ค.ศ. 1556 [ 8 ]คำศัพท์ของปาซิโอลีเกือบจะหายไปในงานเขียนของยุโรปในศตวรรษที่ 16 และเทคนิคนี้ถูกเรียกด้วยชื่อต่างๆ เช่น "กฎแห่งเท็จ" "กฎแห่งตำแหน่ง" และ "กฎแห่งตำแหน่งเท็จ" Regula Falsiปรากฏเป็นเวอร์ชันภาษาละตินของกฎแห่งความเท็จตั้งแต่ปี ค.ศ. 1690 [ 2 ]

นักเขียนชาวยุโรปในศตวรรษที่ 16 หลายคนรู้สึกว่าจำเป็นต้องขอโทษสำหรับชื่อของวิธีการในวิทยาศาสตร์ที่มุ่งแสวงหาความจริง ตัวอย่างเช่น ในปี 1568 ฮัมฟรีย์ เบเกอร์ กล่าวว่า: [ 2 ]

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

การวิเคราะห์เชิงตัวเลข

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

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

กำหนดสมการมาให้ ย้ายพจน์ทั้งหมดไปไว้ด้านใดด้านหนึ่งเพื่อให้สมการอยู่ในรูปf ( x ) = 0โดยที่fเป็นฟังก์ชันของตัวแปรที่ไม่ทราบค่าxค่าcที่สอดคล้องกับสมการนี้ นั่นคือf ( c ) = 0เรียกว่ารากหรือศูนย์ของฟังก์ชันfและเป็นคำตอบของสมการเดิม ถ้าfเป็นฟังก์ชันต่อเนื่องและมีจุดสองจุดa₀และb₀ที่ทำให้f ( a₀ )และf ( b₀ )มีเครื่องหมายตรงข้ามกันแล้ว ตาม ทฤษฎีบท ค่ากลางฟังก์ชันf จะมี ราก อยู่ใน ช่วง( a₀ , b₀ )

มีอัลกอริธึมค้นหาราก หลายวิธี ที่สามารถใช้เพื่อหาค่าประมาณของรากดังกล่าว วิธีที่ใช้กันทั่วไปวิธีหนึ่งคือวิธีของนิวตันแต่ก็อาจไม่สามารถหารากได้ในบางสถานการณ์ และอาจมีค่าใช้จ่ายในการคำนวณสูง เนื่องจากต้องคำนวณอนุพันธ์ ของฟังก์ชัน จึงจำเป็นต้องใช้วิธีอื่น และวิธีทั่วไปกลุ่มหนึ่งคือวิธีวงเล็บสองจุดวิธีเหล่านี้ดำเนินการโดยการสร้างลำดับของช่วงที่แคบลง[ a k , b k ]ใน ขั้นตอนที่ kโดยที่( a k , b k )จะมีรากของfอยู่

วิธีการกำหนดช่วงสองจุด

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

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

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

วิธีการที่ง่ายที่สุด เรียกว่าวิธีการแบ่งครึ่งช่วง (bisection method ) คำนวณค่าประมาณของคำตอบโดยใช้จุดกึ่งกลางของช่วงที่กำหนด นั่นคือ ถ้าในขั้นตอนkช่วงที่กำหนดในปัจจุบันคือ[ a k , b k ]ค่าประมาณของคำตอบใหม่c kจะได้มาจากการคำนวณดังนี้

วิธีนี้ทำให้มั่นใจได้ว่าc kอยู่ระหว่างa kและb kซึ่งรับประกันการลู่เข้าสู่คำตอบ

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

วิธี regula falsi (ตำแหน่งเท็จ)

การทำซ้ำสองครั้งแรกของวิธีตำแหน่งเท็จ เส้นโค้งสีแดงแสดงฟังก์ชันfและเส้นสีน้ำเงินคือเส้นตัด

อัตราการลู่เข้าของวิธีการแบ่งครึ่งอาจได้รับการปรับปรุงให้ดีขึ้นได้โดยการใช้ค่าประมาณคำตอบที่แตกต่างออกไป

วิธี regula falsiคำนวณค่าประมาณของคำตอบใหม่โดยใช้จุดตัดแกนxของส่วนของเส้นตรงที่เชื่อมจุดปลายของฟังก์ชันบนช่วงวงเล็บปัจจุบัน โดยพื้นฐานแล้ว รากจะถูกประมาณโดยการแทนที่ฟังก์ชันจริงด้วยส่วนของเส้นตรงบนช่วงวงเล็บ จากนั้นใช้สูตรตำแหน่งเท็จคู่แบบคลาสสิกบนส่วนของเส้นตรงนั้น[ 9 ]

กล่าวโดยละเอียด สมมติว่าใน การวนซ้ำครั้งที่ kช่วงวงเล็บคือ( a k , b k )จงสร้างเส้นตรงที่ลากผ่านจุด( a k , f ( a k ))และ( b k , f ( b k ))ดังแสดงในภาพ เส้นตรงนี้เป็นเส้นตัดหรือคอร์ดของกราฟของฟังก์ชันfในรูปแบบจุด-ความชัน สมการของเส้นตรงนี้คือ

ทีนี้เลือกc kให้เป็น จุดตัดแกน xของเส้นตรงนี้ นั่นคือค่าxที่ทำให้y = 0แล้วแทนค่าเหล่านี้ลงไปเพื่อให้ได้

การแก้สมการนี้หาค่าc kจะได้:

รูปแบบสมมาตรสุดท้ายนี้มีข้อได้เปรียบในการคำนวณเมื่อใช้เลขคณิตจุดลอยตัว : เมื่อเข้าใกล้คำตอบ ค่าa kและb kจะอยู่ใกล้กันมาก และเกือบทุกครั้งจะมีเครื่องหมายเดียวกัน การลบแบบนี้อาจทำให้ความแม่นยำลดลงเนื่องจากการหักล้างกันเนื่องจากf ( b k )และf ( a k )มีเครื่องหมายตรงข้ามกันเสมอ การ "ลบ" ในตัวเศษของสูตรที่ปรับปรุงแล้วจึงเป็นการบวกอย่างมีประสิทธิภาพ (เช่นเดียวกับการลบในตัวส่วนด้วย)

ในการวนซ้ำครั้งที่k จะคำนวณ ค่าc kตามวิธีข้างต้น จากนั้น ถ้าf ( a k )และf ( c k )มีเครื่องหมายเดียวกัน ให้กำหนดa k + 1 = c kและb k + 1 = b kมิฉะนั้น ให้กำหนดa k + 1 = a kและb k + 1 = c kทำซ้ำกระบวนการนี้จนกว่าจะได้ค่ารากที่ประมาณได้อย่างแม่นยำเพียงพอ สูตรข้างต้นนี้ยังใช้ในวิธีซีแคนต์ด้วย

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

การวิเคราะห์

เนื่องจากจุดเริ่มต้นและจุดสิ้นสุด a 0และb 0ถูกเลือกโดยที่f ( a 0 )และf ( b 0 )มีเครื่องหมายตรงข้ามกัน ในแต่ละขั้นตอน จุดสิ้นสุดจุดใดจุดหนึ่งจะเข้าใกล้รากของf มากขึ้น หากอนุพันธ์อันดับสองของfมีเครื่องหมายคงที่ (ดังนั้นจึงไม่มีจุดเปลี่ยนเว้า ) ในช่วงนั้น จุดสิ้นสุดจุดหนึ่ง (จุดที่fมีเครื่องหมายเดียวกัน) จะคงที่ตลอดการวนซ้ำครั้งถัดไป ในขณะที่จุดสิ้นสุดที่ลู่เข้าจะได้รับการปรับปรุง ส่งผลให้ความกว้างของวงเล็บไม่เข้าใกล้ศูนย์ (เว้นแต่ว่าศูนย์นั้นจะอยู่ที่จุดเปลี่ยนเว้าซึ่งsign( f ) = −sign( f " ) ) ) ซึ่งแตกต่างจาก วิธีการแบ่ง ครึ่งช่วง ส่งผลให้การประมาณเชิงเส้นของf ( x )ซึ่งใช้ในการเลือกตำแหน่งที่ผิดพลาด ไม่ได้ดีขึ้นอย่างรวดเร็วเท่าที่ควร

ตัวอย่างหนึ่งของปรากฏการณ์นี้คือฟังก์ชัน

ในวงเล็บเริ่มต้น [−1,1] ปลายด้านซ้าย −1 จะไม่ถูกแทนที่ (มันไม่เปลี่ยนแปลงในตอนแรก และหลังจากสามรอบแรกf "จะเป็นค่าลบในช่วงนั้น) ดังนั้นความกว้างของวงเล็บจึงไม่ต่ำกว่า 1 ด้วยเหตุนี้ ปลายด้านขวาจึงเข้าใกล้ 0 ในอัตราเชิงเส้น (จำนวนหลักที่ถูกต้องเพิ่มขึ้นเป็นเส้นตรง โดยมีอัตราการลู่เข้าเท่ากับ 2/3)

สำหรับฟังก์ชันที่ไม่ต่อเนื่อง วิธีนี้คาดว่าจะพบจุดที่ฟังก์ชันเปลี่ยนเครื่องหมายเท่านั้น (ตัวอย่างเช่น ที่x = 0สำหรับ1/ xหรือฟังก์ชันเครื่องหมาย ) นอกเหนือจากการเปลี่ยนเครื่องหมายแล้ว วิธีนี้ยังสามารถลู่เข้าสู่จุดที่ลิมิตของฟังก์ชันเป็นศูนย์ได้ แม้ว่าฟังก์ชันจะไม่นิยาม (หรือมีค่าอื่น) ณ จุดนั้นก็ตาม (ตัวอย่างเช่น ที่x = 0สำหรับฟังก์ชันที่กำหนดโดยf ( x ) = abs( x ) − เมื่อx ≠ 0และโดยf (0) = 5 โดยเริ่มจากช่วง [-0.5, 3.0]) ในทางคณิตศาสตร์เป็นไปได้ที่วิธีนี้จะไม่ลู่เข้าสู่ลิมิตศูนย์หรือการเปลี่ยนเครื่องหมายสำหรับฟังก์ชันที่ไม่ต่อเนื่อง แต่ในทางปฏิบัติ แล้วไม่ใช่ปัญหา เนื่องจากจะต้องมีการตรงกันของจุดปลายทั้งสองเป็นลำดับอนันต์จึงจะติดอยู่กับการลู่เข้าสู่จุดที่ไม่ต่อเนื่องซึ่งเครื่องหมายไม่เปลี่ยน ตัวอย่างเช่น ที่x = ±1ใน

วิธีการแบ่งครึ่งช่วยหลีกเลี่ยงปัญหาการบรรจบกันสมมติฐานนี้ได้

การปรับปรุงในregula falsi

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

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

ข้อบกพร่อง ของ Regula falsiตรวจจับได้ง่าย: จุดสิ้นสุดเดียวกันถูกเก็บไว้สองครั้งติดต่อกัน ปัญหานี้แก้ไขได้ง่ายโดยการเลือกตำแหน่งผิดพลาดที่ปรับเปลี่ยนแล้วแทน ซึ่งเลือกมาเพื่อหลีกเลี่ยงความล่าช้าเนื่องจากสถานการณ์ที่ไม่เอื้ออำนวยที่ค่อนข้างผิดปกติเหล่านั้น มีการเสนอการปรับปรุงRegula falsi หลายวิธี สองวิธีนั้น ได้แก่ อัลกอริทึม Illinois และอัลกอริทึม Anderson–Björk จะอธิบายไว้ด้านล่าง

อัลกอริทึมอิลลินอยส์

อัลกอริทึมของอิลลินอยส์จะหาร ค่า yของจุดปลายที่เก็บไว้ครึ่งหนึ่งในการคำนวณค่าประมาณครั้งถัดไป เมื่อ ค่า y ใหม่ (นั่นคือf ( ck ) ) มีเครื่องหมายเดียวกันกับค่า y ก่อนหน้า ( f ( ck 1 )) ซึ่งหมายความว่าจุดปลายของขั้นตอนก่อนหน้าจะถูกเก็บไว้ ดังนั้น:

หรือ

การลดน้ำหนักค่าปลายด้านหนึ่งเพื่อบังคับให้c k ถัดไป เกิดขึ้นทางด้านนั้นของฟังก์ชัน[ 10 ]ปัจจัย1/2ค่าที่ใช้ข้างต้นอาจดูเหมือนไม่แน่นอน แต่รับประกันการลู่เข้าแบบซูเปอร์ลิเนียร์ (ในเชิงอะซิมโทติก อัลกอริทึมจะดำเนินการสองขั้นตอนปกติหลังจากขั้นตอนที่แก้ไขใดๆ และมีลำดับการลู่เข้า 1.442) มีวิธีอื่นๆ ในการเลือกการปรับขนาดใหม่ซึ่งให้อัตราการลู่เข้าแบบซูเปอร์ลิเนียร์ที่ดีกว่า[ 11 ]

การปรับเปลี่ยนข้างต้นสำหรับregula falsiเรียกว่าอัลกอริทึมอิลลินอยส์โดยนักวิชาการบางคน[ 10 ] [ 12 ]ฟอร์ด (1995) สรุปและวิเคราะห์สิ่งนี้และรูปแบบซูเปอร์ลิเนียร์ที่คล้ายกันอื่นๆ ของวิธีการตำแหน่งเท็จ[ 11 ]

อัลกอริทึมแอนเดอร์สัน-บียอร์ค

สมมติว่าใน การวนซ้ำครั้งที่ kช่วงวงเล็บคือ[ a k , b k ]และค่าฟังก์ชันของการประมาณค่าที่คำนวณใหม่c kมีเครื่องหมายเดียวกับf ( b k )ในกรณีนี้ ช่วงวงเล็บใหม่[ a k + 1 , b k + 1 ] = [ a k , c k ]และจุดปลายด้านซ้ายยังคงอยู่ (จนถึงตอนนี้ เหมือนกับ Regula Falsi ทั่วไปและอัลกอริทึม Illinois)

แต่ในขณะที่อัลกอริทึมของอิลลินอยส์จะคูณf ( a k )ด้วย1/2อัลกอริทึม Anderson–Björck จะคูณด้วยmโดยที่mมีค่าใดค่าหนึ่งต่อไปนี้: [ 13 ]

สำหรับรากง่ายๆ Anderson–Björck ทำงานได้ดีมากในทางปฏิบัติ[ 14 ]

วิธี ITP

กำหนดให้และ โดย ที่คืออัตราส่วนทองคำในแต่ละรอบการทำซ้ำ วิธี ITP จะคำนวณจุด โดยทำตามสามขั้นตอนดังนี้:

  1. [ขั้นตอนการแทรกสอด] คำนวณจุดแบ่งครึ่งและจุดเรกูลาฟัลซี: และ  ;
  2. [ขั้นตอนการตัดทอน] ปรับเปลี่ยนตัวประมาณค่าเข้าหาจุดศูนย์กลาง: โดยที่ และ ;
  3. [ขั้นตอนการฉายภาพ] ฉายภาพตัวประมาณค่าไปยังช่วง minmax: โดยที่.

ค่าของฟังก์ชันณ จุดนี้จะถูกสอบถาม จากนั้นช่วงจะถูกลดลงเพื่อครอบคลุมรากโดยการรักษาช่วงย่อยที่มีค่าฟังก์ชันที่มีเครื่องหมายตรงข้ามกันที่ปลายแต่ละด้าน ขั้นตอนสามขั้นตอนนี้รับประกันว่าคุณสมบัติ minmax ของวิธีการแบ่งครึ่งจะได้รับประโยชน์จากการประมาณค่า เช่นเดียวกับการลู่เข้าแบบซูเปอร์ลิเนียร์ของวิธีการเซแคนต์ และพบว่ามีประสิทธิภาพเหนือกว่าทั้งวิธีการแบ่งครึ่งและวิธีการแทรกสอดภายใต้ฟังก์ชันเรียบและไม่เรียบ[ 15 ]

ข้อควรพิจารณาในทางปฏิบัติ

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

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

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

จากนั้น โปรแกรมอาจเริ่มต้นด้วยวิธีของนิวตัน และหากวิธีของนิวตันไม่ลู่เข้า ก็เปลี่ยนไปใช้วิธีregula falsiอาจจะเป็นเวอร์ชันที่ปรับปรุงแล้ว เช่น เวอร์ชันของอิลลินอยส์หรือแอนเดอร์สัน-บียอร์ค หรือหากแม้แต่วิธีนั้นก็ยังไม่ลู่เข้าได้ดีเท่ากับวิธีแบ่งครึ่ง ก็เปลี่ยนไปใช้วิธีแบ่งครึ่ง ซึ่งจะลู่เข้าได้เสมอในอัตราที่ใช้งานได้ แม้จะไม่น่าทึ่งก็ตาม

เมื่อการเปลี่ยนแปลงของค่า yมีขนาดเล็กมาก และค่า xก็เปลี่ยนแปลงน้อยมากเช่นกัน วิธีของนิวตันก็มีแนวโน้มที่จะไม่เกิดปัญหา และจะลู่เข้า ดังนั้น ภายใต้เงื่อนไขที่เอื้ออำนวยเหล่านั้น เราสามารถเปลี่ยนไปใช้วิธีของนิวตันได้หากต้องการให้ค่าความคลาดเคลื่อนมีขนาดเล็กมาก และต้องการให้การลู่เข้าเกิดขึ้นอย่างรวดเร็ว

ตัวอย่าง: การเจริญเติบโตของต้นกก

ในบทที่ 7 ของหนังสือเก้าบท (The Nine Chapters ) ปัญหาการหาค่ารากศัพท์สามารถแปลเป็นภาษาปัจจุบันได้ดังนี้:

ปัญหาส่วนเกินและส่วนขาด #11:

  • ต้นกกต้นหนึ่งเติบโตขึ้น 3 หน่วยในวันแรก และพบว่าในตอนท้ายของแต่ละวัน ต้นกกจะเติบโตขึ้นอีก 1 /2ของการเติบโตในวันก่อนหน้า
  • ต้นกัญชาสายพันธุ์ Club-rush ต้นนี้เติบโตขึ้น 1 หน่วยในวันแรก และในตอนท้ายของแต่ละวัน ต้นกัญชาจะเติบโตขึ้นเป็นสองเท่าของขนาดที่เติบโตในวันก่อนหน้า
  • จงหาเวลา[ในหน่วยวันเศษส่วน]ที่กลุ่มคนที่มาซื้อของในคลับจะสูงเท่ากับต้นกก

คำตอบ: วัน;ความสูงคือหน่วย

คำอธิบาย:

  • สมมติว่าเป็นวันที่ 2 ต้นกกสั้นกว่าต้นอ้อ 1.5 หน่วย
  • สมมติว่าเป็นวันที่ 3 ต้นกกสูงกว่าต้นกกธรรมดา 1.75 หน่วย ∎
กราฟแสดงฟังก์ชันFรากที่แท้จริงของฟังก์ชัน (จุดK ) และรากโดยประมาณ

เพื่อให้เข้าใจเรื่องนี้ เราจะสร้างแบบจำลองความสูงของต้นไม้ในวันที่n ( n = 1, 2, 3...) โดยใช้ลำดับ เรขาคณิต

กก
คลับรัช

เพื่อให้ง่ายต่อการเขียน เราจะเขียนอนุกรมความสูงของพืชใหม่ในรูปของkและใช้สูตรสำหรับอนุกรมเรขาคณิต

ตอนนี้ ให้ใช้regula falsiเพื่อค้นหารากของ

  • กำหนดค่าและคำนวณซึ่งเท่ากับ−1.5 ("ส่วนขาดดุล")
  • กำหนดค่าและคำนวณซึ่งเท่ากับ1.75 (ส่วนเกิน)

ค่ารากที่คาดการณ์ (การวนซ้ำครั้งที่ 1):

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

ตัวอย่างโค้ด

โปรแกรมตัวอย่างนี้เขียนด้วยภาษาโปรแกรม Cและเป็นตัวอย่างของอัลกอริธึมอิลลินอยส์ ในการหาจำนวนบวกxที่cos( x ) = สมการจะถูกแปลงเป็นรูปแบบการหาค่ารากf ( x ) = cos( x ) − = 0

#include <stdio.h> #include <math.h>double f ( double x ) { return cos ( x ) - x * x * x ; } /* a,b: จุดปลายของช่วงที่เราค้นหา e: ครึ่งหนึ่งของขอบเขตบนสำหรับข้อผิดพลาดสัมพัทธ์ m: จำนวนการวนซ้ำสูงสุด*/ double falsi_method ( double ( * f )( double ), double a , double b , double e , int m ) { double c , fc ; int n , side = 0 ; /* ค่าเริ่มต้นที่จุดปลายของช่วง */ double fa = f ( a ); double fb = f ( b );สำหรับ( n = 0 ; n < m ; n ++ ) { c = ( fa * b - fb * a ) / ( fa - fb ); ถ้า( fabs ( b - a ) < e * fabs ( b + a )) ให้หยุด; fc = f ( c ); }ถ้า( fc * fb > 0 ) { /* fc และ fb มีเครื่องหมายเดียวกัน คัดลอก c ไปที่ b */ b = c ; fb = fc ; ถ้า( side == -1 ) fa /= 2 ; side = -1 ; } มิฉะนั้นถ้า( fa * fc > 0 ) { /* fc และ fa มีเครื่องหมายเดียวกัน คัดลอก c ไปที่ a */ a = c ; fa = fc ; ถ้า( side == +1 ) fb /= 2 ; side = +1 ; } มิฉะนั้น{ /* fc * f_ มีค่าน้อยมาก (ดูเหมือนศูนย์) */ break ; } } คืนค่าc ; }int main ( void ) { printf ( "%0.15f \n " , falsi_method ( & f , 0 , 1 , 5E-15 , 100 )); return 0 ; }

หลังจากรันโค้ดนี้แล้ว คำตอบสุดท้ายจะอยู่ที่ประมาณ 0.865474033101614

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • เบอร์เดน, ริชาร์ด แอล.; แฟร์ส, เจ. ดักลาส (2000). การวิเคราะห์เชิงตัวเลข (ฉบับที่ 7). บรูคส์/โคล. ISBN 0-534-38216-9.
  • Sigler, LE (2002). Fibonacci's Liber Abaci, Leonardo Pisano's Book of Calculation . Springer-Verlag. ISBN 0-387-40737-5.
  • Roberts, AM (2020). "คณิตศาสตร์เชิงภาษาศาสตร์ในตำราว่าด้วยตำแหน่งเท็จคู่ในต้นฉบับภาษาอาหรับที่มหาวิทยาลัยโคลัมเบีย" . Philological Encounters . 5 ( 3– 4): 3– 4. doi : 10.1163/24519197-BJA10007 . S2CID  229538951 .(จากบทความที่ไม่เคยตีพิมพ์มาก่อนเกี่ยวกับการวางตำแหน่งเท็จสองชั้นในต้นฉบับภาษาอาหรับสมัยกลาง)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Regula_falsi&oldid=1359161656 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ เรกูลา ฟัลซี

ใน ทางคณิตศาสตร์ regula falsi หรือ วิธีตำแหน่งเท็จ ( method of false position) คือกลุ่มของอัลกอริทึมที่ใช้ในการแก้สมการเชิงเส้นและสมการไม่เชิงเส้นแบบเรียบ...

ประเภททางประวัติศาสตร์สองแบบ

ในทางประวัติศาสตร์ สามารถแบ่งวิธีการวางตำแหน่งเท็จออกเป็นสองประเภทพื้นฐาน ได้แก่การ วางตำแหน่งเท็จแบบง่าย และ การวางตำแหน่งเท็จแบบสองชั้น

ประวัติศาสตร์

เทคนิคการวางตำแหน่งเท็จแบบง่ายพบได้ใน แผ่น จารึกอักษรลิ่ม จาก คณิตศาสตร์บาบิโลน โบราณ และใน ปาปิรัส จาก คณิตศาสตร์อียิปต์ โบราณ [ 3 ] [ 1 ]

การวิเคราะห์เชิงตัวเลข

วิธีการวางตำแหน่งเท็จ (false position) ให้คำตอบที่แม่นยำสำหรับฟังก์ชันเชิงเส้น แต่เทคนิคทางพีชคณิตที่ตรงกว่าได้เข้ามาแทนที่การใช้งานสำหรับฟังก์ชันเหล่านี้ อย่างไรก็ตาม ใน การวิเคราะห์ เชิงตัวเลข วิธีการวาง ตำแหน่งเท็จสองชั้น (double false position)...