ลำดับชั้น Chomsky ล้าสมัยหรือไม่?


45

ชัม (-Schützenberger) ลำดับชั้นที่ใช้ในตำราเรียนของวิชาวิทยาการคอมพิวเตอร์ แต่ก็เห็นได้ชัดครอบคลุมเฉพาะส่วนเล็ก ๆ ของภาษาอย่างเป็นทางการ (REG, CFL, CSL, RE) เมื่อเทียบกับแบบเต็มรูปแบบซับซ้อนสวนสัตว์แผนภาพ ลำดับชั้นมีบทบาทในการวิจัยปัจจุบันอีกต่อไปหรือไม่? ฉันพบการอ้างอิงเพียงเล็กน้อยถึง Chomsky ที่นี่ที่ cstheory.stackexchange และในComplexity Zooชื่อ Chomsky และSchützenbergerไม่ได้กล่าวถึงเลย

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

REG (= Chomsky 3) ⊊ VPL ⊊ DCFL ⊊ CFL (= Chomsky 2) ⊊ GCSL ⊊ CSL (= Chomsky 1) ⊊ R ⊊ RE

ฉันยังไม่เข้าใจว่า "ภาษาที่มีความอ่อนไหวตามบริบทบริบท" และ "ภาษาที่มีการจัดทำดัชนี" เหมาะสม (อยู่ระหว่าง CFL และ CSL) แม้ว่าจะดูเหมือนว่ามีความเกี่ยวข้องในทางปฏิบัติสำหรับการประมวลผลภาษาธรรมชาติ (แต่อาจเป็นเรื่องที่เกี่ยวข้อง ในการวิจัยเชิงทฤษฎี ;-) นอกจากนี้คุณสามารถพูดถึง GCSL ⊊ P ⊂ NP ⊂ PSPACE และ CSL ⊊ PSPACE ⊊ R เพื่อแสดงความสัมพันธ์กับคลาสที่มีชื่อเสียง P และ NP

ฉันพบใน GCSL และ VPL:

  • Robert McNaughton: การแทรกเข้าไปในลำดับขั้นของ Chomsky? ใน: อัญมณีอยู่ตลอดไปการมีส่วนร่วมในวิทยาการคอมพิวเตอร์เชิงทฤษฎีเพื่อเป็นเกียรติแก่อาร์โต ส. 204-212, 2542
  • http://en.wikipedia.org/wiki/Nested_word#References (VPL)

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


7
ประเด็นย่อย: ฉันไม่เห็นว่าไม่มีชื่อ Chomsky และSchützenbergerใน Complexity Zoo เป็นหลักฐานว่า "ลำดับชั้นของ Chomsky ล้าสมัยไปแล้ว" ลำดับชั้นของ Chomsky เป็นความคิดในทฤษฎีภาษาทางการ สวนสัตว์ที่มีความซับซ้อนเป็นเว็บไซต์เกี่ยวกับทฤษฎีความซับซ้อนเป็นหลักแม้ว่ามันจะมีแนวคิดบางอย่างในทฤษฎีภาษาที่เป็นทางการเช่นภาษาที่ไม่มีบริบท มีความเกี่ยวข้อง แต่มีความแตกต่างกัน มันจะล้าสมัยถ้ามันไม่ได้กล่าวถึงในตำราในทฤษฎีภาษาทางการ แต่ฉันไม่รู้ว่าเป็นเช่นนั้นหรือไม่
Tsuyoshi Ito

7
จุดที่ดี Tsuyoshi ตรงไปตรงมาฉันต้องการเห็น "สวนสัตว์ภาษาอย่างเป็นทางการ" ที่มีพื้นฐานทางทฤษฎีที่ดี (อ้างอิงจากเอกสารการวิจัย!) แต่ยังมีทรัพยากรที่ใช้งานได้จริง ตัวอย่างเช่นมีรูปแบบไวยากรณ์หลายสิบรูปแบบของ Backus-Naur-Form และรูปแบบของนิพจน์ปกติ (บางส่วนไม่ได้เป็นแบบปกติ) นอกเหนือจากลำดับชั้นแบบง่าย ๆ ของชอมสกีฉันพบว่ามันยากที่จะเข้าใจภาพรวมของสถานะการวิจัยในภาษาทางการ
Jakob

