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

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

1
มีวิธีทดสอบว่า NFA สองแห่งยอมรับภาษาเดียวกันหรือไม่
หรืออย่างน้อยก็สร้างชุดของสตริงที่ NFA หนึ่งยอมรับดังนั้นฉันสามารถป้อนลงใน NFA อื่นได้ หากฉันค้นหาทุกเส้นทางของ NFA จะสามารถใช้งานได้หรือไม่ ถึงแม้ว่าจะใช้เวลานาน

2
เครื่องมือแก้เขาวงกตสายตาสั้นที่เหมาะสมที่สุด
ฉันหลงกลไปกับการสาธิตเขาวงกตของ Google Blockyและจดจำกฎเดิม ๆ ว่าหากคุณต้องการแก้ปัญหาเขาวงกตเพียงแค่ถือมือซ้ายไว้กับกำแพง มันใช้งานได้สำหรับเขาวงกตที่เชื่อมต่อง่าย ๆ และสามารถใช้งานได้โดยตัวแปลงสัญญาณไฟไนต์ จำกัด ให้หุ่นยนต์ของเราเป็นตัวแทนของทรานสดิวเซอร์โดยดำเนินการดังต่อไปนี้และสิ่งที่สังเกตได้: การดำเนินการ: ไปข้างหน้า ( ) เลี้ยวซ้าย ( ← ) เลี้ยวขวา ( → )↑↑\uparrow←←\leftarrow→→\rightarrow สิ่งที่สังเกตได้: กำแพงข้างหน้า ( ), ไม่มีกำแพงข้างหน้า ( ⊤ )⊥⊥\bot⊤⊤\top จากนั้นเราสามารถสร้างช่างแก้ตัวทางซ้ายมือเป็น (อภัยรูปวาดขี้เกียจของฉัน): การเห็นสิ่งที่สังเกตได้จะทำให้เราติดตามสถานะที่เหมาะสมออกไปจากรัฐในขณะดำเนินการกระทำที่เกี่ยวข้องกับขอบนั้น หุ่นยนต์นี้จะแก้เขาวงกตที่เชื่อมต่อทั้งหมดแม้ว่ามันอาจจะใช้เวลาหลังจากการตาย เราเรียกว่าหุ่นยนต์อื่นดีกว่าAถ้า:BBB AAA ใช้ขั้นตอนเพิ่มเติมอย่างเคร่งครัดในจำนวน จำกัด เท่านั้นเขาวงกตและBBB ใช้ขั้นตอนน้อยลงอย่างเคร่งครัด (โดยเฉลี่ยสำหรับตัวแปรที่น่าจะเป็น) กับจำนวนเขาวงกตที่ไม่ จำกัดBBB คำถามสองข้อของฉัน: มีหุ่นยนต์ จำกัด ที่ดีกว่าที่วาดไว้ข้างต้นหรือไม่? จะเกิดอะไรขึ้นถ้าเรายอมให้ตัวแปลงสัญญาณที่น่าจะเป็น มีหุ่นยนต์ จำกัด …

1
การกลับรายการของ DFA ขั้นต่ำนั้นน้อยที่สุดหรือไม่
คำถามนั้นค่อนข้างมากในชื่อเรื่อง มีช่วงเวลาที่ภาษาสามารถยอมรับได้โดย DFA น้อยที่สุดกับ state หรือไม่ แต่การกลับรายการของสามารถรับได้โดย DFA กับ states โดยที่ ?LLLnnnLRLRL^RLLLม.mmm &lt; nm&lt;nm<n

4
NFA ที่มีจำนวนสถานะเป็นเลขชี้กำลังเมื่อมีการกระจายออก
ฉันจะสร้างตัวอย่างของ DFA ที่มีสถานะโดยที่ NFA ที่เทียบเท่ามี state ได้อย่างไร เห็นได้ชัดว่าชุดสถานะของ DFA ควรมีชุดย่อยทั้งหมดของชุดสถานะของ NFA แต่ฉันไม่รู้ว่าจะเริ่มอย่างไร ข้อเสนอแนะใดที่จะทำให้ฉันในการติดตามที่ถูกต้อง?2n2n2^nnnn

