มีคำ จำกัด แน่นอนของภาษาคำ จำกัด หรือไม่


10

มีความจำเป็นสำหรับLΣที่จะไม่มีที่สิ้นสุดที่จะตัดสินไม่ได้?

ผมหมายถึงสิ่งที่ถ้าเราเลือกภาษาLเป็นรุ่นที่ จำกัด ขอบเขตของ LΣนั่นคือ|L|N ( NN ) กับLL L เป็นไปได้หรือไม่ที่Lจะเป็นภาษาที่ไม่สามารถตัดสินใจได้?

ฉันเห็นว่ามีปัญหาของ "วิธีการเลือกคำNที่ซึ่งเราต้องสร้างกฎสำหรับการเลือกซึ่งจะเป็นองค์ประกอบแรกของการดำเนินงาน Kleene ดาว "จำกัด " . จุดมุ่งหมายคือการค้นหาภาษาที่ไม่สามารถตัดสินใจได้โดยไม่จำเป็นต้องมีชุดที่ไม่มีขีด จำกัด แต่ฉันไม่สามารถมองเห็นได้ N L L"NL

แก้ไขหมายเหตุ:

แม้ว่าฉันจะเลือกคำตอบคำตอบมากมายและความคิดเห็นทั้งหมดมีความสำคัญ


ดูเหมือนจะมี (อย่างน้อย) คำถามสามข้อที่นี่ โปรดให้ความสนใจกับสิ่งใดสิ่งหนึ่งและแก้ไขสิ่งอื่น ๆ
Raphael

ฉันลบการอ้างอิงไปยังชุดพลังงานเนื่องจากไม่เกี่ยวข้องที่นี่ มีค่าถ้าหากSเป็นจำนวน จำกัด P(S)S
Raphael

@Raphael มัน ok แต่ฉันพูดถึงอำนาจตั้งเพราะบางครั้งผมอ่าน"มี surjection ไม่มีจากบนP ( N ) , จึงต้องมีภาษาที่ตัดสินไม่ได้." NP(N)ฉันต้องการที่จะเข้าใจว่าทำไมมันไม่ทำงานกับเซต จำกัดกับ| L | NกับNจำกัด แทนการต้องการNนั่นคือเหตุผลที่ฉันใส่P ( S )L|L|NN NP(S)
Hernan_eche

1
เท่าที่ฉันรู้การดำรงอยู่ของภาษา undecidable ไม่ปฏิบัติตามทันทีจากการไม่มีอยู่ของการโต้เถียงดังกล่าว; คุณต้องการบิตจิ๋วเพิ่มเติม ทำไมถึงทำให้เป็นคำถามที่ยอดเยี่ยมอีกครั้ง! ทำไมคุณไม่ไปข้างหน้าและถามมัน? จากสิ่งนั้นคุณควรเห็นว่าทำไมการโต้แย้งจึงไม่ดำเนินต่อไปเป็นภาษาที่ จำกัด
Raphael

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

คำตอบ:


15

ใช่มีความจำเป็นที่จะไม่มีที่สิ้นสุดเพื่อให้สามารถตัดสินใจได้L

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

ดังนั้นยิ่ง "ซับซ้อน" คือนานโปรแกรมที่คุณจะต้องเขียน ในคำอื่น ๆ อีกต่อไปโปรแกรมที่คุณทำงานคุณสามารถตรวจสอบสิ่งที่มากขึ้น ... ดังนั้นถ้ามีคนให้ภาษาLซึ่งเป็นประโยคพูดL = { 1 , 2 , ... , n }คุณสามารถเขียน โปรแกรมต่อไปนี้:LLL={a1,a2,...,an}

if INPUT = $a_1$ output Yes;
if INPUT = $a_2$ output Yes;
...
if INPUT = $a_n$ output Yes;
output No;

ทีนี้ถ้ามีใครให้ใหญ่กว่า(แต่ จำกัด ) คุณจะเขียนโปรแกรมที่ยาวขึ้น นี่เป็นเรื่องจริงเสมอและLจำกัด ใด ๆจะมีโปรแกรมเป็นของตัวเอง กรณี "น่าสนใจ" เพียงอย่างเดียวคือสิ่งที่เกิดขึ้นเมื่อLไม่มีที่สิ้นสุด - โปรแกรมของคุณไม่สามารถสิ้นสุดLLL

ปัญหา "undecidability" นั้นน่าสนใจยิ่งขึ้นนั่นคือไม่มีที่สิ้นสุดซึ่งไม่มีโปรแกรมที่ทำงานได้อย่างถูกต้องสำหรับพวกเขา เรารู้ว่าภาษาดังกล่าวจะต้องมีอยู่เนื่องจากมีภาษา (ไม่มีที่สิ้นสุด) วิธีLมากกว่าจำนวนโปรแกรมที่มีความยาว จำกัด (แต่ไม่ จำกัด )LL


