คำถามติดแท็ก regular-languages

คำถามเกี่ยวกับคุณสมบัติของคลาสของภาษาปกติและแต่ละภาษา

10
จะพิสูจน์ได้อย่างไรว่าภาษาไม่ปกติ
เราได้เรียนรู้เกี่ยวกับการเรียนของภาษาปกติ{} มันโดดเด่นด้วยแนวคิดใดแนวคิดหนึ่งในการแสดงออกปกติออโต้ จำกัด และไวยากรณ์ด้านซ้ายดังนั้นจึงเป็นเรื่องง่ายที่จะแสดงว่าภาษาที่กำหนดเป็นปกติREGREG\mathrm{REG} ฉันจะแสดงสิ่งที่ตรงกันข้ามได้อย่างไร? TA ของฉันได้รับการยืนยันว่าในการทำเช่นนั้นเราจะต้องแสดงให้เห็นสำหรับการแสดงออกปกติทั้งหมด (หรือสำหรับออโต้ จำกัด ทั้งหมดหรือสำหรับไวยากรณ์ซ้าย - เชิงเส้นทั้งหมด) ที่พวกเขาไม่สามารถอธิบายภาษาที่อยู่ในมือ ดูเหมือนว่าจะเป็นงานใหญ่! ฉันได้อ่านเกี่ยวกับบทแทรกซึมบ้าง แต่มันดูซับซ้อนจริงๆ นี่เป็นคำถามอ้างอิงที่รวบรวมวิธีการพิสูจน์ตามปกติและตัวอย่างการใช้ ดูที่นี่สำหรับคำถามเดียวกันเกี่ยวกับภาษาที่ไม่มีบริบท

8
จะพิสูจน์ภาษาได้อย่างไร?
มีหลายวิธีในการพิสูจน์ว่าภาษาไม่ปกติแต่ฉันต้องทำอย่างไรเพื่อพิสูจน์ว่าภาษาบางอย่างเป็นปกติ ตัวอย่างเช่นหากฉันได้รับเป็นปกติฉันจะพิสูจน์ได้อย่างไรว่าต่อไปนี้เป็นปกติเช่นกันL ′LLLL′L′L' L′:={w∈L:uv=w for u∈Σ∗∖L and v∈Σ+}L′:={w∈L:uv=w for u∈Σ∗∖L and v∈Σ+}\qquad \displaystyle L' := \{w \in L: uv = w \text{ for } u \in \Sigma^* \setminus L \text{ and } v \in \Sigma^+ \} ฉันสามารถวาดออโตเมติก จำกัด แบบไม่มีการกำหนดเพื่อพิสูจน์สิ่งนี้ได้หรือไม่?

