เงื่อนไขสำหรับ NFA สำหรับ DFA ที่เทียบเท่าจะมีขนาดสูงสุดได้อย่างไร


24

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

คำถามของฉันคือ: สิ่งที่กำหนดสถานการณ์กรณีที่เลวร้ายที่สุด?


นี่คือการถอดความของอัลกอริทึมในกรณีที่มีความกำกวม:

ให้A=(Q,Σ,δ,Q0,F)เป็น NFA เราสร้าง DFA A'=(Q',Σ,δ',Q0',F')โดยที่

  • Q'=P(Q) ,
  • F'={SQ'|FS} ,
  • δ'(S,a)=sS(δ(s,a)δ^(s,ε))และ
  • Q0'={Q0}δ^(Q0,ε) ,

ที่δ^เป็นฟังก์ชั่นการเปลี่ยนแปลงการขยายA


ตามที่ความคิดเห็นระบุไว้คุณสามารถช่วยเหลือ Q นี้ได้โดยขอ NFA "ขั้นต่ำ" สำหรับ DFA (ปัญหาเปิด) คิดอยู่เสมอว่าปัญหานี้เชื่อมโยงอย่างใกล้ชิดกับคำถาม P =? NP ในรูปแบบที่หลากหลายและมีสูตรที่คล้ายกันบางอย่างที่แนะนำว่า มันคล้ายกับที่คุณถามเกี่ยวกับ DFA "ที่บีบอัดได้" กับ "ที่ไม่สามารถบีบอัด" โดยที่ "ที่บีบอัด" เป็นกรณีที่แย่ที่สุดเช่น NFA ที่น้อยที่สุดนั้นมีขนาดเกือบเท่ากับ DFA อาจมีทฤษฎีบทบางอย่างเช่น "DFA ส่วนใหญ่ที่สุ่มถูกบีบอัด [เป็น NFAs]" เนื่องจากมี thms ที่คล้ายกันในทฤษฎีข้อมูล re kolmogorov ความซับซ้อนของสตริง ฯลฯ
vzn

คำตอบ:


24

อัลกอริทึมที่คุณอ้างถึงเรียกว่าการก่อสร้าง Powerset และเผยแพร่ครั้งแรกโดย Michael Rabin และ Dana Scott ในปี 1959

ในการตอบคำถามของคุณตามที่ระบุในชื่อไม่มีDFA สูงสุดสำหรับภาษาปกติเนื่องจากคุณสามารถใช้ DFA และเพิ่มรัฐได้มากเท่าที่คุณต้องการด้วยการเปลี่ยนระหว่างพวกเขา แต่ไม่มีการเปลี่ยนระหว่างหนึ่งในรัฐดั้งเดิมและหนึ่งในใหม่ ดังนั้นรัฐใหม่จะไม่สามารถเข้าถึงได้จากสถานะเริ่มต้นดังนั้นภาษาที่ยอมรับโดยหุ่นยนต์จะไม่เปลี่ยนแปลง (เนื่องจากจะยังคงเหมือนเดิมสำหรับ ) .δ ( Q 0 , W ) W Σ *Q0δ^(Q0,W)WΣ* * * *

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


ตัวอย่างบัญญัติของภาษาที่ยอมรับโดย NFA ที่มีซึ่งมี DFA เทียบเท่าเท่ากับฯ คือ NFA สำหรับคือโดยมี ,และสำหรับ\} DFA ที่เป็นผลจากการใช้การสร้าง powerset กับ NFA นี้จะมีสถานะเนื่องจากคุณจำเป็นต้องแสดงคำที่มีความยาวทั้งหมด2 n L = { w { 0 , 1 } : | w | n  และ  nสัญลักษณ์ -th จากสุดท้ายคือ 1 } L = Q , { 0 , 1 } , δ , Q 0 , { Q n + 1 } δ ( Q 0 , 0 )n+12n

