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


18

มันเป็นผลที่รู้จักกันดีว่าคำถาม

ไวยากรณ์ที่ไม่มีบริบทสร้างภาษาปกติหรือไม่

ไม่สามารถตัดสินใจได้ อย่างไรก็ตามมันจะกลายเป็น decidable ในตัวอักษร unary เพียงเพราะในกรณีนี้ชั้นเรียนของภาษาที่ไม่มีบริบทและภาษาปกติตรง

คำถามของฉันคือการรู้ว่าจะเกิดอะไรขึ้นกับภาษาที่ไม่คำนึงถึงบริบท

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

หากคำตอบเป็นบวกการประมาณความซับซ้อนจะได้รับการต้อนรับ

คำตอบ:


9

อนิจจาปัญหาของคุณไม่สามารถตัดสินใจได้ วิธีที่ฉัน stumbled เมื่อ (ซึ่งอาจจะประณีตเพื่อให้ทุกคนที่มีวิธีการที่สมควรเพิ่มเติมควรจะก้าวขึ้น!) ครั้งแรกที่ใช้อาร์กิวเมนต์ทแยงเพื่อแสดงให้เห็นว่ามีความเป็นเอกภาค CSL XXซึ่งไม่ได้เป็นปกติ (ในทางตรงกันข้ามกับผลบวก สำหรับ unary CFLs) จากนั้นลดปัญหาการหยุดเครื่องจักรของทัวริงโดยกำหนด TM MMสร้าง CSG GGซึ่งจำลองMMบนความยาวของเทปที่สั้นกว่าสายอักขระแยกwwโดยรู้จักXXถ้าMMหยุดทำงานโดยไม่ทำเกินขอบเขต และล้มเหลวในการแยกวิเคราะห์เป็นอย่างอื่นดังนั้นG จึงGวิเคราะห์คำทั้งหมดw X ได้สำเร็จwXนั่นก็เพียงพอแล้วถ้า iff MMหยุด (เพื่อให้L ( G )L(G)แตกต่างจากXXในขอบเขตที่ จำกัด จำนวนมากเท่านั้นดังนั้นจึงไม่สามารถเป็นปกติได้) มิฉะนั้นG จะGจดจำภาษาที่ว่างเปล่า (ซึ่งเห็นได้ชัดเป็นปกติ)

กุญแจสำคัญในวิธีการนี้คือการสังเกตว่า CSG ไม่เพียง แต่เกี่ยวข้องกับเรื่องทางไวยากรณ์เช่นโครงสร้างวลี - จริง ๆ แล้วลำดับ CSG ที่มาสามารถดำเนินการคำนวณพื้นที่ จำกัด โดยพลการ nondeterministic (แน่นอนมีP S P A C EPSPACE- CSLs ที่สมบูรณ์) ก่อนที่จะเริ่มทำธุรกิจของการจัดตำแหน่งกับสตริงการแยกวิเคราะห์ สิ่งนี้สามารถสังเกตได้ง่ายที่สุดผ่านการแปลงมาตรฐานระหว่าง CSGs และไวยากรณ์แบบโมโนโทนิก (ซึ่งยังคงทำงานเมื่อ จำกัด ตัวอักษรเอก) และการใช้งานของโปรดักชั่นแบบโมโนโทนิกง่าย ๆ เพื่อจำลองการเปลี่ยนผ่านเครื่องทัวริง ตลอดคำตอบนี้ฉันจะถือว่าผู้อ่านสามารถใส่รายละเอียดส่วนใหญ่เมื่อ CSG จำเป็นต้องจำลองการคำนวณที่กำหนด (ฉันคิดว่าผู้ถามพอใจกับสิ่งเหล่านี้ทั้งหมด แต่ฉันจะข้ามมันไปเพื่อความสมบูรณ์อย่างไรก็ตามอย่าลังเลที่จะขอคำชี้แจงในความคิดเห็น)


ประการแรกเราต้องการ CSG ที่ไม่ธรรมดาของเรา ( แก้ไข:ดังนั้นนี่คือ overkill - ไม่ธรรมดา CSLs เอกภาพสามารถแสดงได้อย่างง่ายดายเช่นผ่านการแทรกบทแทรกในภาษาใด ๆ ที่แสดงถึงพื้นฐานที่สุดของความไม่สม่ำเสมอดูความคิดเห็นสำหรับตัวอย่างในการเข้าใจถึงปัญหาหลังเส้นทแยงมุม เป็นเหมือนการนำหัวรบนิวเคลียร์มาใช้ในการต่อสู้ด้วยมีดตรวจดูสิ่งปลูกสร้างนี้หากคุณสงสัยหรือข้ามไปที่การลด)