นอกจากนี้คุณยังสามารถเพิ่มภาษาที่ไม่มีดาวได้อย่างเข้มงวดด้านล่างภาษาปกติ พวกเขาเหมือนปกติ แต่ไม่มีดาว Kleene รู้จักกันดี ประพฤติดี
โรมาโน

ดังคำตอบหลายข้อที่แสดงให้ฉันเห็นว่าไวยากรณ์อย่างเป็นทางการà la Chomsky เป็นวิธีการทางประวัติศาสตร์ในการอธิบายภาษาทางการซึ่งถึงขีด จำกัด แล้ว ฉันยังคงมองหาภาพรวมที่ดีของไวยากรณ์อย่างเป็นทางการที่ไม่ได้มุ่งเน้นไปที่ทฤษฎีความซับซ้อน แต่ขอบคุณสำหรับการอ้างอิงต่อไป! ฉันจะยอมรับคำตอบของ mgalle เพราะเขามีชื่อเสียงน้อยที่สุด
จาคอบ

2
ในด้านวิทยาการคอมพิวเตอร์การออกแบบภาษาคอมพิวเตอร์การออกแบบและการเขียนโปรแกรมซอฟต์แวร์ไวยากรณ์และภาษาที่ไม่มีบริบทและการแสดงออกและภาษาปกติเป็นอุปกรณ์ทำงานขั้นพื้นฐานและมีความสำคัญเช่นเคย แต่สำหรับไวยากรณ์โดยพลการ LBAs และภาษาที่คำนึงถึงบริบทฉันได้เห็นแอปพลิเคชั่นไม่มากหรือไม่มีเลย
reinierpost

คำตอบ:


20

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

สิ่งที่เกิดขึ้นคืออะไรเช่นกฎการเขียนซ้ำ (อัลกอริทึม Lars) แบบจำลองการพึ่งพา (Dan Klein) ไวยากรณ์การแทนที่ต้นไม้ (โมเดล DOP) Binary Feature Grammars (Alex Clark)


อ่านคำตอบของฉันอีกครั้งมันฟังดูเป็นลบมากกว่าที่ฉันต้องการ RL และ CFL ไม่ควรเป็นแบบจำลองความเป็นจริงของภาษาธรรมชาติและโมเดล "ใหม่" ส่วนใหญ่ได้รับแรงบันดาลใจจากพวกเขาจริง ๆ
mgalle

ฉันคิดว่า RL ไม่ได้ออกแบบมาเป็นแบบอย่างของภาษาธรรมชาติ แต่เป็นรูปแบบของพฤติกรรมของระบบบางอย่าง [ข้อความต้นฉบับของ Kleene ไม่ได้ใช้คำศัพท์ทางภาษาที่เป็นทางการเช่นกัน]
DG_

26

ในระยะสั้น: ใช่

โดยเฉพาะอย่างยิ่ง: ชัมสกีเป็นคนแรก ๆ ที่จัดลำดับชั้นของภาษาไวยากรณ์และออโตมาตาอย่างเป็นทางการ ข้อมูลเชิงลึกนี้ยังคงมีความเกี่ยวข้องมากและได้รับการสอนในทุกหลักสูตรเบื้องต้นเกี่ยวกับทฤษฎีออโตมาตะ อย่างไรก็ตามลำดับชั้นที่เฉพาะเจาะจง Chomsky เกิดขึ้นและชื่อขององค์ประกอบของลำดับชั้นไม่ได้มีความสำคัญอีกต่อไป เราได้คิดค้นพิธีการมากมายที่อยู่ระหว่างลำดับชั้นของชัมสกีเหนือหรือใต้ และชื่อ Chomsky ที่ใช้ไม่น่าสนใจอย่างยิ่งนั่นก็คือพวกมันไม่ได้ขึ้นอยู่กับการวัดความซับซ้อนที่น่าสนใจหรืออะไรก็ตามมันเป็นแค่ตัวเลข ภาษาที่มีบริบทอ่อนไหวควรเป็น Type-1.5 หรือ Type-1.7 หรือ Type-1.3 หรือไม่ ใครสน. "ความอ่อนไหวตามบริบทอย่างอ่อนโยน" เป็นชื่อที่ให้ข้อมูลมากกว่านี้

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


4
เราพบชื่อที่ดีกว่าใช่ นั่นไม่ได้หมายความว่าผลลัพธ์จะล้าสมัย
Raphael