1
Finite Automata ที่ไม่สามารถกำหนดค่าได้ ตัวอย่าง Sipser 1.16
ฉันกำลังทำงานผ่าน Sipser Book (ฉบับที่ 2) และพบกับตัวอย่างนี้ซึ่งฉันไม่เข้าใจ ในหนังสือเล่มนี้มันระบุว่า NFA นี้ยอมรับสตริงว่าง\εϵ\epsilon มีใครบางคนที่จะช่วยให้ฉันรู้ว่าทำไมถึงเป็นเช่นนั้น ความเข้าใจของฉันคือจะย้ายไปที่ซึ่งไม่ใช่สถานะที่ยอมรับได้εϵ\epsilonQ3q3q_3

3
เงื่อนไขสำหรับอนันต์ของภาษาของออโตเมติก จำกัด
มีทฤษฎีบทที่บอกว่า: ให้ออโตเมติก จำกัด มี state หากมีสตริงที่ความยาวตรงกับดังนั้นภาษาที่ยอมรับโดยหุ่นยนต์จะไม่มีที่สิ้นสุดnnnwwwn≤|w|≤2n−1n≤|w|≤2n−1n \leq |w| \leq 2n-1 ฉันเข้าใจข้อ จำกัดแต่ฉันไม่เข้าใจว่าทำไมข้อ จำกัดอยู่ที่นั่น|w|≥n|w|≥n|w| \geq n|w|≤2n−1|w|≤2n−1|w| \leq 2n-1

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

3
DFA สำหรับการยอมรับสตริงไบนารีทั้งหมดของรูปแบบพลังงานของ (ไม่หารด้วย ) คือสำหรับกำหนด
เราสามารถสร้างการยอมรับ DFA เลขฐานสองหารด้วยnnnn ตัวอย่างเช่น DFA ที่ยอมรับเลขฐานสองหารด้วย 2 สามารถเกิดขึ้นได้ดังนี้: ในทำนองเดียวกัน DFA ที่รับเลขฐานสองหารด้วย 3 สามารถเกิดขึ้นได้ดังนี้: เราสามารถทำตามขั้นตอนที่กำหนดไว้อย่างดีเพื่อจัดทำ DFA ประเภทนี้ อย่างไรก็ตามสามารถมีขั้นตอนที่กำหนดไว้ได้ดีหรือดีกว่าที่จะบอกว่าตรรกะสำหรับการสร้าง DFAs ยอมรับจำนวนรูปแบบnknkn^k ? ยกตัวอย่างเช่นให้เราพิจารณา DFA ยอมรับตัวเลขทั้งหมดของรูปแบบ k ภาษานี้จะเป็นจึงมี regex * เราสามารถสร้าง DFA ได้ดังต่อไปนี้: 2k2k2^k{1,10,100,1000,...}{1,10,100,1000,...}\{1,10,100,1000,...\}10∗10∗10^* ฉันลองสร้าง DFA เป็นเวลาและสิ่งที่คล้ายกันใช่ไหม แต่ก็ไม่สามารถที่จะทำเช่นนั้น หรือจะเป็นเพียงว่ารูปแบบของเทียบเท่าไบนารีซึ่งทำให้มันเป็นไปได้ที่จะสร้าง DFA และเราไม่สามารถสร้างการยอมรับ DFA เลขฐานสองทุกรูปแบบสำหรับเฉพาะ ?3k3k3^k2n2n2^nnknkn^knnn

