คำถามติดแท็ก finite-automata

คำถามเกี่ยวกับขอบเขต จำกัด ของออโตมาตะโมเดลออโตเมติกเบื้องต้นที่มีหน่วยความจำ จำกัด มันเทียบเท่ากับภาษาปกติและพื้นฐานสำหรับรุ่นที่ซับซ้อนมากขึ้น

1
แยกบริบทด้วยภาษาปกติ
จุดตัดของบริบทภาษาอิสระ L กับภาษา M ทั่วไปกล่าวกันว่าเป็นบริบทฟรีเสมอ ฉันเข้าใจหลักฐานการก่อสร้างข้ามผลิตภัณฑ์ แต่ฉันก็ยังไม่เข้าใจว่าทำไมจึงไม่มีบริบท แต่ไม่ใช่ปกติ ภาษาที่สร้างขึ้นโดยทางแยกดังกล่าวมีสตริงที่ยอมรับได้ทั้งจาก PDA และ DFA เนื่องจาก DFA ได้รับการยอมรับจึงไม่ควรเป็นภาษาปกติ นอกจากนี้หากจุดตัดเป็นปกติก็ยังหมายถึงบริบทฟรีเนื่องจากภาษาปกติทั้งหมดยังไม่มีบริบท ใครสามารถอธิบายให้ฉันฟังได้ว่าทำไมภาษาที่ได้จากการแยกดังกล่าวไม่ปกติ

3
อัลกอริทึมของ Brzozowski สำหรับการลด DFA
อัลกอริทึมการลดขนาด DFA ของ Brzozowski สร้าง DFA ขั้นต่ำสำหรับ DFA GGGโดย: การกลับขอบทั้งหมดในGGGทำให้สถานะเริ่มต้นเป็นสถานะยอมรับและยอมรับสถานะเริ่มต้นเพื่อรับ NFA ยังไม่มีข้อความ'N′N'สำหรับภาษาย้อนกลับ ใช้การสร้าง powerset เพื่อรับG'G′G'สำหรับภาษาย้อนกลับ ย้อนกลับขอบ (และเริ่มต้นยอมรับสลับ) ในG'G′G'ที่จะได้รับ NFA ยังไม่มีข้อความNNสำหรับภาษาต้นฉบับและ GนาทีGminG_{\min} แน่นอนเนื่องจาก DFA บางตัวมี DFA ใหญ่แบบย้อนกลับแบบทวีคูณอัลกอริทึมนี้จะทำงานในเวลาเอ็กซ์โพเนนเชียลในกรณีที่เลวร้ายที่สุดในแง่ของขนาดของอินพุตดังนั้นให้ติดตามขนาดของ DFA ย้อนกลับ ถ้าคือขนาดของอินพุต DFA,คือขนาดของ DFA ที่น้อยที่สุดและที่มีขนาดของ DFA ย้อนกลับน้อยที่สุดดังนั้นเวลารันไทม์ของอัลกอริทึมของ Brzozowski ในแง่ของ ,และคืออะไร?ยังไม่มีข้อความยังไม่มีข้อความNnnnม.ม.mn เมตรยังไม่มีข้อความยังไม่มีข้อความNnnnม.ม.m โดยเฉพาะอย่างยิ่งภายใต้ความสัมพันธ์ระหว่างและอัลกอริทึมของ Brzozowski มีประสิทธิภาพเหนือกว่าอัลกอริทึมของ Hopcroft หรือ Moore หรือไม่มnnnม.ม.m ฉันเคยได้ยินว่าในตัวอย่างทั่วไปในทางปฏิบัติ / แอปพลิเคชันอัลกอริทึมของ Brzozowski มีประสิทธิภาพเหนือกว่าผู้อื่น …

1
การแยกเอกซ์โพเนนเชียลระหว่าง NFA และ DFAs ต่อหน้าสหภาพ
เมื่อเร็ว ๆ นี้มีการถามคำถามที่น่าสนใจและถูกลบในภายหลัง สำหรับภาษาปกติความซับซ้อนของDFAคือขนาดของ DFA ขั้นต่ำที่ยอมรับและความซับซ้อนของNFAคือขนาดของ NFA ขั้นต่ำที่ยอมรับได้ เป็นที่ทราบกันดีว่ามีการแยกเอกซ์โพเนนเชียลระหว่างความซับซ้อนสองอย่างน้อยเมื่อขนาดของตัวอักษรไม่ได้ จำกัด จริง ๆ ลองพิจารณาภาษาแทนอักษรประกอบด้วยคำทั้งหมดที่ไม่มีสัญลักษณ์ทั้งหมด ใช้ Myhill-Nerode ทฤษฎีบทมันเป็นเรื่องง่ายในการคำนวณ DFA ซับซ้อน n ในทางกลับกันความซับซ้อนของ NFA เป็นเพียง (ถ้าอนุญาตเริ่มต้นหลายสถานะมิฉะนั้นจะเป็น )LLL { 1 , ... , n }LnLnL_n{ 1 , … , n }{1,…,n}\{1,\ldots,n\} n n + 12n2n2^nnnnn + 1n+1n+1 คำถามที่เกี่ยวข้องลบDFA ครอบคลุมความซับซ้อนของภาษาซึ่งเป็นน้อยที่สุดเช่นว่าสามารถเขียนเป็นสหภาพ (ไม่จำเป็นต้องเคลื่อน) ภาษาของความซับซ้อน DFA ที่มากที่สุดCความซับซ้อนครอบคลุม DFA …