L={W{0,1}* * * *:|W|n และ nสัญลักษณ์ -th จากอันสุดท้ายคือ 1}.
LA=Q,{0,1},δ,Q0,{Qn+1}δ ( q 0 , 1 ) = { q 0 , q 1 } δ ( q i , 0 ) = δδ(Q0,0)={Q0}δ(Q0,1)={Q0,Q1}δ(Qผม,0)=δ(Qผม,1)={Qผม+1}ผม{1,...,n}2n2nnเป็นคำต่อท้ายของคำในLL

ถ้าคุณต้องการให้วงเล็บปีกกาปรากฏในโหมดการแสดงผลทางคณิตศาสตร์ให้ใช้ \\ {และ \\}
Zach Langley

@ZachLangley ฉันลองไปแล้วมันใช้งานไม่ได้ :-(
Janoma

ดูเหมือนว่าจะใช้งานได้สำหรับฉันในหน้าตัวอย่าง ฉันไม่สามารถส่งการแก้ไขได้เนื่องจากฉันเพิ่มเพียงสี่ตัวอักษรและขั้นต่ำคือหก คุณกำลังใช้แบ็กสแลชสองตัวและไม่ได้ผลใช่ไหม
Zach Langley

@ ZachLangley มันใช้ได้แล้ว แต่สองสิ่ง: ที่ 1 มันไม่ทำงานเมื่อฉันโพสต์คำตอบเป็นครั้งแรก อันดับที่สองฉันคิดว่าสิ่งนี้ไม่สอดคล้องกับพฤติกรรมของการแสดงผล LaTeX ในโรงละคร แต่ฉันอาจผิด
Janoma

DFA ที่ได้นั้นมีค่าน้อยที่สุด? คุณช่วยพูดเล็กน้อยเกี่ยวกับวิธีการพิสูจน์ว่ามันน้อยที่สุดได้หรือไม่?
user834

8

กรณีที่เลวร้ายที่สุดของมาจากจำนวนชุดย่อยของรัฐของ NFA ในการมีอัลกอริทึมจากทฤษฎีบทของ Kleene ให้ DFA ที่เทียบเท่ากับจำนวนกรณีที่เลวร้ายที่สุดของรัฐจะต้องมีวิธีที่จะได้รับทุกเซตย่อยของรัฐที่เป็นไปได้ใน NFA ตัวอย่างที่มีสองสถานะเหนือตัวอักษรมีการเปลี่ยนจากสถานะเริ่มต้นไปเป็นสถานะการยอมรับ แต่เพียงผู้เดียวในสัญลักษณ์การเปลี่ยนจากสถานะการยอมรับกลับไปเป็นจุดเริ่มต้นบนและการเปลี่ยนจากสถานะการยอมรับ กลับไปที่ตัวเองในทั้งหรือขสตริง , ,และนำไปสู่ส่วนย่อย { a , b } a b a b λ a b a b { q 1 } { q 2 } { } { q 1 , q 2 }2s{a,}aaλaa{Q1} , ,และตามลำดับและสิ่งเหล่านี้จะต้องแยกรัฐใน DFA Kleene จะช่วยให้{Q2}{}{Q1,Q2}


เห็นด้วย แต่คำถามของ "ไม่ว่าจะมีวิธีที่จะได้ทุกส่วนย่อยของรัฐที่เป็นไปได้ใน NFA" เป็นเรื่องไม่คุ้มค่าการศึกษาต่อไป ....
vzn

-1

ฉันเชื่อว่านี่เป็นคำถามที่ขอบเขตของความรู้คือโดยทั่วไปเป็นคำถามวิจัย จากการค้นหา google อย่างรวดเร็วดูเหมือนว่าส่วนใหญ่จะเปิดอยู่ นอกจากนี้เป็นเวลาหลายปีที่ฉันเชื่อว่ามันมีความสำคัญและเชื่อมโยงกับทฤษฎีความซับซ้อนที่ต่ำกว่าขอบเขต คุณไม่ได้กล่าวถึงการวิเคราะห์ทางสถิติโดยตรง แต่เป็นสิ่งที่บ่งบอกถึงคำถามของคุณ ต่อไปนี้เป็นสองตัวอย่างของการศึกษาเชิงสถิติเกี่ยวกับ DFAs / NFA ที่คล้ายกับแสดงวิธีการทั่วไปสำหรับคำถามประเภทนี้ ปรากฏว่าการวิจัยเชิงประจักษ์เบื้องต้นเกี่ยวกับคำถามเช่นนี้ยังไม่ได้สำรวจส่วนใหญ่ เป็นที่ยอมรับข้อที่ 2 ไม่เกี่ยวข้องกับคำถามของคุณโดยตรง แต่เป็นสิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหางานวิจัยในปัจจุบันได้

ในการศึกษาคำถามของคุณการโจมตีเชิงสถิติเช่นสิ่งต่อไปนี้สามารถจินตนาการได้ มีการสร้าง NFA แบบสุ่ม จากนั้นจะกำหนด DFA ขั้นต่ำสุด สร้างกราฟผลลัพธ์ฮิสโตแกรมของจำนวน DFAs ที่มีขนาดผลลัพธ์ แยก DFA ที่ "ใหญ่" ออกตามเกณฑ์บางอย่าง กำหนดตัวชี้วัดหรือการวัดของ NFA ที่ให้การประมาณขนาด DFA ที่ได้x

ตัวชี้วัดนี้จะเกี่ยวข้องกับตัวชี้วัดทฤษฎีกราฟเช่นความหนาแน่นของขอบและอื่น ๆ อาจมีบางทฤษฎีกราฟกราฟที่สำคัญมากหรือการผสมผสานของตัวชี้วัดที่ประเมิน "ระเบิด" แต่ไม่ชัดเจนทันทีสำหรับฉัน ฉันสามารถแนะนำบางอย่างเช่นการวัดกราฟสีหรือการวัดกลุ่ม จากนั้นทดสอบตัวชี้วัดกับชุด "ระเบิด" กับ "ไม่ระเบิด"

คำตอบอื่น ๆ สำหรับคำถามของคุณเพียงแค่ให้ตัวอย่างกรณีของ "ระเบิด" (มีประโยชน์สำหรับกรณีศึกษา) แต่ไม่ได้แก้ไขปัญหาสำคัญของการวัดทั่วไป

อีกสิ่งหนึ่งที่ควรพิจารณาในการพัฒนาโปรแกรมการวิจัยเชิงประจักษ์ก็คือการวิจัยจุดเปลี่ยน SAT นั่นได้พัฒนาการเชื่อมโยงอย่างลึกซึ้งกับแนวคิดทางฟิสิกส์และอุณหพลศาสตร์ ดูเหมือนว่าสำหรับฉันแล้วแนวคิดที่คล้ายคลึงกันสามารถใช้ได้ที่นี่ ตัวอย่างเช่นมีแนวโน้มว่าจะพบเมทริกประเภทจุดเปลี่ยนที่คล้ายคลึงกัน อาจมีความหนาแน่นของขอบ ฯลฯ หมายเหตุสอดคล้องกับทฤษฎีการบีบอัดของ Kolmogorov

ฉันยังคาดการณ์ว่า NFA ที่ "ระเบิด" กับสิ่งที่ไม่คล้ายคลึงกันอย่างใดกับอินสแตนซ์ "ยาก" vs "ง่าย" ของปัญหา NP-complete

อีกวิธีหนึ่งในการศึกษาปัญหานี้ก็คือการกำหนดปัญหาการลดขนาด NFA นั่นคือให้ DFA หา NFA ขั้นต่ำสุดที่ฉันได้ยิน (เมื่อหลายปีก่อน) ยังคงเป็นปัญหาที่เปิดอยู่


[1] เกี่ยวกับประสิทธิภาพของอัลกอริธึมการลดขนาดออโตมาต้า Marco Almeida, Nelma Moreira, Rogério Reis

[2] ออโตมาตะจำคำไม่ได้: วิธีการทางสถิติ Cristian S. Calude, Cezar Câmpeanu, Monica Dumitrescu

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