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

อ่าน 8 นาที

อัลกอริทึมการเติมเต็ม Knuth–Bendix

อัลกอริทึมการเติมเต็ม Knuth–Bendix (ตั้งชื่อตามDonald Knuthและ Peter Bendix ) เป็นอัลกอริทึมกึ่งตัดสินใจ สำหรับการแปลงชุดสมการ (เหนือเทอม ) ให้เป็นระบบการเขียนเทอมใหม่แบบต่อเนื่อง.

อัลกอริทึมการเติมเต็ม Knuth–Bendix

อัลกอริทึมการเติมเต็ม Knuth–Bendix (ตั้งชื่อตามDonald Knuthและ Peter Bendix [ 1 ] ) เป็นอัลกอริทึมกึ่งตัดสินใจ[ 2 ] [ 3 ] สำหรับการแปลงชุดสมการ (เหนือเทอม ) ให้เป็นระบบการเขียนเทอมใหม่แบบต่อเนื่อง เมื่ออัลกอริทึมประสบความสำเร็จ จะสามารถแก้ ปัญหาคำศัพท์สำหรับพีชคณิต ที่กำหนด ได้ อย่างมีประสิทธิภาพ

อัลกอริทึมของ Buchbergerสำหรับการคำนวณฐาน Gröbnerเป็นอัลกอริทึมที่คล้ายคลึงกันมาก แม้ว่าจะพัฒนาขึ้นโดยอิสระ แต่ก็อาจมองได้ว่าเป็นตัวอย่างของการนำอัลกอริทึม Knuth–Bendix มาใช้ในทฤษฎีวงแหวนพหุนาม

การแนะนำ

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

ตัวอย่างเช่น ถ้าE = {1⋅ x = x , x −1x = 1, ( xy )⋅ z = x ⋅( yz )}เป็นสัจพจน์ ของ กลุ่ม ลำดับการอนุมานจะเป็นดังนี้

a −1 ⋅( ab )   อี   ( a −1a )⋅ b   อี   1⋅ b   อี  

แสดงให้เห็นว่าa −1 ⋅( ab ) อีbเป็นสมาชิกของ การปิดเชิงนิรนัย ของ Eถ้าR = { 1⋅ xx , x −1x → 1, ( xy )⋅ zx ⋅( yz ) }เป็นเวอร์ชัน "กฎการเขียนใหม่" ของEลำดับการอนุมาน

( a −1a )⋅ b   อาร์   1⋅ b   อาร์   บี       และ       บี   อาร์  

แสดงให้เห็นว่า ( a −1a )⋅ bอาร์อาร์bเป็นสมาชิกของ การปิดเชิงนิรนัย ของ Rอย่างไรก็ตาม ไม่มีวิธีใดที่จะได้a −1 ⋅( ab )อาร์อาร์b คล้ายกับข้างต้น เนื่องจาก ไม่สามารถ ใช้กฎ( xy )⋅ zx ⋅( yz ) จากขวาไปซ้ายได้

อัลกอริทึม Knuth–Bendix รับชุดสมการE ระหว่าง เทอมต่างๆและลำดับการลดรูป (>) บนชุดของเทอมทั้งหมด และพยายามสร้างระบบการเขียนเทอมใหม่R ที่บรรจบกันและสิ้นสุด ซึ่งมีการปิดเชิงอนุมานเช่นเดียวกับEในขณะที่การพิสูจน์ผลลัพธ์จากEมักต้องอาศัยสัญชาตญาณของมนุษย์ การพิสูจน์ผลลัพธ์จากRไม่จำเป็นต้องอาศัยสัญชาตญาณ สำหรับรายละเอียดเพิ่มเติม โปรดดูConfluence (abstract rewriting)#Motivating examplesซึ่งมีตัวอย่างการพิสูจน์จากทฤษฎีกลุ่มที่ดำเนินการทั้งโดยใช้EและR

กฎ

เมื่อกำหนดเซตEของสมการระหว่างเทอมแล้ว กฎการอนุมานต่อไปนี้สามารถใช้เพื่อแปลงให้เป็นระบบการเขียนใหม่ของเทอมที่บรรจบกันที่ เทียบเท่ากัน (ถ้าเป็นไปได้): [ 4 ] [ 5 ] กฎเหล่านี้ขึ้นอยู่กับ ลำดับการลด ที่ผู้ใช้กำหนด(>) บนเซตของเทอมทั้งหมด โดยจะยกขึ้นเป็นลำดับที่มีพื้นฐานที่ดี (▻) บนเซตของกฎการเขียนใหม่โดยกำหนด( st ) ▻ ( lr )ถ้า

