เหตุใดออโตโฟกัสที่มีขอบเขตเชิงเส้นจึงไม่ได้รับความนิยมเหมือนกับออโตมาตา


9

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



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

2
@ ราฟาเอล: คำตอบสำหรับคำถามที่ Kaveh เชื่อมโยงเพื่ออธิบายว่าทำไมภาษาที่คำนึงถึงบริบทจึงไม่ถือว่ามีความสำคัญเหมือนก่อนหน้านี้กล่าวโดยย่อมีอีกหลายรุ่นที่น่าสนใจมากกว่า (เพิ่มเติม)
Tsuyoshi Ito

2
(ต่อ) เหตุผลเดียวกันนี้นำไปใช้กับ "ออโต้ จำกัด ขอบเขตเชิงเส้น" มันตลกที่ฉันไม่เคยได้ยินชื่อนั้นมาก่อน สำหรับฉันพวกเขาเป็นเพียง O (n) -space deterministic / nondeterministic เครื่องจักรทัวริงและฉันไม่สามารถดูได้ว่าทำไมเราควรแยก O (n) -space ออกจากพื้นที่ (แทนพหุนามหรือ O (log n) -space หรืออะไรก็ตาม) แม้ว่าจะต้องมีเหตุผลทางประวัติศาสตร์ นอกจากนี้ทั้ง DSpace ระดับ (O (n)) หรือ NSPACE (O (n)) จะปิดใต้สายย่อย
Tsuyoshi Ito

1
Tsuyoshi การตีความคำถามของฉันคือ FA, PDA และลำดับที่เหลือของ Chomsky Hierarchy (โดยเหตุผลของคุณ / คำตอบที่น่าเบื่อเท่ากัน) ได้รับการสอน แต่ LBA ไม่ใช่
Raphael

คำตอบ:


13

ด้วยการแก้ไข "เหมาะสม" เราสามารถเปลี่ยนคลาสเหล่านี้เป็นคลาสที่ซับซ้อน จำกัด ออโตมาเป็นNC1, CFL ลงใน LogCFL และ LBA เข้าสู่ PSPACE

ตอนนี้มันควรจะชัดเจนว่าทำไมเราจึงสนใจสอง LBA แรก สองคนแรกพอดีกับคำนิยามตามปกติของการคำนวณที่เป็นไปได้ แต่ PSPACE ไม่ได้


1
การเปลี่ยน LBA ให้เป็น PSPACE ฟังดูเหมือนว่าพื้นที่เชิงเส้นเป็นสิ่งที่คุณต้องการในการจับภาพ PSPACE ซึ่งเห็นได้ชัดว่าไม่เป็นความจริง ดังนั้นข้อผิดพลาดของฉันในการคิดคืออะไร
Suresh Venkat

2
@Suresh: มีการเชื่อมต่อดังต่อไปนี้ ระดับของปัญหาที่ (NC1-) ที่ลดลงเป็นภาษาปกติคือ NC1, ชั้นของปัญหา (log-space-) ที่ลดลงถึง CFL คือ LogCFL และระดับของปัญหา (NC1- หรือ log-space-) ที่ลดลงเป็น LBA คือ PSPACE ฉันไม่แน่ใจว่าเราสามารถใช้ความคิดที่เหมือนกันของการลดทอนลงได้ในทั้งสามกรณีนี้หรือไม่
Tsuyoshi Ito

มีปัญหาที่สมบูรณ์สำหรับชั้นเรียนอื่น (แม้ภายใต้ AC0การลดลง) ดูเหมือนจะไม่เป็นเหตุผลที่ดีสำหรับการเรียนที่น่าสนใจ
Kaveh

3

ถามอาจารย์ของคุณว่าทำไมเขาถึงทำอย่างนั้น ฉันเดาได้เท่านั้น

พวกเขาไม่น่าสนใจเท่ากับรุ่นทัวริงที่สมบูรณ์และ PDA เพราะพวกเขาอยู่ในความไร้ประโยชน์ * พวกเขาแบ่งปันแน่นอนด้วยภาษาที่เทียบเท่า: ไม่ทรงพลังเท่าที่จะเป็นไปได้ แต่ก็ยากมากแล้ว

อีกเหตุผลหนึ่งอาจเป็นเพราะไม่ค่อยมีใครรู้จัก (เดาที่นี่) เกี่ยวกับพวกเขา แต่นั่นอาจเป็นปัญหาไก่ - ไข่ -

มันเป็นสภาพอากาศที่ไม่ชัดเจน NLBA=DLBAดังนั้นอาจทำให้เกิดปัญหากับการสอนได้ ยิ่งไปกว่านั้นหลักฐานทั่วไป (เช่นภาษาที่ได้รับการยอมรับแบบจำลองเทียบเท่า) นั้นยากกว่ารุ่นอื่น ๆ มาก

(*) การพูดเกินจริงโดยเจตนา


2

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

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


1
ฉันขอให้คุณเป็นจริงในระดับสากล! คลาสอินโทรของ TCS ที่สอนในมหาวิทยาลัยของฉันคือครึ่งอัตโนมัติ / CFL ฉันเรียนวิชานี้และนักเรียนดูเหมือนจะห่างไกลจากความสนใจ นี่อาจเป็นอีกสาเหตุหนึ่งที่ทำให้ CFL / CSL ไม่ถูกนำเสนออีกต่อไป: มีหัวข้อที่น่าตื่นเต้นมากกว่า
Michaël Cadilhac

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

@ ราฟาเอลฉันกำลังพูดถึงหลักสูตรทฤษฎีการคำนวณ / ความซับซ้อนซึ่งเป็นที่ที่ทฤษฎีออโตมาตากำลังคิดอยู่ในมหาวิทยาลัยที่ฉันรู้จักตอนนี้ ไม่มีใครพูดอะไรเกี่ยวกับหลักสูตรทฤษฎีโดยทั่วไป ฉันคิดว่าคุณควรอ่านโพสต์อย่างรอบคอบก่อนที่จะกล่าวหาคนอื่นว่าไม่รู้ โพสต์ของฉันตอบคำถาม: ทำไม LBA ไม่คิดในวิชาทฤษฎีการคำนวณ / ความซับซ้อน? นั่นคือเหตุผลและนั่นคือเหตุผลที่ตำราเรียนทฤษฎีการคำนวณและความซับซ้อนไม่ได้มีเนื้อหาเกี่ยวกับ LBA มากนักไม่ว่าคุณจะชอบหรือไม่ก็ตาม
Kaveh

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

1
@ ราฟาเอลคุณยังไม่ได้อ่านอย่างละเอียดและตีความสิ่งที่ฉันเขียนต่อไปตามที่คุณต้องการดูเหมือนว่าสำหรับคุณที่ต้องการโต้แย้งฉันคิดว่าประเด็นของฉันชัดเจนเพียงพอดังนั้นอย่าลังเลที่จะคิดตามที่คุณต้องการ :)
Kaveh

2

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

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


เนื่องจาก LBAs นั้นเทียบเท่ากับไวยากรณ์ที่ไวต่อบริบทฉันจึงไม่คิดว่ามันถูกประดิษฐ์ขึ้นเพื่อความสนุกสนานเท่านั้น ;)
Raphael

@ ราฟาเอล: Yuval ไม่ได้บอกเป็นนัยเลย
reinierpost
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.