คือปกติ?


9

ฉันใช้ทฤษฎีการคำนวณการสอบเมื่อไม่กี่สัปดาห์ที่ผ่านมาและนี่เป็นหนึ่งในคำถาม:

สมมติภาษาL={(anbm)rn,m,r0}

L ปกติหรือไม่ ถ้าใช่ให้การแสดงออกปกติหรือหุ่นยนต์สำหรับมัน

หลังจากฉันถามเขาตอบสั้น ๆ หลังจากการสอบดูเหมือนจะเป็นเรื่องปกติ (ฉันเชื่อว่าเขาบอกว่าการแสดงออกนั้นง่าย ) อย่างไรก็ตามฉันดูเหมือนจะไม่เข้าใจว่าทำไมถึงเป็นเช่นนั้น วิธีที่ฉันเห็นมันเชื่อมโยงมัน rครั้งเช่นนี้:(ab)anbm

anbmanbmanbm...anbmanbm ,

ซึ่งไม่ปกติเนื่องจากไม่มีวิธีสำหรับหุ่นยนต์ที่จะเรียกคืนnและmทุกครั้ง ฉันอยู่ตรงนี้ตรงไหน

แก้ไข: ฉันคุยกับอาจารย์อีกครั้งเขายอมรับว่ามันเป็นความผิดพลาด ภาษานั้นไม่ปกติอย่างแน่นอน


14
คุณควรถามอาจารย์ของคุณว่าภาษาเหมือนกับภาษา0 ถ้าเขาบอกว่า "ใช่" แล้วบอกเขาว่าฉันบอกคุณว่าคำถามของเขาไม่ดี LK={an1bm1an2bm2anrbnrr0,a1,,ar0,b1,,br0}
Andrej Bauer

1
นั่นเป็นวิธีเดียวที่จะเป็นเรื่องปกติและในความเป็นจริงนี่คือสิ่งที่ฉันคิดอย่างเร่งรีบและคิดว่าจริง ๆ แล้ว (a b ) * แต่จากนั้นก็ลบมันเพื่อให้รู้ว่า n และ m อยู่เหมือนเดิม (หรือควร .. ) lemma disproval ที่สูบน้ำสำหรับ r = 2, บอกว่าเหมือนกันกับ r ที่ใหญ่กว่า (อาจไม่ใช่คำตอบที่สมบูรณ์เหมือนกัน แต่ดูเหมือนว่ามันจะไปในทิศทางที่ถูกต้อง) ไม่จำเป็นต้องพูดว่าฉันได้ 0 สำหรับคำถามนั้น ฉันจะลองติดต่อเขา

แน่นอนฉันจะเข้าใจคำถามในแบบที่คุณทำในตอนแรก
Andrej Bauer

ดูที่นี่สำหรับวิธีเพิ่มเติมเพื่อแสดงว่าภาษาไม่ปกติ
ราฟาเอล

คุณสามารถพิสูจน์ได้ด้วยความช่วยเหลือของการปั๊มบทแทรก
SAHIL THUKRAL

คำตอบ:


10

ภาษาไม่ปกติซึ่งสามารถพิสูจน์ได้โดยใช้วิธีของ Nerode พิจารณาคำต่อไปนี้สำหรับ{N} จากนั้นแต่สำหรับ ,L ดังนั้นหุ่นยนต์สำหรับใด ๆจะต้องอยู่ในสถานะที่แตกต่างกันหลังจากอ่านแต่ละซึ่งขัดแย้งกับความละเอียดของมันLwn=anbnNwn2LnmwnwmLLwn


4

ในความคิดเห็นของคุณคุณบอกเป็นนัย ๆ ว่าคุณ (อ้าง) "ได้ให้ความไม่พอใจการสูบ lemma สำหรับโดยบอกว่าใช้เหมือนกันกับใหญ่กว่า"r=2r

สิ่งนี้สามารถทำได้อย่างเป็นทางการโดยใช้คุณสมบัติการปิด ภาษาปกติจะปิดภายใต้ทางแยก ดังนั้นถ้าเป็นปกติดังนั้นจะเป็น , การตั้งค่าและได้อย่างมีประสิทธิภาพLLabab={anbanbn0}r=2m=1


1
ผู้อ่านที่รักโปรดอย่าไป "ถ้าไม่ปกติแล้ว " ที่นี่ก็ไม่ได้ - เพราะนั่นเป็นเพียงความเท็จ! LL'L
Raphael