ลบ‹  E ∪{ s = s } , R  › ‹  E, R  ›
แต่งเพลง         ‹  E, R ∪{ st } ›         ⊢         ‹  E, R ∪{ su } ›         ถ้าtอาร์คุณ
ทำให้ง่ายขึ้น‹  E ∪{ s = t } , R  › ‹  E ∪{ s = u } , R  › ถ้าtอาร์คุณ
ตะวันออก‹  E ∪{ s = t } , R  › ‹  E, R ∪{ st } › ถ้าs > t
ทรุด‹  E, R ∪{ st } › ‹  E ∪{ u = t } , R  › ถ้าsอาร์uโดย lrด้วย ( st ) ▻ ( lr )
อนุมาน‹  E, R  › ‹  E ∪{ s = t } , R  › ถ้า( s , t )เป็นคู่วิกฤตของR

ตัวอย่าง

ตัวอย่างการทำงานต่อไปนี้ ซึ่งได้มาจากโปรแกรมพิสูจน์ทฤษฎีบท Eคำนวณการเติมเต็มสัจพจน์กลุ่ม (แบบบวก) ตามที่ Knuth, Bendix (1970) กล่าวไว้ เริ่มต้นด้วยสมการเริ่มต้นสามสมการสำหรับกลุ่ม (องค์ประกอบกลาง 0, องค์ประกอบผกผัน, การเชื่อมโยง) โดยใช้f(X,Y)สำหรับX + Yและi(X)สำหรับ − Xสมการที่มีเครื่องหมายดอกจัน 10 สมการนั้นประกอบกันเป็นระบบการเขียนใหม่ที่ลู่เข้า "pm" ย่อมาจาก " paramodulation " ซึ่งใช้การดำเนินการdeduceการคำนวณคู่วิกฤตเป็นตัวอย่างหนึ่งของ paramodulation สำหรับข้อความหน่วยสมการ "rw" คือการเขียนใหม่ ซึ่งใช้การดำเนินการcompose , collapseและsimplifyการกำหนดทิศทางของสมการทำโดยปริยายและไม่ได้บันทึกไว้

หมายเลขแอลเอชเอสอาร์เอชเอสแหล่งที่มา
1:*ฟ(X,0)=Xinitial("GROUP.lop", at_line_9_column_1)
2:*f(X,i(X))=0initial("GROUP.lop", at_line_12_column_1)
3:*f(f(X,Y),Z)=ฟ(X,ฟ(Y,Z))initial("GROUP.lop", at_line_15_column_1)
5:ฟ(X,Y)=f(X,f(0,Y))pm(3,1)
6:f(X,f(Y,i(f(X,Y))))=0pm(2,3)
7:ฟ(0,Y)=f(X,f(i(X),Y))pm(3,2)
27:ฟ(X,0)=f(0,i(i(X)))pm(7,2)
36:X=f(0,i(i(X)))rw(27,1)
46:ฟ(X,Y)=f(X,i(i(Y)))pm(5,36)
52:*ฟ(0,X)=Xrw(36,46)
60:*i(0)=0pm(2,52)
63:i(i(X))=ฟ(0,X)pm(46,52)
64:*f(X,f(i(X),Y))=วายrw(7,52)
67:*i(i(X))=Xrw(63,52)
74:*f(i(X),X)=0pm(2,67)
79:ฟ(0,Y)=f(i(X),f(X,Y))pm(3,74)
83:*วาย=f(i(X),f(X,Y))rw(79,52)
134:f(i(X),0)=f(Y,i(f(X,Y)))pm(83,6)
151:i(X)=f(Y,i(f(X,Y)))rw(134,1)
165:*f(i(X),i(Y))=i(f(Y,X))83,151 โมงเย็น

ดูเพิ่มเติมที่โจทย์ปัญหา (คณิตศาสตร์)สำหรับตัวอย่างอื่น ๆ ของเรื่องนี้

ระบบการเขียนสตริงใหม่ในทฤษฎีกลุ่ม

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

แรงจูงใจในทฤษฎีกลุ่ม

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

พิจารณาโมโนอิดที่นำเสนออย่างจำกัด โดยที่ X คือเซตจำกัดของตัวสร้าง และ R คือเซตของความสัมพันธ์ที่กำหนดบน X ให้ X *เป็นเซตของคำทั้งหมดใน X (นั่นคือ โมโนอิดอิสระที่สร้างโดย X) เนื่องจากความสัมพันธ์ R สร้างความสัมพันธ์สมมูลบน X* เราจึงสามารถพิจารณาสมาชิกของ M ว่าเป็นชั้นสมมูลของ X *ภายใต้ R สำหรับแต่ละชั้น{w1 , w2 , ...}เป็นที่พึงปรารถนาที่จะเลือกตัวแทนมาตรฐานwkตัวแทนนี้เรียกว่า รูป แบบมาตรฐานหรือรูปแบบปกติสำหรับแต่ละคำwkในชั้นนั้น หากมีวิธีการคำนวณเพื่อกำหนดรูปแบบปกติwᵢ สำหรับแต่ละ wk ปัญหาคำ ก็ จะได้รับการแก้ไขได้ง่าย ระบบการเขียนใหม่ที่บรรจบกันช่วยให้สามารถ ทำ เช่นนั้น ได้อย่างแม่นยำ

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