3
ชุดความยาวของคำที่เป็นไปได้ในภาษาปกติมีอะไรบ้าง
ให้ภาษาLLLให้นิยามชุดความยาวของLLLเป็นชุดของความยาวของคำในLLL : L S (L)={ | คุณ | ∣u∈L}LS(L)={|ยู||ยู∈L}\mathrm{LS}(L) = \{|u| \mid u \in L \} ชุดจำนวนเต็มใดที่สามารถตั้งค่าความยาวของภาษาปกติได้

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

1
จำนวนภาษาปกติที่แตกต่างกัน
เมื่อได้รับตัวอักษรΣ={a,b}Σ={a,b}\Sigma = \{ a,b \}มีภาษาปกติที่แตกต่างกันจำนวนกี่ตัวที่สามารถยอมรับได้โดยnnn state non-deterministic เป็นตัวอย่างให้เราพิจารณาn=3n=3n=3 3 แล้วเรามี2182182^{18}การกำหนดค่าการเปลี่ยนแปลงที่แตกต่างกันและ23232^3ที่แตกต่างกันที่เริ่มต้นและสิ้นสุดการกำหนดค่าของรัฐเพื่อให้เราได้ผูกพันบนของ2242242^{24}ภาษาที่แตกต่างกัน อย่างไรก็ตามสิ่งเหล่านี้จะเทียบเท่าและเนื่องจากการทดสอบสำหรับ PSPACE-Complete จึงอาจไม่สามารถทดสอบแต่ละการตั้งค่าได้ มีวิธีการอื่นหรือข้อโต้แย้งแบบ combinatorial ซึ่ง จำกัด จำนวนภาษาที่แตกต่างกันซึ่งได้รับการยอมรับจากทรัพยากรที่ให้ไว้หรือไม่?

3
เหตุใดการลดขนาด NFA จึงเป็นปัญหายากเมื่อการย่อขนาด DFA ไม่ได้
ฉันรู้ว่าเราสามารถลด DFAs ได้ด้วยการค้นหาและผสานสถานะเทียบเท่า แต่ทำไมเราไม่ทำเช่นเดียวกันกับ NFA ฉันไม่ได้มองหาข้อพิสูจน์หรืออะไรแบบนั้น - เว้นแต่จะพิสูจน์ได้ง่ายกว่าที่จะเข้าใจ ฉันแค่ต้องการที่จะเข้าใจอย่างถ่องแท้ว่าเหตุใดการลดขนาด NFA จึงเป็นเรื่องยากเมื่อ DFA ย่อขนาดไม่

1
เครื่องทัวริงสามารถตัดสินใจได้หรือไม่ว่า NFA ยอมรับสตริงที่มีความยาวช่วงไพร์มหรือไม่?
ฉันต้องการทราบว่าปัญหาต่อไปนี้สามารถตัดสินใจได้: อินสแตนซ์: NFA A ที่มี n สถานะ คำถาม: มีจำนวนเฉพาะบางส่วนที่ p ยอมรับว่ามีความยาวของสตริงไหม ความเชื่อของฉันคือว่าปัญหานี้ไม่สามารถตัดสินใจได้ แต่ฉันไม่สามารถพิสูจน์ได้ decider สามารถมีอัลกอริธึมที่จะเข้าใจได้อย่างง่ายดายว่าตัวเลขใดมีความสำคัญ แต่ฉันไม่เห็นว่ามันจะสามารถวิเคราะห์ NFA ในรายละเอียดได้มากพอที่จะรู้ว่ามันสามารถสร้างความยาวเท่าใด มันสามารถเริ่มต้นการทดสอบสตริงด้วย NFA แต่สำหรับภาษาที่ไม่มีที่สิ้นสุดมันอาจไม่เคยหยุด (และไม่ได้เป็น decider) NFA สามารถเปลี่ยนเป็น DFA หรือนิพจน์ปกติได้อย่างง่ายดายหากโซลูชันต้องการแน่นอน คำถามนี้เป็นสิ่งที่ฉันได้ไตร่ตรองว่าเป็นคำถามเตรียมทำเองสำหรับรอบชิงชนะเลิศที่ฉันจะมาใน 2 สัปดาห์

