เหตุใดนิพจน์ทั่วไปที่นิยามไว้ด้วยการรวมกันเป็นสหภาพการต่อเรียงและการติดดาว?


11

expresssion ปกติจะถูกกำหนดเป็นซ้ำ

  1. aสำหรับบางคนคือการแสดงออกปกติaΣ
  2. εเป็นนิพจน์ทั่วไป
  3. เป็นนิพจน์ทั่วไป
  4. (R1R2)โดยที่และเป็นนิพจน์ทั่วไปเป็นนิพจน์ปกติR1R2
  5. (R1R2)โดยที่และเป็นนิพจน์ทั่วไปคือนิพจน์ทั่วไปR1R2
  6. (R1)โดยที่เป็นนิพจน์ทั่วไปคือนิพจน์ทั่วไปR1

คำจำกัดความนี้นำมาจากหน้า 64 ของ

Sipser, Michael ทฤษฎีการคำนวณเบื้องต้นรุ่นที่ 3 เรียนรู้ Cengage, 2012

ตอนนี้ฉันมีคำถามต่อไปนี้

  • ทำไมคุณไม่นิยามมีintersection, complementหรือreverseการดำเนินงาน?
  • หากเราเปลี่ยนรายการที่ 4 เป็นเราจะได้คำจำกัดความที่เทียบเท่ากันเช่นสำหรับภาษาปกติแต่ละภาษาจะมีนิพจน์ทั่วไปที่ปรับเปลี่ยนและในทางกลับกันR1R2
  • ฉันรู้ว่าคำจำกัดความนี้สมบูรณ์และกำหนดชัดเจน แต่ทำไมถึงต้องการคำนิยามอื่น ๆ ที่เทียบเท่านิยามที่ชัดเจนและสมบูรณ์

2
โปรด จำกัด ตัวคุณเองไว้ที่หนึ่งคำถามต่อโพสต์
Raphael

คำตอบ:


16

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

2) ถ้าเราเก็บรายการที่ 1 - 6 แต่เพียงแค่เปลี่ยนรายการที่ 4 ในการใช้ทางแยกแทนการรวมกันเราจะได้รับคลาสย่อยที่เหมาะสมของภาษาปกติ ตัวอย่างเช่นเราไม่สามารถอธิบายภาษาได้อีกต่อไปเพราะมันจะเกี่ยวข้องกับการรวมกันของและ (ดูหลักฐานด้านล่าง) หากเราอนุญาตให้มีการรวมสิ่งต่าง ๆ ก็เปลี่ยนแปลงไปตามที่เรามีกฎหมายร่วมกันโดย DeMorganL={a,b}{a}{b}

3) นี่เป็นคำตอบส่วนหนึ่งของฉันใน 1) แต่คุณหมายถึงอะไรเมื่อคุณพูดว่าคำจำกัดความนี้เป็นที่ต้องการ ฉันรู้ว่าคำจำกัดความที่ 2 ถูกละไว้ (อย่างที่เรามี 6 โดยที่ ) หรือ 3 ถูกละไว้ (ในขณะที่เรามี )) หรือทั้งสองอย่างถูกละเว้น ดังนั้นอันนี้จึงไม่ใช่คำจำกัดความที่เป็นไปได้น้อยที่สุด (มันให้น้ำตาล syntactic ด้วยเช่นกันเนื่องจากเรามีสัญลักษณ์พิเศษเพื่ออธิบายและ )L()={ε}=L(X¯{ε}

แก้ไข : ความคิดเห็นแรกที่ฉันกล่าวถึงใน 2) ผิดภาษาในการปิดอุปนัยภายใต้ ,และไม่จำเป็นต้องเป็นเซตย่อยของสำหรับบางเช่น พิจารณา\} อย่างไรก็ตามเรามีไม่สามารถอธิบายได้ด้วยนิพจน์ดังกล่าว ฉันจะให้หลักฐานกล่าวคือฉันพิสูจน์ว่าถ้าสำหรับการแสดงออกบางอย่างกับรายการที่แก้ไข 4 แล้วถ้า (และด้วยเหตุนี้ ) การพิสูจน์ดำเนินไปโดยการชักนำการแสดงออกxxXL(ab)={ab}L={a,b}L=L(R)X={a,b}ab