A < B → XAY < XBY สำหรับคำทุกคำ A, B, X, Y

คุณสมบัตินี้เรียกว่าความไม่แปรเปลี่ยนภายใต้การเลื่อน (translation invariance ) ลำดับที่ทั้งไม่แปรเปลี่ยนภายใต้การเลื่อนและเป็นลำดับที่ดี (well-order) เรียกว่าลำดับลดรูป (reduction order )

จากการนำเสนอโมโนอิด เราสามารถกำหนดระบบการเขียนใหม่ได้โดยความสัมพันธ์ R ถ้า A x B อยู่ใน R แล้ว A < B ซึ่งในกรณีนี้ B → A เป็นกฎในระบบการเขียนใหม่ มิฉะนั้น A > B และ A → B เนื่องจาก < เป็นลำดับการลดรูป คำ W ที่กำหนดสามารถลดรูปได้เป็น W > W_1 > ... > W_n โดยที่ W_n เป็นคำที่ไม่สามารถลดรูปได้ภายใต้ระบบการเขียนใหม่ อย่างไรก็ตาม ขึ้นอยู่กับกฎที่ใช้ในแต่ละ W i  → W i+1อาจทำให้ได้การลดรูปที่ไม่สามารถลดรูปได้สองแบบที่แตกต่างกัน W n  ≠ W' mของ W แต่ถ้าหากระบบการเขียนใหม่ที่กำหนดโดยความสัมพันธ์ถูกแปลงเป็นระบบการเขียนใหม่แบบต่อเนื่องโดยใช้อัลกอริทึม Knuth–Bendix การลดรูปทั้งหมดจะรับประกันได้ว่าจะสร้างคำที่ไม่สามารถลดรูปได้คำเดียวกัน นั่นคือรูปแบบปกติสำหรับคำนั้น

คำอธิบายของอัลกอริทึมสำหรับโมโนอิดที่นำเสนอแบบจำกัด

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

ขั้นแรก หากความสัมพันธ์ใดสามารถลดรูปได้ ให้แทนที่ " และ" ด้วยรูปแบบที่ลดรูปแล้ว

ถัดไป เราจะเพิ่มการลดทอนเพิ่มเติม (นั่นคือ การเขียนกฎใหม่) เพื่อกำจัดข้อยกเว้นที่อาจเกิดขึ้นจากการบรรจบกัน สมมติว่าและทับซ้อนกัน

  1. กรณีที่ 1: คำนำหน้าของเท่ากับคำต่อท้ายของหรือในทางกลับกัน ในกรณีแรก เราสามารถเขียนและได้ ในกรณีหลัง เราสามารถเขียน และได้
  2. กรณีที่ 2: อาจถูกบรรจุอยู่ภายใน (ล้อมรอบด้วย) อย่างสมบูรณ์ หรือในทางกลับกัน ในกรณีแรก เราสามารถเขียนและได้ ในกรณีหลัง เราสามารถเขียน และได้

ลดคำโดยใช้ครั้งแรก จากนั้นใช้ครั้งแรกอีกครั้ง เรียกผลลัพธ์ว่า ตามลำดับ ถ้าแสดงว่าเรามีกรณีที่ Confluence อาจล้มเหลว ดังนั้น ให้เพิ่มการลดลง ใน

หลังจากเพิ่มกฎลงใน แล้วให้ลบกฎใดๆ ในที่อาจมีด้านซ้ายที่สามารถลดรูปได้ (หลังจากตรวจสอบแล้วว่ากฎเหล่านั้นมีคู่ที่สำคัญกับกฎอื่นๆ หรือไม่)

ทำซ้ำขั้นตอนนี้จนกว่าจะตรวจสอบด้านซ้ายที่ซ้อนทับกันทั้งหมดแล้ว

ตัวอย่าง

ตัวอย่างสุดท้าย

พิจารณาโมโนอิดนี้:

.

เราใช้ลำดับ shortlexซึ่งเป็นโมโนอิดอนันต์ แต่ถึงกระนั้น อัลกอริทึม Knuth–Bendix ก็สามารถแก้ปัญหาโจทย์คำถามได้