Let D 1 , D 2 , . . เป็นนับ DFAs มากกว่าตัวอักษร{ 1 }เช่นว่าจำนวนของรัฐในD ฉันเพิ่มขึ้นของฉัน เราอธิบาย CSG G Xในแง่ของพฤติกรรมขณะแยกวิเคราะห์สตริง1 n{ 1 } :D1,D2,...{1}DiiGX1n{1}

  1. Nondeterministically สร้างสตริงของn "blank" ที่ไม่ใช่เทอร์มินัลซึ่งเราคิดว่าเป็น "เทป" หนึ่งในเทอร์มินัลที่ไม่ใช่ช่องว่างควรเป็น "เทอร์มินัล + อ่าน - เขียน + สถานะเริ่มต้น" แยกต่างหาก หากสตริงการแยกไม่ได้1 nแล้วการสืบทอดนี้จะจบลงด้วยความล้มเหลว เราอธิบายส่วนที่เหลือของกระบวนการในแง่ของการคำนวณที่กำหนดขึ้นจากการจำลองที่เป็นไปได้เท่านั้นn1n
  2. พิมพ์ลงบนเทปเป็นการเข้ารหัสของD iตามด้วยหมายเลขiในไบนารี่โดยที่i = n - cและcถูกเลือกเพื่อให้เรามีพื้นที่เพียงพอบนเทปของเราเพื่อทำสิ่งที่เราต้องการ (สิ่งนี้เป็นไปได้เนื่องจากพื้นที่ที่จำเป็นในการเข้ารหัสทั้งD iและiเติบโตขึ้นตามลอการิทึมในi )Diii=nccDiii
  3. ประเมินD ฉันกับการป้อนข้อมูล1ฉัน นี้ไม่จำเป็นต้องเป็นตัวแทนของD ฉัน 's เทป - คุณเพียงแค่สามารถเก็บเป็นรัฐเดียวที่คุณจะเปลี่ยนไปตามการเปลี่ยนของD ฉันเป็นคุณพร่องฉันDi1iDiDii
  4. หากD ฉันปฏิเสธที่ 1 ผมเขียนทับเทปทั้งหมดที่มีอาคารที่ไม่ใช่ที่ผลิต1 มิฉะนั้นจะล้มเหลวDi 1i1

เราใช้X = L ( G X ) เห็นได้ชัดว่าX L ( D ฉัน )สำหรับการใด ๆฉันตั้งแต่1 ผม+ X 1 ผม+ L ( D ฉัน )X=L(GX)XL(Di)i1i+cX1i+cL(Di)


ขั้นตอนต่อไปคือการออกแบบการลดจากปัญหาการหยุดพักไปจนถึงปัญหาของผู้ถาม (หากคุณข้ามส่วนข้างต้นให้Xเป็น CSL แบบเอกภาพที่ไม่ใช่แบบปกติที่สร้างโดย CSG G X )XGX

ให้Mเป็น TM โดยพลการ เราแปลงMเป็น CSG Gซึ่งทำหน้าที่ดังต่อไปนี้ในการวิเคราะห์สตริง1 n :MMG1n

  1. สร้างn - 2เทอร์มินัลที่ไม่มีช่องว่างทางซ้ายสุดเป็นเทอร์มินัลที่ว่าง + อ่าน - เขียนที่แยกต่างหากและยังสร้างเทอร์มินัล "ขอบเขต" ในแต่ละด้าน อีกครั้งหากเราสร้างจำนวนเทอร์มินัลที่ไม่ใช่จำนวนที่ผิดเราก็ล้มเหลวn2
  2. จำลองMในช่องว่างระหว่างขั้วที่ไม่ใช่ขอบเขต หากMเลื่อนไปยังหนึ่งในรัฐขอบเขตเรายุติการจำลองและคิดว่าMไม่หยุดMMM
  3. หากMหยุดทำตัวเหมือนG X หากเราต้องยุติการจำลองแล้วล้มเหลวMGX