1
ตรรกะลำดับที่สองแบบโมนาดิคสำหรับ Dummies
ฉันเป็นโปรแกรมเมอร์ที่มีการจับออโตมาตะ แต่ไม่ใช่ในเชิงตรรกะ ฉันอ่านในเอกสารว่าทั้งสองมีความสัมพันธ์กันแน่นมาก Finite Automata (DFA) ที่กำหนดอย่างชัดเจน Tree Automata และ Automatic Pushdown ที่มองเห็นได้ล้วนเกี่ยวข้องกับ Monadic Second Order Logic (MSO) แม้ว่าฉันจะเข้าใจออโตมาตะและผู้คน (ในเอกสาร) ได้พยายามอธิบายความสัมพันธ์กับ MSO ให้ฉันพวกเขามักจะมีพื้นฐานที่แข็งแกร่งในด้านตรรกะและความเข้าใจใน MSO เมื่อฉันดูหนังสือและหลักสูตรเกี่ยวกับลอจิกพวกเขาส่วนใหญ่จะจัดการกับลอจิกลำดับแรกเท่านั้นซึ่งดูเหมือนจะค่อนข้างง่ายและประกอบด้วยแนวคิดเพียงไม่กี่อย่าง: ตัวแปรหรือหรือและไม่ใช่นัยสำหรับทุกคนที่มีอยู่ ฯลฯ ใครสามารถอธิบายหรือชี้ให้ฉันไปยังทรัพยากรที่สามารถอธิบายได้: ตรรกะลำดับที่สองคืออะไรในทางตรงกันข้ามกับตรรกะลำดับแรก Monadic กับตรรกะที่ไม่ใช่ Monadic คืออะไร เหตุใดจึงเป็นสิ่งสำคัญที่ตรรกะลำดับที่สองที่จะเป็นแบบ monadic ที่จะตัดสินใจได้หรือทำไมคำถามนี้ผิด? เหตุใดจึงมีลอจิกลำดับที่สองที่เป็นเอกเทศ ความสัมพันธ์กับ DFA อย่างน้อย? ถ้ามันเป็นทรัพยากรมันคงจะดีถ้ามันถือว่าฉันเป็นโปรแกรมเมอร์ไม่ใช่นักตรรกวิทยา ซึ่งหมายความว่าฉันต้องการที่จะเข้าใจว่าฉันจะใช้มันเป็นรหัสเพราะจนกระทั่งแล้วคณิตศาสตร์ก็รู้สึกเหมือนเวทมนตร์ให้ฉัน;) ขอบคุณสำหรับความช่วยเหลือใด ๆ ที่คุณสามารถให้ฉัน ฉันจะขอบคุณมันจริงๆ

2
คำว่า“ การผลิต” นั้นมีความหมายเหมือนกันกับคำว่า“ กฎ” ในบริบทของวิทยาศาสตร์คอมพิวเตอร์อย่างไร
ฉันกำลังศึกษาภาษาทางการและระบบฐานการผลิต (ระบบฐานกฎ) และฉันสับสนเล็กน้อยว่าทำไมคำสองคำนี้ "การผลิต" และ "กฎ" หมายถึงสิ่งเดียวกันในบริบทมากมายในวิทยาการคอมพิวเตอร์ ในภาษาอังกฤษพวกเขาดูเหมือนจะไม่ได้หมายถึงสิ่งเดียวกัน ฉันไม่ใช่เจ้าของภาษา แต่ฉันรู้ว่ากฎหมายถึงสิ่งที่เราไม่ควรทำเมื่อพูดถึงผู้คนหรือสิ่งที่ซ้ำหลายครั้งจะให้ผลลัพธ์เดียวกันและเราบอกว่ามันทำงานได้ตามกฎบางอย่าง ( วิธีการทำงานที่กำหนดโดยโปรโตคอล / โพรซีเดอร์ที่เหมือนกันทุกครั้ง) การผลิตหมายถึงบางสิ่งที่แตกต่างออกไปอย่างสิ้นเชิง ... ขั้นตอนของสินค้าหรือซอฟท์แวร์ทางกายภาพที่กำลังทำ / ผลิตอยู่ การกระทำของการทำบางสิ่งบางอย่างทั้งทางกายภาพหรืองานศิลปะการเขียนการวาดภาพบางสิ่งบางอย่างที่ทำกับความสามารถทางร่างกายหรือจิตใจของใครบางคน เราบอกว่าสิ่งที่เฉพาะเจาะจงมีการผลิต อย่างไรก็ตามในวิทยาการคอมพิวเตอร์คำเหล่านี้ที่แสดงสิ่งที่แตกต่างอย่างสิ้นเชิงในภาษาอังกฤษหมายถึงสิ่งเดียวกันใน CS ข้อกำหนดนี้มีความคล้ายคลึงกันใน CS อย่างไร มีพจนานุกรมนิรุกติศาสตร์สำหรับวิทยาการคอมพิวเตอร์อยู่บ้างไหม พจนานุกรมที่บอกเราว่าคำศัพท์ทางวิทยาศาสตร์คอมพิวเตอร์เป็นอย่างไร BTW: ข้อเท็จจริงที่น่าสนใจ: ทั้งการผลิตและกฎไม่มีแท็กในไซต์ Stack Exchange นี้