ดังนั้น การลดสามขั้นแรกของเราจึงมีดังนี้

คำต่อท้ายของ(กล่าวคือ) เป็นคำนำหน้าของดังนั้นพิจารณาคำว่าเมื่อลดรูปโดยใช้ ( 1 ) เราจะได้เมื่อลดรูปโดยใช้ ( 3 ) เราจะได้ดังนั้น เราจะได้ซึ่งให้กฎการลดรูป

ในทำนองเดียวกัน การใช้และการลดโดยใช้ ( 2 ) และ ( 3 ) เราจะได้ดังนั้นการลด

กฎทั้งสองข้อนี้ล้าสมัยแล้ว ( 3 ) ดังนั้นเราจึงลบออก

ถัดไป พิจารณาโดยการทับซ้อน ( 1 ) และ ( 5 ) เมื่อลดทอนแล้วจะได้ดังนั้นเราจึงเพิ่มกฎ

เมื่อพิจารณาโดยการทับซ้อนกันของ ( 1 ) และ ( 5 ) เราจะได้ดังนั้นเราจึงเพิ่มกฎ

กฎที่ล้าสมัยเหล่านี้ ( 4 ) และ ( 5 ) ดังนั้นเราจึงลบออก

ตอนนี้เราเหลือเพียงระบบการเขียนใหม่แล้ว

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

ตัวอย่างที่ไม่สิ้นสุด

ลำดับของตัวสร้างอาจส่งผลอย่างมากต่อการสิ้นสุดของกระบวนการเติมเต็มแบบ Knuth–Bendix ตัวอย่างเช่น พิจารณากลุ่มอาเบเลียนอิสระโดยการนำเสนอแบบโมโนอิด:

การเติมเต็ม Knuth–Bendix ที่เกี่ยวข้องกับลำดับพจนานุกรมจะจบลงด้วยระบบบรรจบกัน อย่างไรก็ตาม เมื่อพิจารณาลำดับพจนานุกรมตามความยาวแล้วจะไม่จบลง เนื่องจากไม่มีระบบบรรจบกันแบบจำกัดที่เข้ากันได้กับลำดับหลังนี้[ 6 ]

การสรุปโดยทั่วไป

หาก Knuth–Bendix ไม่ประสบความสำเร็จ ระบบจะทำงานไปเรื่อยๆ และสร้างการประมาณค่าต่อเนื่องของระบบที่สมบูรณ์แบบอนันต์ หรือล้มเหลวเมื่อพบสมการที่ไม่สามารถกำหนดทิศทางได้ (เช่น สมการที่ไม่สามารถเปลี่ยนเป็นกฎการเขียนใหม่ได้) เวอร์ชันที่ได้รับการปรับปรุงจะไม่ล้มเหลวกับสมการที่ไม่สามารถกำหนดทิศทางได้และสร้าง ระบบ ที่บรรจบกันบนพื้นดินซึ่งเป็นอัลกอริทึมแบบกึ่งสำหรับปัญหาคำ[ 7 ]

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

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

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมการเติมเต็ม Knuth–Bendix

อัลกอริทึมการเติมเต็ม Knuth–Bendix (ตั้งชื่อตามDonald Knuthและ Peter Bendix ) เป็นอัลกอริทึมกึ่งตัดสินใจ สำหรับการแปลงชุดสมการ (เหนือเทอม ) ให้เป็นระบบการเขียนเทอมใหม่แบบต่อเนื่อง.

การแนะนำ

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

กฎ

เมื่อกำหนดเซต E ของสมการระหว่าง เทอม แล้ว กฎการอนุมานต่อไปนี้สามารถใช้เพื่อแปลงให้เป็น ระบบการเขียนใหม่ของเทอมที่บรรจบกันที่ เทียบเท่ากัน (ถ้าเป็นไปได้): [ 4 ] [ 5 ] กฎเหล่านี้ขึ้นอยู่กับ ลำดับการลด ที่ผู้ใช้กำหนด(>) บนเซตของเทอมทั้งหมด...

ตัวอย่าง

ตัวอย่างการทำงานต่อไปนี้ ซึ่งได้มาจาก โปรแกรมพิสูจน์ทฤษฎีบท E คำนวณการเติมเต็มสัจพจน์กลุ่ม (แบบบวก) ตามที่ Knuth, Bendix (1970) กล่าวไว้ เริ่มต้นด้วยสมการเริ่มต้นสามสมการสำหรับกลุ่ม (องค์ประกอบกลาง 0, องค์ประกอบผกผัน, การเชื่อมโยง) โดยใช้ f(X,Y) สำหรับ X + Y...