เงื่อนไขสำหรับความเป็นสากลของ NFA


28

พิจารณา nondeterministic จำกัด ออโต= ( Q , Σ , δ , Q 0 , F )และฟังก์ชั่นF ( n ) นอกจากนี้เรากำหนดΣ ≤ k = ⋃ ฉัน≤ k ΣฉันA=(Q,Σ,δ,q0,F)f(n)Σ≤k=⋃i≤kΣi

ตอนนี้ให้วิเคราะห์คำสั่งต่อไปนี้:

หากΣ≤f(|Q|)⊆L(A)แล้วL(A)=Σ∗ *

มันง่ายที่จะแสดงว่าสำหรับf(n)=2n+1มันเป็นเรื่องจริงดังนั้นหากออโตมาตะสร้างทุกคำที่มีความยาวไม่เกิน2|Q|+1แล้วมันผลิตΣ∗ *

แต่มันจะยังคงอยู่หรือไม่ถ้าfเป็นพหุนาม?

ApΣ≤p(|Q|)⊆L(A)⊊Σ∗


ผมอยากจะให้เงินรางวัลที่จะพิสูจน์หรือพิสูจน์หักล้างว่ากรณี2 และถ้าไม่มีเลยฉันจะมอบสิ่งที่ดีที่สุดที่จะได้รับ | Σ | ≥ 2f(n)=2n−o(n)|Σ|≥2
— เซียน - จื้อฉาง張顯之

คำตอบ:


22

สำหรับคำสั่งที่จะถือfจะต้องเพิ่มขึ้นอย่างทวีคูณแม้จะเป็นตัวอักษรเอก

[แก้ไข: การวิเคราะห์มีการปรับปรุงเล็กน้อยในการแก้ไข 2]

นี่คือภาพร่างที่พิสูจน์ได้ สมมติว่าคำสั่งเก็บไว้และปล่อยให้fเป็นฟังก์ชันที่ NFA ทุกตัวที่มีสถานะnมากที่สุดที่ยอมรับสตริงทั้งหมดที่มีความยาวมากที่สุดf ( n ) ยอมรับสตริงทั้งหมดใด ๆ เราจะพิสูจน์ให้เห็นว่าทุกC > 0 และมีขนาดใหญ่เพียงพอnเรามีฉ ( n )> 2 C ⋅√ n

ทฤษฎีบทจำนวนที่สำคัญหมายถึงว่าทุกค <LG อีและขนาดใหญ่พอkมีอย่างน้อยค ⋅2 k / kเฉพาะในช่วง [2 k 2 k 1 ] เรารับc = 1 สำหรับkดังกล่าวให้N k = ⌈2 k / k ⌉และกำหนด NFA M kดังนี้ ให้p 1 , …, p N kเป็นค่าเฉพาะในช่วง [2 k , 2 k +1] NFA M kมีS k = 1 + p 1 + … + p N kสถานะ นอกเหนือจากสถานะเริ่มต้นรัฐจะถูกแบ่งออกเป็นN kรอบที่ฉันรอบวันที่มีความยาวหน้าฉัน ในแต่ละรอบรัฐทั้งหมดยกเว้นหนึ่งรัฐเป็นที่ยอมรับ สถานะเริ่มต้นมีN kขอบขาออกซึ่งแต่ละสถานะจะเข้าสู่สถานะทันทีหลังจากสถานะถูกปฏิเสธในแต่ละรอบ ในที่สุดสถานะเริ่มต้นก็เป็นที่ยอมรับเช่นกัน

Let P kเป็นผลิตภัณฑ์ที่หน้า1 ... P N k มันเป็นเรื่องง่ายที่จะเห็นว่าM kยอมรับสตริงทั้งหมดของความยาวน้อยกว่าP kแต่ปฏิเสธสตริงของความยาวP k ดังนั้นF ( S k ) ≥ P k

โปรดทราบว่าS k ≤ 1 + N k ⋅2 k 1 = o (2 2 k ) และP k ≥ (2 k ) N k ≥ 2 2 k ส่วนที่เหลือเป็นมาตรฐาน


คุณคาดเดาเกี่ยวกับค่าที่ดีที่สุดของคืออะไร? พูดว่าหรือที่ใดที่หนึ่งระหว่างและ ? ฉ( n ) = 2 n + 1 2 n 2 ค⋅ √ff(n)=2n+12n2c⋅n
— Hsien-Chih Chang 張顯之

@ Hsien-Chih: ฉันสงสัยในสิ่งเดียวกันและฉันไม่มีการคาดเดาที่สมเหตุสมผล อย่างแรกคือมันไม่สำคัญที่จะเห็น f (n) ^2 ^ n (เราไม่ต้องการ +1) และในขณะที่ฉันคาดหวังว่าการปรับปรุงเชิงเส้นบนขอบเขตบนนี้ฉันไม่รู้ว่ามันแน่นถึงปัจจัยคงที่หรือไม่ (เพิ่มเติม)
— Tsuyoshi Ito