1
การไม่กำหนดในเครื่องทัวริงที่ไม่ได้มีการกำหนดค่าแตกต่างจากเครื่องออโต้ จำกัด และการกดออโตมาต้าหรือไม่?
ให้รับสายป้อนเป็น W1W2. . .Wnw1w2...wnw_1w_2...w_n. จากนั้นหาก NFA อยู่ในสถานะปัจจุบันRrr (และอ่านตัวอักษรได้ไม่เกินตัว Wผมwiw_i ) จากนั้นก่อนที่จะอ่านสัญลักษณ์อินพุตถัดไป NFA จะแยกเป็นสอง NFA หนึ่งอันอยู่ในสถานะ Rrr และสิ่งมีชีวิตอื่น ๆ sssหากมีการเปลี่ยนประเภท R→εsr→ϵsr \xrightarrow{\epsilon} s. หากมีรอบประเภทR→εs→εQ1. . . .→εQk→εRr→ϵs→ϵq1....→ϵqk→ϵrr \xrightarrow{\epsilon} s \xrightarrow{\epsilon} q_1....\xrightarrow{\epsilon} q_k \xrightarrow{\epsilon} rที่ไหน Qผมqiq_i คือบางสถานะของ NFA ดังนั้นจึงไม่มีประโยชน์ในการจดจำ NFA อื่นในสถานะ Rrr จนถึงจุดที่อินพุตถูกอ่านจนถึงตัวอักษร Wผมwiw_i. หาก PDA (ไม่กำหนดค่า) อยู่ในสถานะRrr (และอินพุตจะอ่านจนถึง Wผมwiw_i ) และมีวงจรอยู่ …

1
อะไรคือความสัมพันธ์ระหว่างเครื่องจักรทัวริงกับเทป จำกัด และ Automite State Automata?
ฉันดูเหมือนจะจำได้จากชั้นเรียนระดับปริญญาตรีว่าสำหรับเครื่องทัวริงที่มีเทป จำกัด จะมี Finite State Automata ที่เกี่ยวข้องเสมอ แต่ฉันไม่สามารถหาสิ่งนี้ได้รับการยืนยันทุกที่บนอินเทอร์เน็ต นี่เป็นกรณีจริงหรือฉันเข้าใจผิดหรือไม่?

4
อัลกอริทึมที่ดีสำหรับการสร้าง DFA แบบสุ่มคืออะไร
ฉันกำลังสร้าง DFA แบบสุ่มเพื่อทดสอบอัลกอริทึมการลด DFA กับพวกเขา อัลกอริทึมที่ฉันใช้ตอนนี้มีดังนี้: สำหรับแต่ละรัฐ Qqqสำหรับแต่ละสัญลักษณ์ในตัวอักษร คccเพิ่ม δ( q, c )δ(q,c)\delta (q, c)เพื่อบางรัฐสุ่ม แต่ละรัฐมีความน่าจะเป็นเหมือนกันในการเป็นรัฐสุดท้าย นี่เป็นวิธีที่ดีในการสร้าง DFA ที่เป็นกลางหรือไม่? นอกจากนี้อัลกอริทึมนี้ไม่ได้สร้างการตัดแต่ง DFA (DFA ที่ไม่มีสถานะล้าสมัย) ดังนั้นฉันสงสัยว่าถ้ามีวิธีที่ดีกว่าในการสร้างการสุ่ม DFAs ที่สามารถมั่นใจได้ว่าการตัดแต่งนั้นเป็นอย่างไร