2
ภาษาปกติระนาบ
ในชั้นเรียนของฉันนักเรียนคนหนึ่งถามว่าออโตมาต้าที่ จำกัด ทั้งหมดสามารถวาดได้โดยไม่ต้องข้ามขอบ (ดูตัวอย่างทั้งหมดของฉัน) แน่นอนคำตอบนั้นเป็นค่าลบหุ่นยนต์ที่ชัดเจนสำหรับภาษามีโครงสร้างของK_5กราฟที่สมบูรณ์ในห้าโหนด . Yuval ได้แสดงโครงสร้างที่คล้ายกันสำหรับภาษาที่เกี่ยวข้อง{x ∈ { a , b }* * * *∣ #a( x ) + 2 #ข( x ) ≡ 0พอควร5}{x∈{a,ข}* * * *|#a(x)+2#ข(x)≡0พอควร5}\{\; x\in\{a,b\}^* \mid \#_a(x)+2\#_b(x) \equiv 0 \mod 5 \;\}K5K5K_5 คำถามของฉันคือต่อไปนี้: ทำอย่างไรเราจะแสดงให้เห็นว่าทุกหุ่นยนต์สถานะ จำกัด สำหรับภาษานี้ไม่เป็นระนาบ? ด้วย Myhill-Nerode เช่นการจำแนกลักษณะมันอาจจะพิสูจน์ได้ว่าโครงสร้างของภาษานั้นปรากฏอยู่ในแผนภาพ แต่เราจะทำให้สิ่งนี้แม่นยำได้อย่างไร และถ้าสามารถทำได้มีลักษณะของ "ภาษาปกติระนาบ" หรือไม่?

5
ภาษาปกติสามารถทัวริงได้หรือไม่
ฉันกำลังอ่านเกี่ยวกับIota และ Jotและพบว่าส่วนนี้ทำให้เกิดความสับสน: ซึ่งแตกต่างจาก Iota ที่ต้นไม้ syntactic สำหรับสตริงสามารถแยกทั้งทางด้านซ้ายหรือด้านขวาไวยากรณ์ Jot เป็นซ้าย - กิ่งเหมือนกัน เป็นผลให้ Iota ไม่มีบริบทอย่างเคร่งครัด แต่ Jot เป็นภาษาปกติ ความเข้าใจของฉันคือทั้ง Iota และ Jot เป็นทัวริงที่สมบูรณ์ แต่เห็นได้ชัดว่าอย่างใดอย่างหนึ่งไม่มีบริบทและอื่น ๆ เป็นปกติ! แน่นอนว่าภาษาปกติไม่สามารถทำให้ทัวริงสมบูรณ์

2
ทำไมภาษาปกติจึงเรียกว่า 'ปกติ'
ฉันเพิ่งเสร็จสิ้นบทแรกของบทนำสู่ทฤษฎีการคำนวณโดยMichael Sipserซึ่งอธิบายพื้นฐานของขอบเขตออโตมาตา เขากำหนดภาษาปกติเป็นสิ่งที่สามารถอธิบายได้ด้วยออโต้ จำกัด แต่ฉันไม่สามารถหาที่ที่เขาอธิบายได้ว่าทำไมภาษาปกติเรียกว่า "ปกติ" อะไรคือต้นกำเนิดของคำว่า "ปกติ" ในบริบทนี้ หมายเหตุ: ฉันเป็นสามเณรดังนั้นโปรดลองอธิบายอย่างง่าย ๆ !

1
Asymptotics ของจำนวนคำในภาษาปกติของความยาวที่กำหนด
สำหรับภาษาปกติLLLให้cn(L)cn(L)c_n(L)เป็นจำนวนคำในLLLความยาวnnnnใช้จอร์แดนรูปแบบที่ยอมรับ (นำไปใช้กับเมทริกซ์การเปลี่ยนแปลง unannotated ของ DFA บางอย่างสำหรับLLL ) หนึ่งสามารถแสดงให้เห็นว่าใหญ่พอnnn , cn(L)=∑i=1kPi(n)λni,cn(L)=∑i=1kPi(n)λin, c_n(L) = \sum_{i=1}^k P_i(n) \lambda_i^n, ที่มี ชื่อพหุนามแบบซับซ้อนและPiPiP_iλiλi\lambda_i"ค่าลักษณะเฉพาะ" ที่ซับซ้อน (สำหรับขนาดเล็กเราอาจมีข้อกำหนดเพิ่มเติมของแบบฟอร์มโดยที่คือถ้าและอย่างอื่นสิ่งเหล่านี้สอดคล้องกับบล็อกของจอร์แดนที่มีขนาดอย่างน้อยมีค่าลักษณะเฉพาะ )nnnCk[n=k]Ck[n=k]C_k[n=k][n=k][n=k][n=k]111n=kn=kn=k000k+1k+1k+1000 การแสดงนี้ดูเหมือนจะบ่งบอกว่าถ้าเป็นอนันต์แล้ว asymptotically,สำหรับบาง 0 อย่างไรก็ตามนี่เป็นความเท็จอย่างชัดแจ้ง: สำหรับภาษามากกว่าของทุกคำที่มีความยาวเท่ากันแต่ . นี้แสดงให้เห็นว่าบางและสำหรับทั้งหมดทั้งสำหรับขนาดใหญ่พอหรือA} นี่คือการพิสูจน์ในFlajolet & SedgewickLLLcn(L)∼Cnkλncn(L)∼Cnkλnc_n(L) \sim C n^k \lambda^nC,λ>0C,λ>0C,\lambda>0LLL{0,1}{0,1}\{0,1\}c2n(L)=22nc2n(L)=22nc_{2n}(L) = 2^{2n}c2n+1(L)=0c2n+1(L)=0c_{2n+1}(L) = 0ddda∈{0,…,d−1}a∈{0,…,d−1}a \in \{0,\ldots,d-1\}cdm+a(L)=0cdm+a(L)=0c_{dm+a}(L) = 0mmmcdm+a∼Ca(dm+a)kaλdm+aacdm+a∼Ca(dm+a)kaλadm+ac_{dm+a} \sim C_a (dm+a)^{k_a} \lambda_a^{dm+a} (ทฤษฎีบท V.3) ซึ่งเป็นผู้พิสูจน์ข้อพิสูจน์ของ Berstel …