(ต่อ) ประการที่สองสำหรับขอบเขตล่างถ้าฉันไม่ผิดการปรับแต่งเล็กน้อยของการวิเคราะห์ข้างต้นให้ขอบเขตล่างต่อไปนี้: สำหรับค่าคงที่ 0 <c <และ n ที่มีขนาดใหญ่พอสมควรLN}} การปรับแต่งเพิ่มเติมอาจเป็นไปได้ แต่เราไม่สามารถรับขอบเขตล่างเช่น 2 ^ {n ^ p} สำหรับ p> 1/2 ถ้าเราใช้โครงสร้าง NTM เดียวกัน ฉันคิดว่ามันเป็นคำถามที่น่าสนใจว่าการใช้การกระจายของจำนวนเฉพาะ (เช่น PNT) เป็นสิ่งจำเป็นสำหรับการสร้างตัวอย่างที่ไม่ดี (เพิ่มเติม) f(n)>e c √1/2f(n)>ecnln⁡n
— Tsuyoshi Ito

(ต่อ) อย่างไรก็ตามหากคุณสนใจและต้องการตรวจสอบเพิ่มเติมอาจเป็นเรื่องที่ฉลาดที่จะมองหาวรรณกรรมก่อน ฉันจะไม่แปลกใจถ้าคำตอบนี้หรือสิ่งที่ดีกว่าปรากฏในวรรณกรรม
— Tsuyoshi Ito

5
@Tsuyoshi: มันก็แสดงให้เห็นว่า Chrobak n รัฐ DFA สำหรับภาษาเอกสามารถจำลองโดย M-รัฐ NFA สำหรับn}}) ดังนั้นการก่อสร้างของคุณจะแน่นหากภาษาไม่เป็นไปด้วยดี ดู [Chr86]: cs.ust.hk/mjg_lib/Library/Chro86.pdfm=O(enlog⁡n)
— Hsien-Chih Chang 張顯之

19

แก้ไข AT 10/12/06:

ตกลงนี่เป็นสิ่งก่อสร้างที่ดีที่สุดที่ฉันจะได้รับดูว่ามีใครคิดไอเดียที่ดี

ทฤษฎีบท. สำหรับแต่ละมี -state NFAเหนือตัวอักษรด้วยเช่นนั้นสตริงที่สั้นที่สุดที่ไม่ได้อยู่ในมีความยาว1)( 5 n + 12 ) M Σ | Σ | = 5 L ( M ) ( 2 n - 1 ) ( n + 1 ) + 1n(5n+12)MΣ|Σ|=5L(M)(2n−1)(n+1)+1

นี้จะช่วยให้เรา5})f(n)=Ω(2n/5)

การก่อสร้างนั้นค่อนข้างจะเหมือนกับของShallitยกเว้นว่าเราจะสร้าง NFA โดยตรงแทนที่จะเป็นตัวแทนของภาษาด้วยการแสดงออกปกติก่อน ปล่อย

Σ={[00],[01],[10],[11],♯}\}

สำหรับแต่ละเราจะสร้าง NFA ที่รู้จักภาษาโดยที่เป็นลำดับต่อไปนี้ ( ยกตัวอย่าง ):Σ ∗ - { s n } s n n = 3nΣ∗−{sn}snn=3

s3=♯[00][00][01]♯[00][01][10]♯…♯[11][11][01]♯1}

แนวคิดคือเราสามารถสร้าง NFA ประกอบด้วยห้าส่วน

  • เริ่มต้นซึ่งทำให้มั่นใจได้สตริงเริ่มต้นด้วย ;♯[00][00][01]♯
  • เทอร์มิเนเตอร์ซึ่งทำให้แน่ใจว่าสตริงลงท้ายด้วย ;♯[11][11][01]♯
  • ตัวนับซึ่งเก็บจำนวนสัญลักษณ์ระหว่างสอง 's เป็น ;n♯n
  • Add-หนึ่งตรวจสอบซึ่งรับประกันได้ว่าสัญลักษณ์เท่านั้นที่มีรูปแบบจะปรากฏขึ้น ในที่สุด♯xx+1♯
  • ตรวจสอบที่สอดคล้องกันซึ่งรับประกันได้ว่าสัญลักษณ์เท่านั้นที่มีรูปแบบจะปรากฏควบคู่กันไป♯xy♯yz♯

โปรดทราบว่าเราต้องการยอมรับแทนที่จะเป็นดังนั้นเมื่อเราพบว่าลำดับการป้อนข้อมูลนั้นไม่เชื่อฟังหนึ่งในพฤติกรรมข้างต้นเรายอมรับลำดับทันที มิฉะนั้นหลังจากขั้นตอน NFA จะอยู่ในสถานะปฏิเสธที่เป็นไปได้เท่านั้น และถ้าลำดับนั้นยาวกว่าNFA ก็ยอมรับเช่นกัน ดังนั้น NFA ใด ๆ ที่ปฏิบัติตามเงื่อนไขห้าข้อข้างต้นจะปฏิเสธเท่านั้น{ s n } | s n | | s n | s nΣ∗−{sn}{sn}|sn||sn|sn