{a,b}LabL.
R . สำหรับกรณีฐานมันถือ vacuously ตอนนี้คิดว่ามันถือสำหรับ(R_2) ถ้าและจากนั้นด้วยเหตุนี้โดยสมมติฐานเหนี่ยวนำเรามี(R_2) ถ้าดังนั้นในฐานะเราต้องมีและหรือในทางกลับกัน สมมติว่ากรณีแรก ถ้าดังนั้นโดยสมมติฐานการเหนี่ยวนำดังนั้นL(R1),L(R2)L=L(R1R2)=L(R1)L(R2){a,b}L{a,b}L(Ri),i=1,2abL(R1)L(R2){a,b}L(R1R2)=L(R1)L(R2)a=aε=εaaL(R1)εL(R2)bL(R1)abL(R1)ab=abεL(R1)L(R2)(R_2) ตอนนี้สมมติแล้วเรามีตามคำนิยามของ(R_2) สุดท้ายถ้าแล้ว และสำหรับบาง0 ถ้าเราพบโดยสมมติฐานการเหนี่ยวนำดังนั้นสมมติแต่นี่จะให้คล้ายกันหรือให้และสมมติฐานอุปนัยให้bL(R2)abL(R2)L(R2)L(R1)L(R2)a,bL(R1)aL(R1)nbL(R2)mn,m>0n=m=1abL(R1)n>1aL(R1)m=1m>1bL(R1)abL(R1)L(R1).

หมายเหตุ: ข้อสรุปหนึ่งที่ใช้กันทั่วไป: ถ้าแล้วหรือa สิ่งนี้เป็นดังนั้นและหรือและ0 ในกรณีแรกที่เรามีและด้วยเหตุนี้Wa=uwu=aw=a1=|a|=|uw|=|u|+|w||u|=0|w|=1|u|=1|w|=0u=εa=w


2
แน่นอนไม่ได้อยู่ในชุดของภาษา "subregular" แต่เป็นเพราะAST} {a,b}{a,b}{a,b}=(ab)
rici

ใช่บางครั้งมันเป็นเรื่องยากเล็กน้อยที่จะเห็นสิ่งที่สามารถแสดงออกได้และสิ่งที่ไม่เหมือนกับการรวมดาวอย่างฉลาดและคนอื่น ๆ ที่คุณสามารถทำได้ค่อนข้างไกล
StefanH

10

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

คำถามที่อาจเกิดขึ้นกับผู้อ่านทำไมเราเลือกโดยเฉพาะอย่างยิ่งการดำเนินงานสาม ,และ ?EFEFEF

(หลังจากนั้นไม่นานก็สังเกตว่าเป็นตัวดำเนินการที่สะดวกกว่าและมีกำลังเท่ากันดังนั้นทุกวันนี้เราใช้แทน)EEFE

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

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


ขอบคุณสำหรับลิงค์ ฉันมักจะอธิบายให้นักเรียนของฉันฟังว่าการดำเนินการเป็นนามธรรมที่เป็นธรรมชาติจากตัวเลือก (เช่น if-then-else) ลำดับ (คำแนะนำต่อจากกันและกัน) และการวนซ้ำ (เหมือนในขณะที่ทำ) แต่เห็นได้ชัดว่า Kleene ไม่ได้พูดถึง?
Hendrik Jan

ฉันแค่ผู้ชายที่ค้นหาบทความของ Kleene และรู้สึกประหลาดใจที่ทุกสิ่งในคำตอบของฉันอยู่ในนั้นแล้ว ฉันไม่รู้อะไรเลย ดังนั้นฉันคิดว่าคำตอบคืออ่านบทความและอาจมองหาสิ่งที่ Kleene เขียนไว้ก่อนหน้านี้
reinierpost

4

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

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