1
นิพจน์ปกติ“ หนาแน่น” สร้าง ?
นี่คือการคาดเดาสำหรับนิพจน์ทั่วไป: สำหรับการแสดงออกปกติให้ความยาวเป็นจำนวนของสัญลักษณ์ในนั้นละเว้นเครื่องหมายวงเล็บและตัวดำเนินการ เช่นRRR|R||R||R||0∪1|=|(0∪1)∗|=2|0∪1|=|(0∪1)∗|=2|0 \cup 1| = |(0 \cup 1)^*| = 2 การคาดเดา:ถ้าและมีความยาวทุกสตริงหรือน้อยกว่านั้น *|R|>1|R|>1|R| > 1L(R)L(R)L(R)|R||R||R|L(R)=Σ∗L(R)=Σ∗L(R) = \Sigma^* นั่นคือถ้าคือ 'หนาแน่น' ถึงยาว 's แล้วจริงสร้างทุกอย่างL(R)L(R)L(R)RRRRRR บางสิ่งที่อาจเกี่ยวข้อง: ต้องการเพียงส่วนเล็ก ๆ ของเพื่อสร้างสตริงทั้งหมด ยกตัวอย่างเช่นในไบนารีจะทำงานใด ๆSRRRR=(0∪1)∗∪SR=(0∪1)∗∪SR = (0 \cup 1)^* \cup SSSS จะต้องมีดาว Kleene ในในบางจุด หากไม่มีอยู่มันจะพลาดสตริงที่มีขนาดน้อยกว่า.RRR|R||R||R| มันจะเป็นการดีที่ได้เห็นหลักฐานหรือตัวอย่าง มีบางกรณีที่ฉันผิดพลาดหรือไม่? มีใครเห็นสิ่งนี้ (หรือบางอย่างที่คล้ายกัน) มาก่อนหรือไม่

3
เงื่อนไขสำหรับ NFA สำหรับ DFA ที่เทียบเท่าจะมีขนาดสูงสุดได้อย่างไร
เรารู้ว่า DFA นั้นเทียบเท่ากับ NFA ในอำนาจการแสดงออก นอกจากนี้ยังมีอัลกอริทึมที่รู้จักกันสำหรับการแปลง NFA เป็น DFA (โชคไม่ดีที่ตอนนี้ฉันรู้จักนักประดิษฐ์ของอัลกอริทึมนั้น) ซึ่งในกรณีที่เลวร้ายที่สุดทำให้เรามีสถานะหาก NFA ของเรามีสถานะ2S2S2^SSSS คำถามของฉันคือ: สิ่งที่กำหนดสถานการณ์กรณีที่เลวร้ายที่สุด? นี่คือการถอดความของอัลกอริทึมในกรณีที่มีความกำกวม: ให้A = ( Q , Σ , δ, คิว0, F)A=(Q,Σ,δ,Q0,F)A = (Q,\Sigma,\delta,q_0,F)เป็น NFA เราสร้าง DFA A'= ( Q', Σ , δ', คิว'0, F')A'=(Q',Σ,δ',Q0',F')A' = (Q',\Sigma,\delta',q'_0,F')โดยที่ Q'= P( Q )Q'=P(Q)Q' = \mathcal{P}(Q) , F'= { …

