ภาษาไม่มีที่สิ้นสุดกับภาษาที่ จำกัด


16

ฉันไม่ชัดเจนเกี่ยวกับการใช้วลีภาษา "อนันต์" หรือ "จำกัด " ในทฤษฎีคอมพิวเตอร์

ฉันคิดว่ารากของปัญหาคือภาษาเช่นนั้นไม่มีที่สิ้นสุดในแง่ที่ว่ามันสามารถสร้างจำนวนของสตริงที่ไม่ จำกัด (แต่นับได้) กระนั้นก็ยังสามารถรับรู้ได้โดยสถานะออโตเมติกจำกัดL={ab}

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


1
มันไม่มีที่สิ้นสุดเพราะab*(ดาว Kleene) หมายความว่าคุณสามารถมีการรวมกันเป็นศูนย์หรือมากกว่าของสตริงabนี้รวมถึงจำนวนสตริงที่ไม่มีที่สิ้นสุด: {"", ab ^ 1, ab ^ 2, ab ^ 3, ... ., ab ^ n} อย่างไรก็ตามคุณยังสามารถสร้าง FSM ที่จดจำภาษานี้ได้เนื่องจากไม่มีวิธีในการสร้างสตริงที่ไม่มีที่สิ้นสุดเมื่อประมวลผลโดยเครื่องสตริงทั้งหมดจะต้องมี จำกัด แต่ก็ไม่ได้ทำให้ภาษามีขอบเขตแน่นอน ภาษาไม่มีที่สิ้นสุดเป็นทฤษฎี
Hunter McMillen

1
"อธิบายอย่างละเอียด" และ "จำกัด " ไม่เหมือนกัน ตัวอย่างเช่นการแสดงออกปกติของคุณเป็นคำอธิบายที่ จำกัด ของภาษาที่ไม่มีที่สิ้นสุด; หุ่นยนต์อัน จำกัด เป็นเพียงอีกอันหนึ่ง (แต่มันถูกเรียกว่าหุ่นยนต์จำกัดไม่ใช่เพราะมันเป็นคำอธิบายที่ จำกัด แต่เพราะมันสามารถเก็บจำนวนบิตคงที่เท่านั้น) {a,b}
กราฟิลส์

เหตุใดจำนวน จำกัด ของสถานะจึงควรมีความสำคัญมากกว่ารายละเอียด จำกัด ของเครื่องอื่น ๆ ?
babou

หุ่นยนต์อาจมีลูปและคุณสามารถใช้บางสถานะไม่สิ้นสุด
doganulus

คำตอบ:


28

พุทโธ่. ดูเหมือนว่าเป็นความสับสนที่เกิดจากคำศัพท์ (โรงเรียนเก่า) ของ "ภาษา จำกัด แน่นอน" เป็นคำพ้องความหมายสำหรับสิ่งที่เป็นที่รู้จักกันในปัจจุบันในชื่อ "ภาษาปกติ"

อย่างไรก็ตามคำจำกัดความมาตรฐานสำหรับการ จำกัด / ไม่สิ้นสุดที่ยอมรับในวันนี้พิจารณาเฉพาะขนาดของภาษา:

  1. จำกัดเป็นภาษาใด ๆ ชุดของสตริงของ cardinality จำกัด| L | <L|L|<
  2. อนันต์เป็นภาษาใด ๆ ชุดของสตริงของอนันต์ ( 0 ) cardinality | L | =L0|L|=

จำกัดเป็นปกติเสมอL

อนันต์สามารถเป็นปกติ (บางครั้งเรียกว่า "สถานะ จำกัด "), decidable (บางครั้งเรียกว่า "เรียกซ้ำ"), ไม่ใช่ปกติ (ไม่ใช่สถานะ จำกัด ), ไม่สามารถตัดสินใจได้, ฯลฯL


1
ขอบคุณ Ran! ดังนั้นเพื่อให้ชัดเจนเป็นภาษาที่ไม่มีที่สิ้นสุด? ดังนั้นฉันเดาว่าด้วยภาษาที่ไม่มีที่สิ้นสุดไม่มีใครรู้ได้ว่าเป็นภาษาใด L={a|}* * * *
timberly

1
ถูกต้อง. เป็นภาษาปกติที่ไม่มีที่สิ้นสุด L={a,b}
Ran G.

1
@ ทันใดนั้นแน่นอนว่าเราสามารถรู้และพิสูจน์ว่ามันเป็นภาษาอะไร
phant0m

4

ภาษาคือชุดของสตริง มันมีค่า จำกัด หากมันมีจำนวน จำกัด ของสตริงในนั้น


4

ฉันไม่ชัดเจนเกี่ยวกับการใช้วลีภาษา "อนันต์" หรือ "จำกัด " ในทฤษฎีคอมพิวเตอร์

ฉันคิดว่ารากของปัญหาคือภาษาเช่นนั้นไม่มีที่สิ้นสุดในแง่ที่ว่ามันสามารถสร้างจำนวนของสตริงที่ไม่ จำกัด (แต่นับได้) กระนั้นก็ยังสามารถรับรู้ได้โดยสถานะออโตเมติก จำกัดL={ab}

อีกประเด็นคือทฤษฎีภาษาทางการค่อนข้างแปลกในการใช้คำว่า "ภาษา"

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

ดังนั้นในทฤษฎีภาษาแบบทางการ 'ภาษา' จึงถูกนิยามอย่างง่าย ๆ ว่า 'ชุดของสตริง' โดยทั่วไปจะไม่กำหนดความหมายให้กับสตริงในภาษา

ในขณะเดียวกันรูปแบบที่ใช้ในการอธิบายภาษาเช่นการแสดงออกปกติยังรูปแบบภาษาในแง่นี้: ตัวอย่างเช่นทุกการแสดงออกปกติเป็นสตริงและด้วยเหตุนี้ชุดของการแสดงออกปกติเป็นภาษา อย่างไรก็ตามสำหรับ formalisms เหล่านี้สตริงในภาษาที่ทำมีความหมาย: ยกตัวอย่างเช่นความหมายของทุกแสดงออกปกติเป็นภาษาที่มันหมายถึง

ab{ab}abab{ab}

{ab}LLLL{ab}{ϵ,ab,abab,ababab,abababab,}{ab}

(ab)

(ab)

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