การย่อขนาด DFA หลายภาษา


10

ฉันสนใจ DFA ทั่วไปเล็กน้อย ตามปกติเรามีสถานะตั้งไว้Qอักษร จำกัด ΣΣ- ปฏิกิริยาที่กำหนดไว้ Q โดย δ:Q×ΣQและสถานะเริ่มต้น q0; แต่แทนที่จะใช้ชุดเทอร์มินัลทั่วไปเราเลือกครอบครัว(Ti)i1..n จากชุดย่อยของ Q. DFA หลายภาษาM เป็น tuple

(Q,Σ,δ,q0,(Ti))

และ LΣ ได้รับการยอมรับโดย M IFF L={sΣ|q0sTi} สำหรับบางคน i1..n. กำหนด(Li(M))i1..n เพื่อเป็นตระกูลของภาษาที่ M จำได้หากคุณต้องการ

ตกลงตอนนี้สำหรับคำถามของฉัน: ให้ครอบครัวภาษาปกติ (Li)i1..n ฉันต้องการค้นหา DFA แบบหลายภาษาขั้นต่ำ M ตามที่อธิบายไว้ข้างต้นเช่นว่า Li=Li(M) เพื่อทุกสิ่ง i1..n นั่นคือเช่นนั้น |Q|ถูกย่อให้เล็กสุดในทุกเครื่องดังกล่าว คำถามของฉันคือมีวิธีที่มีประสิทธิภาพที่รู้จักกันในการทำเช่นนี้อาจคล้ายกับทฤษฎีการลดขนาด DFA มาตรฐานหรือไม่? ในทางกลับกันมีหลักฐานว่าปัญหานี้อาจยากหรือไม่


7
สำหรับฉันแล้วดูเหมือนว่าอัลกอริธึมที่ใช้การปรับแต่งพาร์ติชันมาตรฐานแก้ไขเพื่อเริ่มต้นโดยการแบ่งพาร์ติชันชุดเริ่มต้นโดยระบุว่าพวกเขายอมรับ / ไม่ยอมรับสำหรับแต่ละชุดย่อยที่กำหนดหรือไม่ Ti มากกว่าสำหรับชุดเดียว Tควรทำงานทันที ทำไมถึงไม่ทำ? มันแยกคู่ของอเมริกาเมื่อพวกเขาต้องถูกแยกเท่านั้นดังนั้นมันยังคงสร้างการปรับแต่งที่หยาบที่สุดที่เป็นไปได้ของรัฐ
David Eppstein

1
การพิสูจน์ความคิดเห็นโดย @DavidEppstein นั้นง่ายหากคุณกำหนดความสัมพันธ์ที่เท่าเทียมกัน xy IFF xTiy สำหรับทุกคน iที่ไหน xTiyคือความสัมพันธ์ที่เท่าเทียมกันของ Myhill-Nerode จากนั้นคุณสามารถดำเนินการตามบรรทัดเดียวกับอัลกอริธึมการย่อขนาดมาตรฐาน
Shaull

ไม่ค่อยเข้าใจ คือคำตอบของปัญหานี้ในการค้นหา DFA ขั้นต่ำสุดของสหภาพ DFA ที่มี "การตั้งค่า" เดียวกันยกเว้นสถานะปลายทางที่แตกต่างกันแต่ละ DFA สำหรับ1..n? ยัง defn ของการรับรู้ของL={...}ดูเหมือนจะไม่สมเหตุสมผลเลยดูเหมือนว่าจะรวมสตริงและชุดของรัฐ
vzn

จุดที่ DavidEppstein และ Shaull ดูน่าสนใจฉันจะหาเวลาไปตามทฤษฎีบท Myhill-Nerode เมื่อฉันมีเวลาโน้มน้าวใจตัวเองว่าผลหารยังคงให้ออโตเมติกน้อย ในความเข้าใจย้อนหลังดูเหมือนชัดเจนเกินไป
gdmclellan

@ vzn: แน่นอนไม่ต้องการที่จะรวมกันเป็นภาษาของหุ่นยนต์เดิม; และTiอาจทับซ้อนกัน DFA หลายภาษาพร้อมภาษาA และ B ควรจะสามารถรายงานได้เช่นนั้น sAแต่ sB. ในส่วนของสัญกรณ์ที่ใช้ในการกำหนดการจดจำภาษาสัญลักษณ์จะถูกกำหนดโดยการขยายδ เพื่อ Σ-action on Q โดยกฎต่อไปนี้สำหรับทุกคน qQ,σΣ,sΣ: qσ=δ(q,σ),q(sσ)=(qs)σ.
gdmclellan

คำตอบ:


14

คำตอบสั้นๆ ให้ครอบครัวปกติของภาษาทั่วไปL=(Li)1inมีความหลากหลายที่ไม่เหมือนใครในการกำหนดตระกูลอัตโนมัติ

รายละเอียด . กรณีn=1สอดคล้องกับการก่อสร้างมาตรฐานและกรณีทั่วไปไม่แตกต่างกันมากในจิตวิญญาณ รับภาษาL และคำ u, ปล่อย u1L={vAuvL}. กำหนดความสัมพันธ์ที่เท่าเทียมกัน บน A โดยการตั้งค่า

uvfor each LL, u1L=v1L
ตั้งแต่ Liเป็นเรื่องปกติความสอดคล้องนี้มีดัชนี จำกัด นอกจากนี้มันเป็นเรื่องง่ายที่จะเห็นว่าแต่ละคนLi อิ่มตัวโดย และสำหรับแต่ละคน aA, uv หมายถึง uava. ให้เราแสดงโดย1 คำที่ว่างเปล่าและโดย [u] - คลาสของคำ u. ปล่อยAL=(Q,[1],,(Fi)1in) เป็นหลายหุ่นยนต์กำหนดขึ้นได้กำหนดไว้ดังนี้:
  1. Q={[u]uA},
  2. [u]a=[ua],
  3. Fi={[u]uLi}.

โดยการก่อสร้าง [1]uFi ถ้าและเพียงถ้า uLi และด้วยเหตุนี้ AL ยอมรับครอบครัว L. มันยังคงพิสูจน์ให้เห็นว่าALน้อยที่สุด จริง ๆ แล้วมันมีความหมายเชิงพีชคณิตน้อยที่สุด (ซึ่งแปลว่ามีจำนวนสถานะน้อยที่สุด) ปล่อยA=(Q,q,,(Fi)1in) และ A=(Q,q,,(Fi)1in)เป็นสองมัลติออโต มอร์ฟิซึ่มส์f:AA เป็นแผนที่ที่น่าสนใจจาก Q ไปยัง Q ดังนั้น

  1. f(q)=q,
  2. for 1in, f1(Fi)=Fi,
  3. for all uA and qQ, f(qu)=f(q)u.

Then for any accessible deterministic multi-automaton A accepting L, there is a morphism from A onto AL. To prove this, one first verifies that if qu1=qu2=q, then u1u2. Now f is defined by f(q)=[u] where u is any word such that qu=q. Then one can show that f satisfies the three required properties.

The end is a bit sketchy, let me know if you need more details.

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