3
แทรกบทแทรกสำหรับภาษาปกติที่ จำกัด ง่าย
Wikipediaมีคำจำกัดความของบทแทรกต่อไปนี้สำหรับ langauges ปกติ ... ให้เป็นภาษาปกติ จากนั้นจะมีจำนวนเต็ม ≥ 1 ขึ้นอยู่กับเช่นว่าทุกสตริงในของความยาวอย่างน้อย (เรียกว่า "pumping length") สามารถเขียนเป็น = (เช่นสามารถแบ่งออกเป็นสาม วัสดุพิมพ์) ที่สอดคล้องกับเงื่อนไขต่อไปนี้:LLLpppLLLwwwLLLppppppwwwxyzxyzxyzwww | | ≥ 1yyy | | ≤xyxyxyppp สำหรับทั้งหมด ≥ 0, ∈iiixyizxyizxy^izLLL ฉันไม่เห็นว่าสิ่งนี้น่าพึงพอใจสำหรับภาษาปกติที่ จำกัด อย่างง่าย ถ้าผมมีตัวอักษรของ { } และการแสดงออกปกติแล้วประกอบด้วยแค่คำหนึ่งซึ่งเป็นตามด้วยขตอนนี้ฉันต้องการที่จะดูว่าภาษาปกติของฉันเป็นไปตามที่สูบ ...a,ba,ba,babababLLLaaabbb ในฐานะที่เป็นซ้ำไม่มีอะไรในการแสดงออกปกติของฉันค่าของyyyต้องมีที่ว่างเปล่าเพื่อให้สภาพ 3 satisifed สำหรับฉันiiiแต่ถ้าเป็นเช่นนั้นมันล้มเหลวในเงื่อนไข 1 ซึ่งบอกว่าyyyจะต้องมีความยาวอย่างน้อย 1 ตัว! ถ้าฉันปล่อยให้yyyเป็นaaa , bbbหรือabababมันจะเป็นไปตามเงื่อนไขที่ 1 แต่ล้มเหลวในสภาพที่ 3 …

4
ใช้สูบน้ำเพื่อพิสูจน์บทแทรกภาษา
ฉันพยายามที่จะใช้สูบน้ำแทรกที่จะพิสูจน์ว่าไม่ปกติL = { ( 01 )ม.2ม.∣ m ≥ 0 }L={(01)m2m∣m≥0}L = \{(01)^m 2^m \mid m \ge0\} นี่คือสิ่งที่ฉันได้จนถึง: สมมติเป็นปกติและช่วยให้หน้ามีความยาวสูบน้ำดังนั้นW = ( 01 ) หน้า2หน้า พิจารณาการสลายตัวของปั๊มใด ๆw = x y zเช่นนั้น | y | > 0และ| x y | ≤ PLLLพีppw = ( 01 )พี2พีw=(01)p2pw = (01)^p 2^pw = x yZw=xyzw = …

3
ภาษานี้ถูกกำหนดโดยใช้ช่วงเวลาคู่ปกติหรือไม่?
ปล่อย L ={ an| ∃หน้า≥ n พี, p + 2 เป็นจำนวนมาก} L={an|∃พี≥n พี, พี+2 เป็นนายก}.\qquad L = \{a^n \mid \exists_{p \geq n}\ p\,,\ p+2 \text{ are prime}\}. คือปกติ?LLL คำถามนี้มองที่น่าสงสัยได้อย่างรวดเร็วก่อนและฉันได้รู้ว่ามันมีการเชื่อมต่อกับการคาดเดาที่สำคัญคู่ ปัญหาของฉันคือการคาดเดายังไม่ได้รับการแก้ไขดังนั้นฉันไม่แน่ใจว่าฉันจะตัดสินใจได้อย่างไรว่าภาษาดังกล่าวเป็นปกติ