4
@ ราฟาเอล: ความล้าสมัยนั้นไม่ได้เกิดจากชื่อ แต่อย่างใดเพราะลำดับชั้นที่เฉพาะเจาะจงที่ชัมสกีนำมาใช้นั้นไม่ได้ใช้อีกต่อไป การผนวกที่อธิบายโดยลำดับชั้นของ Chomsky คือ (a) ยังคงถูกต้องและ (b) ท่ามกลางสิ่งที่รวมอยู่ในลำดับชั้นที่ทันสมัย แต่ลำดับชั้นของชัมดังกล่าวไม่ได้เป็นไม่นับที่เกี่ยวข้องชะมัดว่ามันเกิดขึ้นที่จะตีบางส่วนของที่รู้จักกันดีจุดสูง ผู้คนไม่ทำการวิจัยในลำดับชั้นของ Chomsky อีกต่อไปพวกเขาทำการวิจัยที่อื่น นี่ไม่เหมือนหอคอยพหุนามซึ่งมีเหตุผลสำหรับชื่อ / โครงสร้าง
โรมาโน

26

หากสิ่งใดใน TCS ล้าสมัยมันเป็นลำดับชั้นของการรวมย่อยของคลาสความซับซ้อนที่เกิดขึ้นเป็นที่รู้จัก / ถือว่าน่าสนใจในปี 1956

พักผ่อนอย่างสงบ Chomsky Hierarchy และขอให้คุณหลอกหลอนหลักสูตรระดับปริญญาตรีอีกต่อไป


12
ในฐานะที่เป็น Juris Hartmanis เคยตะโกนว่า: "แล้วชั้นเรียนชัมสกีล่ะ?
Ryan Williams

1
Ryan: ฉันยังจำได้ว่า Juris เรียก CH ว่าเป็น "สิ่งที่น่ารังเกียจ"! ขณะที่ฉันเขียนคำตอบของฉันฉันกำลังถกเถียงกันว่าเขาต้องการให้คำพูดของเขาเป็นที่เปิดเผยต่อสาธารณะหรือไม่ แต่คุณรู้จักเขาดีกว่าฉัน ... :-D
Scott Aaronson

ความคิดเห็นนี้ก็อาจจะเป็นแรงบันดาลใจอย่างน้อยนิดเล็ก ๆ จากมุมมองดูถูกบางวิทยาศาสตร์คอมพิวเตอร์ทฤษฎีและนักคณิตศาสตร์ภาษาศาสตร์และอื่น ๆ ที่วิทยาศาสตร์ "อ่อนแอ": xkcd.com/435 แต่วันนี้ลำดับชั้นของชัมสกีปิดบังทัศนะของทฤษฎีความซับซ้อนที่ทันสมัยดังนั้นนี่จึงตอบคำถามของฉัน ยังคงเป็นการดีที่จะมีการแทนที่ที่ได้รับการปรับปรุงใหม่เพื่อเริ่มต้นในหลักสูตรทฤษฎีระดับปริญญาตรีโดยเฉพาะอย่างยิ่งหากคุณสนใจภาษาทางการและไวยากรณ์สำหรับการใช้งานจริงมากขึ้น
Jakob

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

20

หากคุณพิจารณาลำดับขั้นของ Chomsky ด้วยชื่อ "modern" (เช่น REG, LIN, CFL, CSL, RE resp DFA / NFA, PDA, LBA, TM) ฉันพูดว่า: ไม่มันไม่ล้าสมัย!

เหตุผลที่ 0 : มันยังคงถูกต้องในแง่ที่ว่าคำจำกัดความและผลลัพธ์นั้นไม่ขัดแย้งกับความรู้ที่ใหม่กว่า

เหตุผลที่ 1 : แบบจำลองการเรียน / การคำนวณเหล่านี้ยังคงเป็นครั้งแรกที่คุณสอน - เพราะเป็นแบบเรียบง่ายและศึกษาได้ดี ลองสอน LR automaton ให้กับปริญญาตรีโดยไม่ครอบคลุม DFA / DPDA ก่อน

เหตุผลที่ 2 : ชั้นเรียนยังคงเป็นมาตรฐานแรก / ที่สำคัญสำหรับการประดิษฐ์ใหม่ (ฉันอ่านบทความเกี่ยวกับ CFG หลายตัวซึ่งแน่นอนว่ากล่าวว่า: มากกว่า CFG น้อยกว่า CSG) นั่นอาจเป็นส่วนหนึ่งเพราะพวกเขาได้รับการสอนก่อน แต่ก็เพราะพวกเขานั้นเรียบง่ายและได้รับการศึกษาเป็นอย่างดี