มันอาจจะง่ายต่อการตรวจสอบรูปต่อไปนี้โดยตรงแทนการพิสูจน์อย่างเข้มงวด:

NFA สำหรับการปฏิเสธ s_n

เราเริ่มที่สถานะบนซ้าย ส่วนแรกคือตัวเริ่มต้นและตัวนับจากนั้นตัวตรวจสอบที่สอดคล้องกันจุดสิ้นสุดในที่สุดตัวตรวจสอบ Add-One อาร์คทั้งหมดที่ไม่มีโหนดเทอร์มินัลชี้ไปที่สถานะล่างขวาซึ่งเป็นตัวรับเวลาทั้งหมด ขอบบางส่วนไม่มีการติดฉลากเนื่องจากไม่มีที่ว่าง แต่สามารถกู้คืนได้ง่าย เส้นประแสดงถึงลำดับของสถานะมีขอบn - 2n−1n−2

เราสามารถ (เจ็บปวด) ตรวจสอบว่า NFA ปฏิเสธเท่านั้นเนื่องจากเป็นไปตามกฎทั้งห้าด้านบน ดังนั้น -state NFA ด้วยได้ถูกสร้างขึ้นซึ่งสอดคล้องกับข้อกำหนดของทฤษฎีบท ( 5 n + 12 ) | Σ | = 5sn(5n+12)|Σ|=5

หากมีความไม่ชัดเจน / ปัญหาเกี่ยวกับการก่อสร้างโปรดออกความคิดเห็นและฉันจะพยายามอธิบาย / แก้ไข


คำถามนี้ได้รับการศึกษาโดยเจฟฟรีย์ทุม Shallit et al, และแน่นอนมูลค่าที่เหมาะสมของ.ยังคงเปิดให้บริการสำหรับ 1 (สำหรับภาษาที่มองเห็นความเห็นในคำตอบของ Tsuyoshi )| Σ | > 1f(n)|Σ|>1

ในหน้า 46-51 ของการพูดของเขาเกี่ยวกับความเป็นสากลเขาจัดให้มีการก่อสร้างเช่น:

ทฤษฎีบท. สำหรับสำหรับมีขนาดใหญ่พอมี state NFAบนตัวอักษรไบนารีเช่นว่าสตริงที่สั้นที่สุดที่ไม่ได้อยู่ในมีความยาวสำหรับ .N n M L ( M ) Ω ( 2 คn ) C = 1 / 75n≥NNnML(M)Ω(2cn)c=1/75

ดังนั้นค่าที่ดีที่สุดสำหรับเป็นบางระหว่างและ n ฉันไม่แน่ใจว่าผลลัพธ์โดย Shallit ได้รับการปรับปรุงในปีที่ผ่านมาหรือไม่2 n / 75 2 nf(n)2n/752n


ฉันเล่นกับการทำงาน Shallit ของความหวังที่จะได้รับผูกพันที่ดีมากอยู่ใกล้กับ n สิ่งก่อสร้างของพวกเขาดูน่าสนใจโดยระบุลำดับความยาวซึ่งไม่สามารถแสดงได้ด้วยการแสดงออกปกติ "สั้น" ของความยาวและการแสดงออกปกติของความยาวสามารถอธิบายได้โดย NFA ขนาดfปัจจุบันผมสามารถที่จะปล่อยให้แต่เป็นความคิดที่ชาญฉลาดคือความต้องการที่จะเข้ามาใกล้ n Ω ( 2 n ) คn + o ( n ) ฉ( n ) ฉ( n ) + 1 ค≤ 22 2 n2nΩ^(2n)cn+o(n)f(n)f(n)+1c≤222n
— Hsien-Chih Chang 張顯之

2
ฉันไม่คิดว่าจะให้ข้อมูลเชิงลึกเพิ่มเติมสำหรับการศึกษาปัญหานี้ แต่การอ้างอิงทางวิชาการที่เหมาะสมสำหรับการพูดคุยของ Shallit คือ: K. Ellul, B. Krawetz, J. Shallit, M. Wang: นิพจน์ทั่วไป: ผลลัพธ์ใหม่และปัญหาแบบเปิด วารสาร Automata, ภาษาและ Combinatorics 10 (4): 407-437 (2005)
— Hermann Gruber

@ Hermann: ขอบคุณสำหรับการอ้างอิงในขณะนี้ฉันไม่สามารถเข้าถึงกระดาษ แต่ฉันจะหาวิธีที่จะ
— Hsien-Chih Chang 張顯之

ฉันคิดว่าการใช้ตัวนับเราสามารถแทนที่ตัวเริ่มต้นและตัวยุติด้วยเครื่องจิ๋ว 2 สถานะ ดังนั้นต่อไปนี้ลดขนาดของ NFA เพื่อ(1) 3n+O(1)
— Hsien-Chih Chang 張顯之

1
รุ่น preprint ของผู้เขียนของกระดาษ JALC ที่ระบุไว้อยู่ที่นี่: cs.uwaterloo.ca/~shallit/Papers/re3.pdfข้อผูกมัดและการพิสูจน์จะเหมือนกันในฉบับพิมพ์
— Hermann Gruber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.