จากประสบการณ์ของฉันภาษาที่ไวต่อบริบทและออโตมายาแบบ จำกัด เชิงเส้นจะถูกข้ามหรือถูก breezed มากกว่าในหลักสูตรทฤษฎีการคำนวณและแม้กระทั่งจากหนังสือตำราที่มีชื่อเสียงบางเล่ม แน่นอนว่าจะต้องมีเหตุผลที่ดีว่าทำไม LBA จึงให้ความสำคัญน้อยกว่าคู่แข่ง
จากประสบการณ์ของฉันภาษาที่ไวต่อบริบทและออโตมายาแบบ จำกัด เชิงเส้นจะถูกข้ามหรือถูก breezed มากกว่าในหลักสูตรทฤษฎีการคำนวณและแม้กระทั่งจากหนังสือตำราที่มีชื่อเสียงบางเล่ม แน่นอนว่าจะต้องมีเหตุผลที่ดีว่าทำไม LBA จึงให้ความสำคัญน้อยกว่าคู่แข่ง
คำตอบ:
ด้วยการแก้ไข "เหมาะสม" เราสามารถเปลี่ยนคลาสเหล่านี้เป็นคลาสที่ซับซ้อน จำกัด ออโตมาเป็น, CFL ลงใน LogCFL และ LBA เข้าสู่ PSPACE
ตอนนี้มันควรจะชัดเจนว่าทำไมเราจึงสนใจสอง LBA แรก สองคนแรกพอดีกับคำนิยามตามปกติของการคำนวณที่เป็นไปได้ แต่ PSPACE ไม่ได้
ถามอาจารย์ของคุณว่าทำไมเขาถึงทำอย่างนั้น ฉันเดาได้เท่านั้น
พวกเขาไม่น่าสนใจเท่ากับรุ่นทัวริงที่สมบูรณ์และ PDA เพราะพวกเขาอยู่ในความไร้ประโยชน์ * พวกเขาแบ่งปันแน่นอนด้วยภาษาที่เทียบเท่า: ไม่ทรงพลังเท่าที่จะเป็นไปได้ แต่ก็ยากมากแล้ว
อีกเหตุผลหนึ่งอาจเป็นเพราะไม่ค่อยมีใครรู้จัก (เดาที่นี่) เกี่ยวกับพวกเขา แต่นั่นอาจเป็นปัญหาไก่ - ไข่ -
มันเป็นสภาพอากาศที่ไม่ชัดเจน ดังนั้นอาจทำให้เกิดปัญหากับการสอนได้ ยิ่งไปกว่านั้นหลักฐานทั่วไป (เช่นภาษาที่ได้รับการยอมรับแบบจำลองเทียบเท่า) นั้นยากกว่ารุ่นอื่น ๆ มาก
(*) การพูดเกินจริงโดยเจตนา
ดูเหมือนว่าไม่ใช่แค่ CSG แต่เป็น CFG ด้วย ... สมัยนี้แฟชั่น ฉันคิดว่าทุกวันนี้ออโตมาตาและพีดีเอมักจะคิดในหลักสูตรทฤษฎีการคำนวณ / ความซับซ้อน (ถ้าหากทั้งหมด) และที่นั่นพวกมันถูกรวมอยู่ด้วยไม่ใช่เพื่อประโยชน์ของตัวเอง แต่เพื่อแนะนำทัวริงแมชชีน
Grammars น่าสนใจสำหรับทฤษฎีคอมไพเลอร์ แต่ไม่มากสำหรับความสามารถในการคำนวณ / ความซับซ้อนที่จะรวมอยู่ในหลักสูตรระดับปริญญาตรีเบื้องต้น มีหัวข้อมากเกินไปที่เราต้องการครอบคลุม แต่หลักสูตรหนึ่งภาคเรียนสั้นเกินไปและเราต้องเลือกและหลายหัวข้อเหล่านี้ซึ่งเราไม่สามารถครอบคลุมได้เนื่องจากการ จำกัด เวลาเป็นวิธีที่น่าสนใจยิ่งกว่า LBA
นิพจน์ทั่วไปและ CFG ถูกใช้ในทางปฏิบัติสำหรับการแยกวิเคราะห์โค้ด (นั่นคือภาษาการเขียนโปรแกรม) เหตุผลก็คือมีอัลกอริทึมที่มีประสิทธิภาพมากสำหรับการแยกพวกเขา LBAs มีประสิทธิภาพเกินกว่าที่จะใช้จริงในบริบทนั้น
ต้นกำเนิดหนึ่งในประวัติศาสตร์ของทฤษฎีออโตมาตะเป็นเรื่องของการสร้างคอมไพเลอร์ ด้วยเหตุผลดังกล่าวข้างต้นเฉพาะภาษาปกติและ CFGs เท่านั้นที่มีประโยชน์สำหรับการสร้างคอมไพเลอร์ (แม้ว่าจะมีความจริงที่ว่าไวยากรณ์ส่วนที่ไม่ใช่ CFGs จริงๆและขั้นตอนวิธีการแยก CFG ไม่ได้แยกชั้น CFG ทั้งหมด) LBAs อาจได้รับการคิดค้นโดย Chomsky เป็นบางระดับกลางของความซับซ้อนระหว่างโลกีย์และ "อังกฤษ" ดังนั้นอาจเป็นสถานที่ที่เหมาะสมในการสอนพวกเขาในหลักสูตรภาษาศาสตร์มากกว่าวิชาวิทยาการคอมพิวเตอร์!