1
@ ราฟาเอลถูกต้อง ดังนั้นความหมายที่ถูกต้องจะเป็น "ถ้าไม่ปกติจากนั้นไม่เป็น " โดยที่เป็นปกติ LRLR
Hendrik Jan

1
แน่นอน. ฉันกังวลว่าผู้ฝึกหัดอาจอ่าน "การตั้งค่าได้อย่างมีประสิทธิภาพ ... " และใช้สิ่งนี้โดยไม่ใช้คุณสมบัติการปิด
ราฟาเอล

0

ภาษา: {(a n b m ) r | n, M, r≥0}คือไม่ปกติเพราะในขณะที่หุ่นยนต์ / เครื่องอ่านลำดับแรกของตัวอักษร 'a' แล้วตัวอักษร 'B' ก็ต้องนับจำนวนครั้งที่อ่านตัวอักษร 'a' และ จำนวนครั้งที่อ่านตัวอักษร 'B' ในลำดับแรกที่รู้ค่าของnและม.

ถ้าR> 1แล้วอีกเดียวกันลำดับของตัวอักษร 'a' และตัวอักษร 'B' คาดว่า

ถ้าหุ่นยนต์ / เครื่องไม่ไม่ทราบจำนวนตัวอักษร 'a' และตัวอักษร 'B' อ่านในลำดับแรกแล้วก็ยังไม่ได้รู้ค่าของnและม.จึงสามารถไม่ได้บอกว่า ลำดับอื่น ๆ จากที่สองไปที่ล่าสุดคือคำที่เท่ากับลำดับแรก

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

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

โต้ตอบตัวอย่างกับสมมติฐานที่ว่าภาษาด้านบนเป็นแบบปกติ:

สำหรับn = 3 ∧ m = 5 ∧ r = 2คำต่อไปนี้เป็นภาษาด้านบน:

aaabbbbbaaabbbbb

แต่คำต่อไปนี้ไม่ใช่ภาษา:

aaabbbbbaaaaabbb เพราะไม่ได้อยู่n, MและRดังนั้น:

(เป็นnม. ) R = aaabbbbbaaaaabbb เพราะเพื่อตอบสนองลำดับแรกของตัวอักษร 'a' แล้วตัวอักษร 'B' ต้องเป็นความจริงที่ว่าn = 3 ∧ m = 5และเพราะที่เราเห็น 2 ลำดับตัวอักษร ' a 'แล้วตัวอักษร' b 'จากนั้นr = 2แต่ถ้าn = 3 ∧ m = 5 ∧ r = 2แล้ว (a n b m ) r = (a 3 b 5 ) 2 = (aaabbbbb) 2 = aaabbbbbaaabbbbb ≠ aaabbbbbaaaaabbb เนื่องจากคำต่อท้ายของพวกเขาแตกต่างกันเช่น aaabbbbb ≠ aaaaabbb แม้ว่าคำนำหน้าของพวกเขาจะเท่ากับ aaabbbbb สำหรับ r = 1

"ดีที่สุด" กำหนดแน่นอนหุ่นยนต์ที่สามารถสร้างขึ้นสำหรับภาษานี้คือกำหนด จำกัด อัตโนมัติที่รับรู้การแสดงออกปกติ (a * b *) * แต่มันไม่รู้จักภาษาเหนือเพราะมันบอกว่าทั้งสองคำ aaabbbbbaaabbbbb และ aaabbbbbaaaaabbb อยู่ในภาษาและนี่ไม่เป็นความจริงเพราะ aaabbbbbaaabbbbb อยู่ในภาษา แต่ aaabbbbbaaaaabbb ไม่มีภาษา

แม้กระทั่งการกดลงอัตโนมัติ จำกัด ไม่สามารถบอกได้ว่าทั้งสองคำอยู่ในภาษาหรือไม่ดังนั้นเครื่องทัวริงเท่านั้นที่สามารถ

ในลำดับที่สองเครื่องทัวริงพบว่าn = 5 ∧ m = 3และสิ่งนี้ขัดแย้งกับลำดับแรกพบว่าn = 3 ∧ m = 5ดังนั้นจึงบอกว่าคำที่สองไม่ใช่ภาษา แต่ไม่พบความขัดแย้งในคำแรก

ทั้งสองซีเควนซ์นั้นn = 3 ∧ m = 5ดังนั้นทัวริงจึงบอกว่าคำแรกเป็นภาษา

เครื่องทัวริงเท่านั้นที่สามารถทำได้ถ้ามันนับและจดจำค่าของnและmโดยการเขียนค่าลงบนเทปและอ่านค่าในภายหลัง

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