3
จำเป็นหรือไม่ที่จะต้องกำหนดช่วงการเปลี่ยนภาพสำหรับตัวอักษรที่เป็นไปได้ทั้งหมดใน Deteriteic Automite
พรุ่งนี้เป็นการนำเสนอของฉันและฉันต้องการล้างแนวคิดของฉัน ... ฉันได้อ่านแล้วว่าใน DFA "สำหรับแต่ละรัฐควรกำหนดคำว่าสัญลักษณ์ (ตัวอักษร) ที่เป็นไปได้ทั้งหมด" สำหรับแต่ละรัฐกำหนดการเปลี่ยนสัญลักษณ์ที่เป็นไปได้ทั้งหมดที่บังคับใช้ใน DFA หรือไม่ หากไม่ใช่โปรดยกตัวอย่างหรือไม่

7
เราสามารถพูดได้ว่า DFA มีประสิทธิภาพมากกว่า NFA หรือไม่
ฉันเพิ่งเริ่มอ่านเกี่ยวกับทฤษฎีการคำนวณ ถ้าเราเปรียบเทียบว่าอันไหนมีพลังมากกว่า (ในการรับสาย) ทั้งคู่ก็เหมือนกัน แต่สิ่งที่เกี่ยวกับประสิทธิภาพ DFA จะถูกเปรียบเทียบอย่างรวดเร็วกับ NFA เนื่องจากมีเพียงหนึ่งขอบขาออกและจะไม่มีความคลุมเครือ แต่ในกรณีของ NFA เราต้องตรวจสอบทุกกรณีที่เป็นไปได้ & นั่นต้องใช้เวลาแน่นอน ดังนั้นเราสามารถพูดได้ว่า DFA มีประสิทธิภาพมากกว่า NFA หรือไม่ แต่สมองอีกส่วนหนึ่งของฉันก็กำลังคิดว่า NFA มีอยู่ในทางทฤษฎีเท่านั้นดังนั้นเราจึงไม่สามารถเปรียบเทียบประสิทธิภาพกับ DFA ได้

3
วิธีสร้าง DFA จากนิพจน์ทั่วไปโดยไม่ใช้ NFA
วัตถุประสงค์คือการสร้าง DFA จากนิพจน์ทั่วไปและการใช้ "การแปลงประสบการณ์ปกติ> NFA> การแปลง DFA" ไม่ใช่ตัวเลือก เราจะทำเช่นนั้นได้อย่างไร? ฉันถามคำถามนี้กับอาจารย์ของเรา แต่เขาบอกฉันว่าเราสามารถใช้สัญชาตญาณและปฏิเสธที่จะให้คำอธิบายใด ๆ ดังนั้นฉันอยากถามคุณ "exp ปกติ> NFA> การแปลง DFA" ไม่ใช่ตัวเลือกเนื่องจากการแปลงดังกล่าวใช้เวลานานในการแปลงนิพจน์ทั่วไปที่ค่อนข้างซับซ้อน ตัวอย่างเช่นสำหรับ regex "regex> NFA> DFA" ที่แน่นอนใช้เวลา 1 ชั่วโมงสำหรับมนุษย์ ฉันต้องแปลง regex เป็น DFA ในเวลาน้อยกว่า 30 นาที

3
NFA ใช้การเปลี่ยน epsilon อย่างไร
ในภาพด้านล่างฉันพยายามเข้าใจว่า NFA นี้ยอมรับอะไรกันแน่ สิ่งที่ฉันสับสนเป็นกระโดดที่q_0q 0ϵϵ\epsilonq0q0q_0 หากป้อนระบบจะย้ายไปที่ทั้งและ (สถานะยอมรับ) หรือไม่q 0 q 1000q0q0q_0 q1q1q_1 หากป้อนระบบจะย้ายไปที่ทั้งและหรือไม่q 1 q 2111q1q1q_1q2q2q_2 ระบบย้ายไปที่ (ยอมรับสถานะ) เท่านั้นหากไม่มีการป้อนข้อมูล (สตริงว่าง)?q1q1q_1

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

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