1
ความแตกต่างระหว่างภาษาที่ DFA สองภาษายอมรับซึ่งมีสถานะเริ่มต้น / รัฐที่ยอมรับแตกต่างกันอย่างไร
เมื่อเร็ว ๆ นี้ฉันถามคำถามเกี่ยวกับ Math SE ยังไม่มีคำตอบ คำถามนี้เกี่ยวข้องกับคำถามนั้น แต่รายละเอียดทางเทคนิคเพิ่มเติมเกี่ยวกับวิทยาการคอมพิวเตอร์ รับ DFAsสองและโดยที่ชุดของรัฐตัวอักษรอินพุตและฟังก์ชันการเปลี่ยนแปลงของและเหมือนกันสถานะเริ่มต้นและสถานะสุดท้าย (การยอมรับ) อาจแตกต่างกัน ให้และเป็นภาษาที่และยอมรับตามลำดับA=(Q,Σ,δ,q1,F1)A=(Q,Σ,δ,q1,F1)A = (Q, \Sigma, \delta, q_1, F_1)B=(Q,Σ,δ,q2,F2)B=(Q,Σ,δ,q2,F2)B = (Q, \Sigma, \delta, q_2, F_2)AAABBBL1L1L_1L2L2L_2AAABBB มีสี่กรณี: q1=q2q1=q2q_1 = q_2และF_2F1=F2F1=F2F_1 = F_2 q1≠Q2q1≠q2q_1 \neq q_2และF_2F1=F2F1=F2F_1 = F_2 Q1=Q2q1=q2q_1 = q_2และF_2F1≠F2F1≠F2F_1 \neq F_2 Q1≠Q2q1≠q2q_1 \neq q_2และF_2F1≠F2F1≠F2F_1 \neq F_2 คำถามของฉันคือ อะไรคือข้อแตกต่างระหว่างและ ในกรณีที่ 2, …

3
หากไม่มีบริบทและเป็นปกติดังนั้นจะไม่มีบริบทหรือไม่
ฉันกำลังติดการแก้แบบฝึกหัดถัดไป: ยืนยันว่าหากคือบริบทฟรีและเป็นปกติแล้ว (เช่นความฉลาดทางขวา ) ไม่มีบริบทLLLRRRL/R={w∣∃x∈Rs.twx∈L}L/R={w∣∃x∈Rs.twx∈L}L / R = \{ w \mid \exists x \in R \;\text{s.t}\; wx \in L\} ฉันรู้ว่ามีควรมีอยู่ PDA ที่ยอมรับและ DFA ที่ยอมรับRตอนนี้ฉันกำลังพยายามรวมออโตมาตะเหล่านี้เข้ากับพีดีเอที่ยอมรับความฉลาดทางขวา ถ้าฉันสามารถสร้างสิ่งที่ฉันพิสูจน์ได้ว่านั้นปราศจากบริบท แต่ฉันกำลังสร้าง PDA นี้อยู่LLLRRRL/RL/RL/R นี่คือสิ่งที่ฉันทำ: ใน PDA ที่รวมสถานะเป็นผลิตภัณฑ์คาร์ทีเซียนของสถานะของออโตมาตาแยก และขอบเป็นขอบของ DFA แต่จะมีเพียงอันเดียวเท่านั้นซึ่งในอนาคตสถานะสุดท้ายของ PDA ดั้งเดิม L สามารถเข้าถึงได้ แต่ไม่รู้จะเขียนมันอย่างไรอย่างเป็นทางการ

4
คำที่มีผลทางขวาและทางซ้ายเหมือนกัน
ฉันได้เริ่มต้นในการศึกษาออกำหนดไม่ใช่ใช้หนังสือของHopcroft และ Ullman ฉันติดอยู่ในปัญหาที่ฉันพบว่าน่าสนใจมาก: ให้ออโตเมทริก จำกัด ที่ไม่ได้กำหนดค่าไว้ให้ยอมรับสตริงทั้งหมดที่มีค่าเท่ากันเมื่อประเมินจากซ้ายไปขวาเป็นจากขวาไปซ้ายโดยการคูณตามตารางต่อไปนี้: ×abcaacbbaacccba×abcaaacbcabcbca\qquad \displaystyle\begin{array}{c|ccc} \times & a & b & c \\ \hline a & a & a & c \\ b & c & a & b \\ c & b & c &a \end{array} ดังนั้นหากเรามีสตริง , สินค้าจากซ้ายไปขวาคือและ ผลิตภัณฑ์จากขวาไปซ้ายคือขcabcabc( a × b ) × …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.