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

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


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

2
ทำไมเครื่องจักรทัวริงที่มีขอบเขตเชิงเส้นจึงมีประสิทธิภาพมากกว่า Finite State Automata
ฉันอยู่ภายใต้ความประทับใจที่ว่าคอมพิวเตอร์ของเราซึ่งมีขอบเขต จำกัด ในท้ายที่สุดก็ไม่ได้มีประสิทธิภาพมากกว่า (ขนาดใหญ่เป็นพิเศษ) เครื่องจักรสถานะ จำกัด อย่างไรก็ตามเครื่องจักรทัวริงที่ถูก จำกัด ขอบเขตเชิงเส้นก็มี จำกัด เช่นกัน แต่ดูเหมือนว่าภาษาปกติเป็นส่วนย่อยที่ไม่เหมาะสมของภาษาตามบริบท เห็นได้ชัดว่าฉันขาดอะไรบางอย่างที่นี่ เกิดอะไรขึ้น?

1
เราสามารถตัดสินใจได้อย่างรวดเร็วว่า DFA ที่ให้มามีน้อยที่สุดหรือไม่
การ จำกัด ขอบเขตของออโตมาตา (DFAs) ที่ลดลงอย่างน้อยเป็นปัญหาที่ได้รับการศึกษาอย่างละเอียดในวรรณคดีและมีการเสนออัลกอริทึมหลายอย่างเพื่อแก้ปัญหาดังต่อไปนี้: ให้ DFA , คำนวณ DFA ที่สอดคล้องกัน{A} อัลกอริทึมส่วนใหญ่ทำงานในเวลาพหุนามAAA\mathscr{A}AA\mathscr{A} อย่างไรก็ตามฉันสงสัยว่าตัวแปรการตัดสินใจของปัญหานี้ - "ให้ DFA ,น้อยที่สุดหรือไม่" - สามารถแก้ไขได้อย่างมีประสิทธิภาพมากกว่าการคำนวณออโตเมติกน้อยที่สุด เห็นได้ชัดว่าสิ่งนี้สามารถทำได้อย่างมีประสิทธิภาพโดยการรันอัลกอริธึมการปรับแต่งพาร์ติชันของ Hopcroftแล้วตัดสินใจว่าทุกพาร์ติชันมีสถานะเดียวอย่างแม่นยำหรือไม่AAA\mathscr{A}AA\mathscr{A} ดังที่ Yuval Filmus แนะนำไว้ในคำตอบของเขาตัวแปร decidability สามารถแก้ไขได้เร็วขึ้นโดยใช้อัลกอริธึมมาตรฐาน น่าเสียดายที่ฉันไม่สามารถเห็นได้ว่า (ฉันหวังว่าฉันจะไม่พลาดจุดที่ชัดเจนที่นี่) Yuval ชี้ให้เห็นในความคิดเห็นที่นี่ว่าอัลกอริธึมที่รู้จักกันดีที่สุด (อย่างที่กล่าวข้างต้น) ทำงานในเวลาสำหรับตัวอักษรขนาดคงที่ ดังนั้นฉันจึงไม่เพียง แต่สนใจกำไรที่ได้รับอย่างมีนัยสำคัญทาง asymptotically ในขณะที่สิ่งเหล่านี้ดูเหมือนไม่น่าเป็นไปได้ สิ่งที่รบกวนจิตใจฉันมากที่สุดคือฉันไม่สามารถจินตนาการ "ทางลัด" ใด ๆ ที่อาจมาจากความจริงที่ว่าเราสนใจเพียงคำตอบใช่ไม่ใช่คำตอบ - ไม่ใช่แม้กระทั่งทางลัดที่ช่วยให้ประหยัดเวลาเล็กน้อยแบบไม่แสดงอาการ ฉันรู้สึกว่าอัลกอริธึมที่สมเหตุสมผลทุกอย่างที่ตัดสินใจลดจำนวนขั้นต่ำของ DFA นั้นจะต้องลดความเป็นจริงของ DFA ลงและดูว่ามีอะไรเปลี่ยนแปลงในระหว่างกระบวนการหรือไม่O(nlogn )O(nlog⁡n)\mathcal{O}(n …

4
FSA สามารถนับได้หรือไม่
นี่อาจเป็นคำถามที่งี่เง่า ดูเหมือนชัดเจนว่า FSA เนื่องจากมี จำกัด สามารถนับจำนวนสัญลักษณ์ในสตริงอินพุตได้จนถึงจำนวนที่ล้อมรอบด้วยจำนวนสถานะ แต่ตอนนี้สมมติว่าเราติดตั้ง FSA ด้วยความสามารถของเอาต์พุต (เช่นการพิมพ์) มันจะง่ายมากที่จะสร้างเครื่องจักรที่สามารถพิมพ์สัญลักษณ์หนึ่งตัวสำหรับแต่ละสัญลักษณ์ที่อ่านได้ จะนับว่าเป็นการนับหรือไม่ ถ้าไม่ทำไมล่ะ ในการวางไว้ในรูปของ FST แทน: ฉันคิดว่ามันเป็นไปไม่ได้ที่จะสร้าง FST ที่สามารถแมปสตริงของความยาวโดยพลการกับการแทนฐานสอง (เช่นตัวเลขในระบบเลขฐาน 2) ของความยาว แต่แน่นอนว่ามันไม่สำคัญที่จะสร้าง FST ที่สามารถแมปสตริงของความยาวตามอำเภอใจกับสตริงของ zeroes (หรืออัน) ที่มีความยาวเท่ากัน แต่นั่นอาจนับได้ว่านับไม่ได้หรือไม่เพราะสิ่งที่ FST กำลังทำอยู่กำลังสร้างการแสดงความยาวของอินพุต การเป็นตัวแทนที่ค่อนข้างแปลก แต่ก็ยังเป็นตัวแทนอยู่ใช่ไหม?

1
ไม่สามารถแปลงจาก NFA เป็น DFA
ฉันมีปัญหาง่ายๆในการทำ DFA ซึ่งรับอินพุตทั้งหมดที่เริ่มต้นด้วยตัวอักษรคู่ (aa, bb) หรือลงท้ายด้วยตัวอักษรคู่ (aa, bb), ให้เป็นชุดตัวอักษรของ ภาษาที่กำหนดΣ={a,b}Σ={a,b}\Sigma =\{a, b\} ฉันพยายามที่จะแก้ปัญหาในทางอ้อมโดย: การสร้างการแสดงออกปกติ ทำให้ NFA ที่สอดคล้องกัน ใช้การสร้าง powerset เพื่ออนุมาน DFA การลดจำนวนสถานะใน DFA ให้น้อยที่สุด ขั้นตอนที่ 1: การแสดงออกปกติสำหรับปัญหาที่กำหนดคือ (ท่ามกลางผู้อื่นนับไม่ถ้วน): ((aa|bb)(a|b)*)|((a|b)(a|b)*(aa|bb)) ขั้นตอนที่ 2: NFAสำหรับการแสดงออกที่กำหนดคือ: (ที่มา: livefilestore.com ) ในรูปแบบตาราง NFA คือ: State Input:a Input:b ->1 2,5 3,5 2 4 - 3 - 4 …

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

3
วิธีแปลง NFA ด้วยการวนรอบที่ซ้ำซ้อนเป็นนิพจน์ทั่วไป
ถ้าฉันเข้าใจถูกต้อง NFA มีพลังการแสดงออกเช่นเดียวกับการแสดงออกปกติ บ่อยครั้งที่การอ่านการแสดงออกปกติเทียบเท่าจาก NFA นั้นเป็นเรื่องง่าย: คุณแปลวัฏจักรเป็นดวงดาวทางแยกเป็นทางเลือกและอื่น ๆ แต่จะทำอย่างไรในกรณีนี้: [ แหล่งที่มา ] รอบที่ทับซ้อนกันทำให้มองเห็นสิ่งที่หุ่นยนต์นี้ยอมรับได้ยาก (ในแง่ของนิพจน์ทั่วไป) มีเคล็ดลับหรือไม่?

3
อัลกอริทึมสำหรับการลดขนาดออโตเมติกของ Moore
อัลกอริธึมของ Brzozowski สามารถขยายไปยังออโตเมตของมัวร์ได้ แต่ความซับซ้อนของเวลานั้นมีความซับซ้อนโดยทั่วไป มีอัลกอริธึมอื่น ๆ สำหรับการลดขนาดออโตเมติกให้เล็กที่สุดหรือไม่? อะไรคือเวลาทำงานของอัลกอริทึมเหล่านี้ถ้ามี?

2
DFA ที่เล็กที่สุดที่ยอมรับสตริงที่กำหนดและปฏิเสธสตริงที่กำหนดอื่น ๆ
ป.ร. ให้ไว้สองชุด, Bของสตริงมากกว่าตัวอักษรΣเราสามารถคำนวณที่เล็กที่สุดที่กำหนดขอบเขตของรัฐหุ่นยนต์ (DFA) Mเช่นว่า⊆ L ( M )และL ( M ) ⊆ Σ * ∖ B ?A,BA,BA,BΣΣ\SigmaMMMA⊆L(M)A⊆L(M)A \subseteq L(M)L(M)⊆Σ∗∖BL(M)⊆Σ∗∖BL(M) \subseteq \Sigma^*\setminus B กล่าวอีกนัยหมายถึงชุดตัวอย่างเชิงบวก สตริงทั้งหมดในAต้องได้รับการยอมรับจาก DFA Bหมายถึงชุดตัวอย่างเชิงลบ DFA ไม่ควรยอมรับสตริงในBAAAAAABBBBBB มีวิธีแก้ปัญหานี้หรือไม่อาจใช้เทคนิคการย่อขนาด DFAหรือไม่ ฉันนึกภาพได้ว่าการสร้างหุ่นยนต์คล้าย DFA ที่มีสถานะอยู่สามแบบ: ยอมรับสถานะปฏิเสธสถานะและ "ไม่สนใจ" (ข้อมูลใด ๆ ที่ลงท้ายด้วยสถานะ "ไม่สนใจ" สามารถยอมรับได้ หรือถูกปฏิเสธ) แต่เราสามารถหาวิธีที่จะลดสิ่งนี้ให้เป็น DFA สามัญได้หรือไม่? คุณอาจคิดว่านี่เป็นปัญหาของการเรียนรู้ DFA โดยให้ตัวอย่างที่เป็นบวกและลบ นี่คือแรงบันดาลใจจาก สนามกอล์ฟ …

2
มีการขยายส่วนขยายของสถานะออโตมาตะ จำกัด หรือไม่?
พิจารณาเครื่องจักรสถานะ จำกัด ตามปกติ แต่ทุก ๆ การเปลี่ยนแปลงมันยังสามารถอัพเดตตัวนับจำนวนเต็มโดยการเพิ่มหรือลบจำนวน พูดว่าฟังก์ชั่นการเปลี่ยนแปลงของรูปแบบ ย้ายไปที่สถานะใหม่pและเพิ่มkไปยังตัวนับโดยที่k ∈ Z (ดังนั้นkสามารถเป็นบวกลบหรือเป็นศูนย์) .δ( q, a ) = ( p , k )δ(Q,a)=(พี,k)\delta(q,a) = (p,k)พีพีpkkkk ∈ Zk∈Zk \in \mathbb{Z}kkk สตริงยอมรับได้หากสถานะสุดท้ายและค่าตัวนับอยู่ในโดยที่Fคือชุดคู่ของสถานะและค่าตัวนับที่แน่นอนFFFFFF รุ่นนี้เป็นที่รู้จักหรือไม่? ฉันไม่พบการอ้างอิงของส่วนขยายนี้โดยเฉพาะ

3
ฉันจะตรวจสอบว่า DFA เทียบเท่ากับ NFA ได้อย่างไร
ฉันเรียนรู้วิธีการแปลง NFA ให้เป็น DFA และฉันต้องการให้แน่ใจว่าฉันทำถูกต้อง เห็นได้ชัดว่าการกลับไปในทิศทางอื่นไม่ใช่เรื่อง ไม่มีใครรู้วิธีการตรวจสอบว่า DFA เทียบเท่ากับ NFA หรือไม่

1
Earley Parser สามารถสร้างเป็น parser fuzzy คล้ายกับ Levenshtein Automata Algo สำหรับ DFA ได้หรือไม่?
มีวิธีการแยกวิเคราะห์แบบคลุมเครือ (ยอมรับสตริงแม้มีความผิดพลาดในการแก้ไขระยะทางที่แน่นอน) ด้วย DFA และ Levenshtein Automata ที่สร้างขึ้นในเวลาทำงานของคำที่ป้อนเข้า สิ่งที่คล้ายกันสามารถทำได้ด้วยการแยกวิเคราะห์ Earley? ฉันพบว่ามันยากที่จะเข้าใจอัลกอริทึมให้ตอบคำถามนี้โดยลำพัง

2
วิธีการวัด 'ความเหมือน' ระหว่างไวยากรณ์ FSA หรือไม่
ฉันกำลังทำงานกับอัลกอริธึมการจับคู่รูปแบบที่สร้างออโตเมติกสถานะ จำกัด แบบวนรอบซึ่งยอมรับสตริงข้อความที่กำหนดและสตริงย่อยทั้งหมด อัลกอริทึม FSA กำลังทำงานบนการแสดงสัญลักษณ์ของสตรีมเพลง (เช่นข้อมูล MIDI) สตรีมเพลงได้รับการประมวลผลล่วงหน้าเพื่อแบ่งแต่ละเพลงออกเป็น 'ส่วน' ที่ไม่มีป้ายกำกับ FSA ถูกสร้างขึ้นสำหรับแต่ละกลุ่มในแต่ละเพลงถ้าฉันมีเพลงแต่ละแบ่งออกเป็นปีส่วนฉันจะมีn ⋅ Y FSAs แยกต่างหากnnnYYyn ⋅ yn⋅Yn \cdot y ฉันต้องการเปรียบเทียบ FSA ของแต่ละกลุ่มกับ FSA อื่น ๆ ในคลังข้อมูลของฉัน เป้าหมายสูงสุดคือการทำคลัสเตอร์ในพื้นที่ที่คล้ายคลึงกันและเกิดขึ้นกับ 'คลาส' ของเซ็กเมนต์ตามเมตริกการก่อสร้างที่คล้ายคลึงกัน ดังนั้นสิ่งที่น่าสนใจเป็นพิเศษคือไวยากรณ์ที่ FSA แต่ละรายการกำหนด (ที่สอดคล้องกันอย่างคร่าว ๆ ส่วนประกอบบางส่วนของเนื้อหาดนตรีในเซ็กเมนต์) มีเทคนิคที่อาจดีสำหรับการเปรียบเทียบสิ่งนี้ KL-divergence อยู่ในใจ (เช่นใช้เปรียบเทียบการกระจายข้ามสตริงที่เกี่ยวข้องกับ FSA ที่กำหนด) แม้ว่าอาจมีเทคนิคที่ดีกว่า / มีประสิทธิภาพมากกว่านี้หรือไม่? นอกจากนี้ยังต้องขออภัยหากคำถามนี้เป็นเพียง (1) ง่ายเล็กน้อยหรือ (2) …

4
ภาษาปกติไม่ได้รับการยอมรับจาก DFA ที่มีอย่างน้อยที่สุดสามรัฐ
อธิบายภาษาปกติที่ไม่สามารถยอมรับได้โดย DFA ใด ๆ ที่มีเพียงสามรัฐ ฉันไม่แน่ใจว่าจะเริ่มจากตรงไหนและสงสัยว่ามีใครให้คำแนะนำหรือคำแนะนำแก่ฉันได้บ้าง ฉันเข้าใจว่าบทแทรกสามารถใช้เพื่อพิสูจน์ภาษาไม่ปกติ แต่ในกรณีนี้ควรเป็นภาษาปกติ หากใครมีความคิดใด ๆ ก็จะได้รับการชื่นชม

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