แอนตี้ - เหตุผลที่ 3 : ผลลัพธ์ไม่ล้าสมัยเพียงเพราะพบคลาส / โมเดลใหม่ พวกเขารักษาคุณค่าของพวกเขาเป็นพื้นฐานของสนามแม้ว่าพวกเขาจะไม่ได้ใช้ในการวิจัยชายแดนอย่างแข็งขัน


10
"คณิตศาสตร์ไม่เก่ามันกลายเป็นคลาสสิก " (ฉันไม่รู้ว่าคำพูดนี้อ้างถึงใคร แต่น่าเสียดายที่)
Heinrich Apfelmus

คุณไม่หมายถึง "NPDA" แทนที่จะเป็น "DPDA" ใช่หรือไม่ ภาษาที่ไม่มีบริบทบางภาษาได้รับการยอมรับโดยออโตมาตาแบบผลักลงลงแบบไม่ต่อเนื่อง
Zsbán Ambrus

@ ZsbánAmbrusค่อนข้างถูกต้อง; ฉันควรจะเขียนแค่ "PDA" ขอบคุณ!
Raphael

เหตุผลสุดท้ายไม่น่าเชื่อเลย (ฉันเดาว่าเป็นเหตุผลที่ต่อต้านได้) ผลลัพธ์จำนวนมากได้รับการล้าสมัยเพราะมีการจัดสรรหรือบางครั้งแม้แต่เล็กน้อยโดยวิธีการที่แตกต่างกันในเรื่อง ฉันไม่ได้พูดกรณีนี้ที่นี่เพียงเหตุผลที่ระบุไว้ไม่ได้พูดมาก นอกจากนี้ nitpick ทางไวยากรณ์: "ล้าสมัย" ไม่ใช่คำกริยา
Sasho Nikolov

11

ฉันคิดว่ามันขึ้นอยู่กับรูปแบบการคำนวณ หากคุณพิจารณาขอบเขต / pushdown / etc ออโตมาตะเป็นแบบจำลองของการคำนวณดังนั้นลำดับชั้นของแชมสกีจึงมีความสำคัญ (ดูตัวอย่างของหนังสือ Sipser) ในทางกลับกันมันมีบทบาทเล็กน้อยในโมเดลการคำนวณของทัวริง

ภาพประกอบต่อไปนี้อาจเป็นประโยชน์:

แก้ไข:ภาษาที่เป็นทางการมีบทบาทสำคัญในการออกแบบภาษาคอมพิวเตอร์ (เช่น Java) และคอมไพเลอร์รวมถึงในการประมวลผลภาษาธรรมชาติ (NLP)


ขออภัยฉันไม่สามารถเข้าใจความคิดเห็นของคุณ OP ถามว่าลำดับชั้น Chomsky ล้าสมัยหรือไม่ เหตุผลของเขาคือเขาไม่เห็นมันในสวนสัตว์ที่มีความซับซ้อน ฯลฯ ฉันตอบว่าถ้าเขาคิดว่าออโตมาตาเป็นรูปแบบของการคำนวณลำดับชั้นของชัมสกีกลายเป็นเรื่องที่เกี่ยวข้อง นอกจากนี้ฉันพูดถึงว่าคลาสของลำดับชั้นนี้มีความสำคัญต่อการออกแบบคอมไพเลอร์และอัลกอริธึม NLP IMHO นั้นเกี่ยวข้องกับคำถามโดยสิ้นเชิง
MS Dousti

2
แน่นอนว่าลำดับชั้นของชัมสกีนั้นไม่ล้าสมัยจริง ๆ มันถูกค้นพบในการนำเสนอส่วนใหญ่ของวิทยาการคอมพิวเตอร์เชิงทฤษฎี, ภาษาทางการ, การออกแบบคอมไพเลอร์เป็นต้น แต่นอกเหนือจากนี้ ฉันคิดว่าขอบคุณภาษาระหว่าง REG และ CFL และระหว่าง CFL อาจมีความสำคัญเช่นกัน เป็นความคิดที่ดีหรือไม่ที่จะขยายลำดับชั้นของภาษาเหล่านี้เนื่องจากลำดับชั้นของ Chomsky มีกลิ่นของ "ล้าสมัย" ซึ่งไม่สำคัญสำหรับการวิจัยในปัจจุบัน?
จา

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