+1 นี่คือคำตอบที่ชัดเจนมากฉันอยากให้คุณเพิ่มจุดคุณพูดว่า"ถ้าใครบางคนทำให้คุณมีใหญ่กว่า(แต่ก็แน่นอน) คุณจะเขียนโปรแกรมที่ยาวขึ้น" * แต่ฉันคิดว่า ตรงข้ามได้รับ ** คงที่ ** จำกัด ชุดPของโปรแกรม| P | = K , สิ่งที่ถ้าคุณไม่สามารถเขียนโปรแกรมอีกต่อไปผมคิดว่าบาง imputs Lชุด จำกัด จะออกใช่และบางส่วนจะไม่ ในฐานะที่เป็นP ( P ) > Kดังนั้นความหมายบางอย่างของLจะสอดคล้องกับฟังก์ชั่นตัวบ่งชี้Pแต่ * ส่วนใหญ่LP|P|=KLP(P)>KLPจะไม่!! เพราะภาษาที่เป็นไปได้ >โปรแกรมที่เป็นไปได้ของ Kจากนั้นจะมีปัญหาที่ไม่สามารถตัดสินใจได้ ฉันผิดหรือเปล่า? ทำไม? 2K>K
Hernan_eche

1
แน่นอนถ้าคุณ จำกัด ขนาดของโปรแกรมเป็นจากนั้นมีโปรแกรมที่แตกต่างกันมากที่สุดO ( 2 k )ซึ่งจำแนกได้อย่างถูกต้องที่O ( 2 k )ภาษาที่แตกต่างกันมากที่สุด(ไม่มีที่สิ้นสุดหรือไม่) ดังนั้นสำหรับชุดโปรแกรมเฉพาะนั้นจึงมีภาษาที่ไม่สามารถตัดสินใจได้และแม้แต่ภาษาที่ จำกัด แต่นี่เป็นคำสั่งที่อ่อนแอกว่าเนื่องจากคุณพิจารณาเฉพาะชุดโปรแกรมที่ จำกัด (เช่น| P | = 1คุณมีโปรแกรมที่เป็นไปได้เพียง 2 รายการเท่านั้นแน่นอนว่าพวกเขาจะไม่สามารถทำอะไรได้มากและจะล้มเหลวในเกือบทุกภาษาL|P|=kO(2k)O(2k)|P|=1L)
Ran G.

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

6
ไม่แน่นอน คำว่า "undecidable" มีความหมายเฉพาะ: ไม่สามารถถอดรหัสได้โดยเครื่องทัวริงมาตรฐาน ดังนั้นเพื่อให้เป็นundecidable, ต้องไม่มีที่สิ้นสุด สิ่งที่คุณต้องการไม่ใช่คำที่แตกต่างคือ "ไม่สามารถตัดสินใจได้โดยP " เรียกP -undecidable หลัง จากนั้นก็มีค่าPใด ๆ, ไม่จำเป็นต้องให้Lเป็นอนันต์เพื่อให้เป็นP -undecidable อย่าสับสน (หรือใช้ผิดวัตถุประสงค์) และP -undecidableL undecidablePPPLPundecidableP
Ran G.

10

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


8

ถ้าภาษาของคุณเป็นประโยคคุณสามารถดำเนินการค้นหาตารางบนโต๊ะฮาร์ดโค้ดที่มีคำทั้งหมดในL 'L'L' 'นี่เป็นเรื่องที่น่าอึดอัดใจที่จะเขียนเป็นเครื่องจักรทัวริง แต่ในรุ่นอื่น ๆ ที่เทียบเท่านั้นค่อนข้างชัดเจน

อันที่จริงแล้วออโต้ จำกัด มีเพียงพอ สร้างหุ่นยนต์สำหรับดังต่อไปนี้:L'

  1. ทุกสร้างห่วงโซ่เชิงเส้นของรัฐที่รับน้ำหนักWL'W
  2. สร้างรัฐใหม่เริ่มต้น 0Q0
  3. เชื่อมต่อเข้ากับสถานะเริ่มต้นของออโตมาตาทั้งหมดที่สร้างใน 1 ด้วยε -transitionsQ0ε

หุ่นยนต์ที่สร้างขึ้นนี้จึงยอมรับอย่างชัดเจน ดังนั้นL จึงเป็นปกติและสามารถคำนวณได้ (โดยR E GR EL'L'REGRE )

โปรดทราบว่าการใช้เหตุผลบางอย่างร่วม กับCo-finite นั่นคือ| ¯ L | < ; คุณเพียงแค่ hardcode องค์ประกอบไม่ได้ในL 'L'|L'¯|<L'


2

การที่จะน่าสนใจ (เพื่อจุดประสงค์ในการคิดคำนวณ) ปัญหาการตัดสินใจจะต้องมีคำตอบ "ใช่" จำนวนมากและคำตอบ "ไม่" มากมาย ปัญหาการตัดสินใจดังกล่าวนั้นสอดคล้องกับภาษาที่มีตัวอักษรจำนวนมากอย่างไม่ จำกัด และยังไม่รวมสายที่มีตัวอักษรมากมาย

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

ความเฉลียวฉลาดของผู้บรรยายทฤษฎีการคำนวณของฉันคือปัญหาของ "พระเจ้ามีอยู่จริงหรือไม่?" คำนวณได้ - มันคำนวณโดยเครื่องที่รับทันทีหรือเครื่องที่ปฏิเสธทันที เราแค่ไม่รู้ว่าตัวไหน!

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