โปรดทราบว่าหากMจัดการให้ทำงานตลอดไปภายในขอบเขตGจะไม่สามารถสร้างสตริงการแยกวิเคราะห์ได้และจะล้มเหลว หากMหยุดแล้วมีเงินบางส่วนของพื้นที่nซึ่งพอเพียงที่จะมีM 's ทั้งการคำนวณจึงGแยก1 เมตรเมื่อใดก็ตามที่n + 2และ1 เมตรXและด้วยเหตุนี้Xเป็นสหภาพของL ( G )และภาษาที่ จำกัด ดังนั้นL ( G )MGMnMG1mmn+21mXXL(G)L(G)ไม่ปกติ ในทางกลับกันถ้าMไม่หยุดนิ่งดังนั้นL ( G ) = เป็นปกติอย่างชัดเจนML(G)=

อัลกอริทึมสำหรับการตัดสินใจว่าL ( G )เป็นปกติหรือไม่จะตัดสินว่าMหยุดชะงักหรือไม่บนเทปเปล่าซึ่งไม่สามารถตัดสินใจได้ มันติดตามว่าปัญหาของผู้ถามไม่สามารถตัดสินใจได้L(G)M


2
สำหรับส่วนแรกของคำตอบของคุณ{ n 2 | n 0 }และ{ พี | หน้า  เป็นสำคัญ }เป็นตัวอย่างของภาษา nonregular บริบทเอก {an2n0}{app is prime}
เจ

เฮ้อจริง ๆ แล้วมันอาจจะเกิดขึ้นกับฉันได้ว่าการทะเลาะกันในแนวทแยงจะเกินความจริง ฉันเดาว่าฉันจะแก้ไขบันทึกย่อเป็นคำตอบ หวังว่าส่วนที่สองก็มีประโยชน์
gdmclellan

@ J.-E.Pin: ฉันไม่ได้คิดมากเกินไปมันเป็นเรื่องง่ายหรือไม่ที่จะสร้างไวยากรณ์ที่ละเอียดอ่อนสำหรับบริบทของ{ a pp  is prime } ? {app is prime}
Marzio De Biasi

@ marzio-de-biasi ฉันต้องสารภาพฉันไม่ได้ตรวจสอบตัวเอง แต่พึ่งพาคำตอบ
J.

@MarzioDeBiasi ง่ายมาก เมื่อพิจารณาว่าภาษานั้นไวต่อบริบทหรือไม่กระบวนการปกติคืออะไรเช่น 1. nondeterministically 2. ดำเนินการคำนวณขอบเขตที่มีขอบเขตเพื่อพิจารณาว่าสตริงการแยกวิเคราะห์ตอบสนองเพรดิเคตบางตัวหรือไม่ และ 3. สร้างสตริง iff กล่าวว่าเพรดิเคตพบว่าพอใจ Space อาจเป็นปัญหาเล็กน้อย (พื้นที่จะถูกกำหนดโดยความยาวของสตริงการแยกวิเคราะห์เนื่องจากคุณไม่สามารถทำสัญญาสตริงที่ได้รับโดยใช้การผลิตตามบริบท) แต่ในกรณี unary คุณมีพื้นที่ชี้แจงเพื่อทำงานกับ .
gdmclellan

6

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

สังเกตว่าความว่างเปล่านั้นไม่สามารถอธิบายได้สำหรับภาษาที่ไวต่อบริบท แก้ไขบริบท แต่ภาษาที่ไม่ปกติN * รับ LBA สำหรับL *หนึ่งสามารถสร้าง LBA สำหรับ L ' = { n | nN  และ  เมตรn : เมตรL } จากนั้นได้อย่างชัดเจนL 'เป็นปกติถ้าหากว่าLเป็นที่ว่างเปล่าNaLaL={ananN and mn:amL}LL

อัปเดต: แน่นอนว่าอาร์กิวเมนต์เดียวกันนั้นแสดงให้เห็นว่าความไม่สามารถตัดสินใจได้มีอยู่สำหรับพื้นที่ลอการิทึมที่กำหนดไว้แล้ว


"ความว่างเปล่าไม่สามารถอธิบายได้สำหรับภาษาที่มีความอ่อนไหวต่อบริบท": เป็นความจริงที่รู้จักกันดีหรือไม่? คุณจะมีการอ้างอิง?
เจ

1
กำหนด Contex ไวต่อภาษาL Σ *ใช้ซึ่มส์ชั่วโมง: Σ *{ } *ที่แมปทุกตัวอักษรจะ ดังนั้นh ( L )จะว่างเปล่าถ้าหากLว่างเท่านั้น สำหรับ logspace ที่กำหนดค่าได้รับ TM Tเราสามารถสร้าง det logspace TM สำหรับชุดของทุก2 nดังกล่าวว่าTมีการคำนวณลังเลของความยาวn
Georg Zetzsche
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.