4
วิธีแสดงให้เห็นว่าภาษาปกติ“ ตรงกันข้าม” นั้นเป็นภาษาปกติ
ฉันติดคำถามต่อไปนี้: "ภาษาปกติเป็นภาษาที่แน่นอนที่ได้รับการยอมรับโดยออโต จำกัด เนื่องจากข้อเท็จจริงนี้แสดงให้เห็นว่าหากภาษาได้รับการยอมรับจากออโตเมติก จำกัดบางอันดังนั้นก็เป็นที่ยอมรับของบางอัน จำกัดประกอบด้วยทุกคำ ของย้อนกลับ "LLLLRLRL^{R}LRLRL^{R}LLL

1
การแสดงออกปกติด้วย backreferences มากกว่าตัวอักษรเอก
การตั้งค่า: นิพจน์ปกติที่มีการอ้างอิงย้อนกลับ ภาษาเดียว (ตัวอักษรสัญลักษณ์ 1 ตัว) ปัญหาต่อไปนี้สามารถแก้ไขได้ในการตั้งค่านี้: ได้รับการแสดงออกปกติด้วย backreferences มันกำหนดภาษาปกติหรือไม่ ตัวอย่างเช่น(aa+)\1กำหนดภาษาปกติโดยที่(aa+)\1+ไม่ทำเช่นนั้น เราสามารถตัดสินใจได้ว่าจะใช้กรณีใด สำหรับ concreteness "นิพจน์ทั่วไปที่มีการอ้างอิงย้อนกลับ" ที่นี่อ้างถึงเช่นชุดย่อยต่อไปนี้ของนิพจน์ปกติที่เข้ากันได้กับ Perl ปกติ : aจับคู่อักขระa( อักขระเพียงตัวเดียวในตัวอักษร) X* ตรงกับ 0 หรือมากกว่าที่เกิดขึ้นของ X X|Yจับคู่XหรือY วงเล็บสามารถใช้สำหรับการจัดกลุ่มและการจับภาพ \1. \2และอื่น ๆ จับคู่สตริงเดียวกันกับวงเล็บคู่ที่ 1, 2 และอื่น ๆ นอกจากนี้เรายังสามารถใช้ shorthands ปกติเช่น=X+XX*


3
จำนวนคำในภาษาปกติ
ตามวิกิพีเดียสำหรับภาษาปกติLLLมีค่าคงที่λ1,…,λkλ1,…,λk\lambda_1,\ldots,\lambda_kและพหุนามp1(x),…,pk(x)p1(x),…,pk(x)p_1(x),\ldots,p_k(x)เช่นนั้นสำหรับทุก ๆnnnจำนวนsL(n)sL(n)s_L(n)ของคำที่มีความยาวnnnในLLLเป็นไปตามสมการ ksL(n)=p1(n)λn1+⋯+pk(n)λnksL(n)=p1(n)λ1n+⋯+pk(n)λkn\qquad \displaystyle s_L(n)=p_1(n)\lambda_1^n+\dots+p_k(n)\lambda_k^n ภาษาเป็นภาษาปกติ ( ( 00 ) ∗ตรงกัน) s L ( n ) = 1 iff n เป็นคู่และs L ( n ) = 0 เป็นอย่างอื่นL={02n∣n∈N}L={02n∣n∈N}L =\{ 0^{2n} \mid n \in\mathbb{N} \}(00)∗(00)∗(00)^*sL(n)=1sL(n)=1s_L(n) = 1sL(n)=0sL(n)=0s_L(n) = 0 อย่างไรก็ตามฉันไม่สามารถหาและp i (ที่ต้องมีอยู่ข้างต้น) ในฐานะที่เป็นs L ( n )จะต้องมีการหาอนุพันธ์และไม่คงที่มันอย่างใดต้องทำตัวเหมือนคลื่นและผมก็ไม่สามารถดูวิธีการที่คุณอาจจะสามารถทำกับพหุนามและฟังก์ชั่นโดยไม่ต้องชี้แจงสิ้นสุดกับจำนวนอนันต์ของ summands เช่น ในการขยายตัวของเทย์เลอร์ มีใครสอนฉันได้ไหมλiλi\lambda_ipipip_isL(n)sL(n)s_L(n)

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