อัลกอริทึมในการทดสอบว่าภาษาปกติหรือไม่


11

มีอัลกอริทึม / ขั้นตอนการทดสอบอย่างเป็นระบบว่าภาษานั้นปกติหรือไม่?

กล่าวอีกนัยหนึ่งระบุภาษาที่ระบุในรูปแบบพีชคณิต (คิดว่าบางอย่างเช่น ) ทดสอบว่าภาษาเป็นปกติหรือไม่ ลองนึกภาพเรากำลังเขียนบริการเว็บเพื่อช่วยนักเรียนทำการบ้านทั้งหมด ผู้ใช้ระบุภาษาและบริการบนเว็บตอบกลับด้วย "ปกติ", "ไม่ปกติ" หรือ "ฉันไม่รู้" (เราต้องการให้บริการเว็บตอบ "ฉันไม่รู้" ไม่บ่อยเท่าที่จะเป็นไปได้) มีวิธีใดที่ดีในการทำสิ่งนี้โดยอัตโนมัติหรือไม่? สิ่งนี้สามารถแก้ไขได้หรือไม่? เป็นเรื่องที่ตัดสินใจได้หรือไม่ (คือสามารถรับประกันได้ว่าเราไม่จำเป็นต้องตอบว่า "ไม่รู้" หรือไม่? มีอัลกอริทึมที่มีประสิทธิภาพพอสมควรสำหรับการแก้ปัญหานี้หรือไม่และสามารถให้คำตอบอื่นที่ไม่ใช่ "ไม่รู้"L={ann:nยังไม่มีข้อความ}

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

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


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

L={E:S}

โดยที่คือ word-expression และเป็นระบบของความไม่เท่าเทียมกันเชิงเส้นมากกว่าตัวแปรความยาวโดยมีคำจำกัดความดังต่อไปนี้:SES

  • แต่ละคือการแสดงออกของคำ (สิ่งเหล่านี้แสดงถึงตัวแปรที่สามารถใช้กับคำใด ๆ ใน .)Σ x,Y,Z,...Σ* * * *

  • แต่ละคือการแสดงออกของคำ (ที่นี่แสดงถึงการย้อนกลับของสตริง .)x r xxR,YR,ZR,...xRx

  • แต่ละเป็นคำที่แสดงออก (โดยปริยายดังนั้นแทนสัญลักษณ์เดียวในตัวอักษรพื้นฐาน)Σ = { a , b , c , } a , b , c , a,,,...Σ={a,,,...}a,,,...

  • แต่ละเป็นคำที่แสดงออกถ้าเป็นตัวแปรความยาวηaη,bη,cη,η

  • การต่อกันของการแสดงออกของคำคือการแสดงออกของคำ

  • แต่ละเป็นตัวแปรความยาว (สิ่งเหล่านี้แสดงถึงตัวแปรที่สามารถใช้กับจำนวนธรรมชาติใด ๆ )m,n,p,q,...

  • แต่ละเป็นตัวแปรความยาว (สิ่งเหล่านี้แสดงความยาวของคำที่สอดคล้องกัน)|x|,|Y|,|Z|,...

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


ฉันยังไม่มีเวลาคิดมากเกี่ยวกับการเลือกใช้ภาษาที่คุณเลือก มันครอบคลุมภาษาประเภทใดบ้าง หากคุณเพิ่มข้อ จำกัด ที่ตัวแปร word เกิดขึ้นเพียงครั้งเดียวภาษาทั้งหมดนั้นไม่มีบริบทหรือไม่
Gilles 'หยุดความชั่วร้าย'

บางทีคุณอาจลองเขียนด้วยไวยากรณ์? ชอบและมันเป็นสิ่งที่คุณอธิบายอย่างกระชับหรือเปล่า? Eη : : = n | | x |E::=cηxEEErη::=n|x|
jmad

1
คุณสามารถแสดงดังนั้นสิ่งนี้จะทำได้ดีกว่าภาษาที่ไม่มีบริบท ถึงกระนั้นฉันก็ยังสงสัยว่าปัญหานั้นยากอย่างน้อยเท่ากับการตัดสินใจว่าไวยากรณ์ที่ปราศจากบริบทกำหนดภาษาปกติหรือไม่ {annn|nยังไม่มีข้อความ}
Gilles 'หยุดความชั่วร้าย'

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

คลาสนี้ไม่ได้ปิดภายใต้ดาว Kleene ใช่ไหม คุณสามารถแสดงวงเล็บที่มีความสมดุลได้หรือไม่?
Gilles 'SO- หยุดความชั่วร้าย'

คำตอบ:


13

คำตอบคือไม่ การตัดสินใจว่าไวยากรณ์ที่ปราศจากบริบทที่กำหนดสร้างภาษาปกติหรือไม่เป็นปัญหาที่ไม่สามารถตัดสินใจได้

ปรับปรุง ฉันให้คำตอบเชิงลบนี้กับคำถามทั่วไป

ให้ภาษาที่ระบุในรูปแบบพีชคณิตทดสอบว่าภาษานั้นปกติหรือไม่

เนื่องจากภาษาที่ไม่มีบริบทเป็นคำตอบของสมการพีชคณิตในภาษา: ดูบทที่ 2, ทฤษฎีบท 1.4 และ 1.5 ในหนังสือของ J. Berstel Transductions และภาษาที่ไม่มีบริบท

อย่างไรก็ตามคำถามเดียวกันนี้สามารถนำไปใช้ได้กับภาษาที่ไม่มีบริบทกำหนดซึ่งเป็นผลที่ไม่น่าสนใจเนื่องจาก Stearns [1] และปรับปรุงโดย Valiant [2]:
[1] RE Stearns RE, การทดสอบแบบสม่ำเสมอสำหรับเครื่องกดลงข้อมูลและการควบคุม 11 323- 340 (1967) DOI: 10.1016 / S0019-9958 (67) 90591-8
[2] LG Valiant ความสม่ำเสมอและปัญหาที่เกี่ยวข้องสำหรับการลดลงอัตโนมัติออโตมาตา เจ ACM 22 (1975), หน้า 1–10

มีผลลัพธ์ที่เป็นบวกอีกประการหนึ่งใกล้กับข้อกำหนดที่ให้ไว้ในส่วนที่สองของคำถาม โปรดจำไว้ว่าเซตย่อยกึ่งกลางของเป็นชุดที่สามารถกำหนดได้อย่างชัดเจนในการคำนวณทางคณิตศาสตร์ของ Presburger นอกจากนี้ยังมีส่วนย่อยเหตุผลของ k โดยเฉพาะอย่างยิ่งเซตย่อยของกำหนดโดย inequations เชิงเส้นคือเหตุผล ตอนนี้เนื่องจากเซตย่อยที่มีเหตุผลของมันสามารถตัดสินได้ว่าภาษา เป็นเรื่องปกติ แท้จริงแล้วมันเป็นที่รู้จักกันในนาม [Ginsburg-Spanier] ว่าเป็นปกติถ้าหากเป็นเซตย่อยที่รู้จักของN k N k R N k L(R)={ U n 1 1ยูn k k |( n 1 ,..., n k )R}L(R)R N k N kยังไม่มีข้อความkยังไม่มีข้อความkยังไม่มีข้อความkRยังไม่มีข้อความk

L(R)={ยู1n1ยูknk|(n1,...,nk)R}
L(R)Rยังไม่มีข้อความkและเป็น [Ginsburg-Spanier] ซึ่งสามารถจำแนกได้ว่าเป็นเซตย่อยที่กำหนดของหรือไม่ยังไม่มีข้อความk

S. Ginsburg และ EH Spanier., Semigroups, Presburger formulas และภาษา , Pacific J. Math 16 (1966), 285-296

S. Ginsburg และ EH Spanier ชุดปกติที่ถูกผูกไว้Proc ของคณิตศาสตร์อเมริกัน Soc 17 , 1043–1049 (1966)

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


(a) Pedantic nit: มันไม่ชัดเจนสำหรับฉันว่าไวยากรณ์พีชคณิตข้างต้นนั้นเป็นเรื่องทั่วไปเพียงพอที่จะแสดงไวยากรณ์ทั้งหมดที่ไม่มีบริบท (ตามที่ Gilles และฉันบอกไว้ในความคิดเห็น) ดังนั้นจึงไม่ชัดเจนเลยว่าผลลัพธ์เฉพาะนั้นจะใช้ที่นี่หรือไม่ . (b) สำคัญกว่า: โปรดพิจารณาคำแถลงปัญหาที่ได้รับการปรับแต่งอย่างเหมาะสมเพื่อให้บริการเว็บได้รับอนุญาตให้ตอบ "ฉันไม่รู้" และเราต้องการค้นหาอัลกอริธึมที่ตอบว่า "ฉันไม่รู้" เป็นไปได้. ก่อนหน้านี้ฉันแนะนำสิ่งนี้ในความคิดเห็น ฉันจะแก้ไขคำถามเพื่อทำให้คำถามนี้ชัดเจนยิ่งขึ้น
DW

ฉันสงสัยว่าคุณสามารถปรับหลักฐานได้ แต่ผลลัพธ์ไม่เป็นไปตามนั้น ฉันคิดว่ามีภาษาที่ไม่มีบริบทซึ่งไม่สามารถแสดงออกในพิธีการนี้ได้ตัวอย่างเช่นคุณจะแสดงวงเล็บที่สมดุลได้อย่างไร ชั้นเรียนภาษาไม่ได้ปิดตัวลงใต้ดวงดาวคลีนหรือไม่
Gilles 'SO- หยุดความชั่วร้าย'

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

เพิ่งเพิ่มการอ้างอิง
เจ

โพสต์ของคุณไม่ตอบคำถามเพราะมันอยู่ในระดับที่แตกต่างกันของภาษา แบบฟอร์มเกี่ยวกับพีชคณิตอนุญาตที่นี่ (ด้วยการแสดงออกของคำเดียว) คือ (เท่าที่เราสามารถบอกได้) ไม่เหมือนแบบทั่วไปเกี่ยวกับพีชคณิตแบบฟอร์มที่จำเป็นในการแสดงภาษาที่ไม่มีบริบทโดยพลการ อาจเป็นได้ว่าสำหรับจุดตัดของทั้งสองนั้นปัญหาจะถูกตัดสินได้
Gilles 'หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.