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


10

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

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

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

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


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

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

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

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

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

คำตอบ:


14

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

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

u∼v⟺for each L∈L, u−1L=v−1L
ตั้งแต่ Liเป็นเรื่องปกติความสอดคล้องนี้มีดัชนี จำกัด นอกจากนี้มันเป็นเรื่องง่ายที่จะเห็นว่าแต่ละคนLi อิ่มตัวโดย ∼ และสำหรับแต่ละคน a∈A, u∼v หมายถึง ua∼va. ให้เราแสดงโดย1 คำที่ว่างเปล่าและโดย [u] ∼- คลาสของคำ u. ปล่อยAL=(Q,[1],⋅,(Fi)1⩽i⩽n) เป็นหลายหุ่นยนต์กำหนดขึ้นได้กำหนดไว้ดังนี้:
  1. Q={[u]∣u∈A∗},
  2. [u]⋅a=[ua],
  3. Fi={[u]∣u∈Li}.

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

  1. f(q−)=q−′,
  2. for 1⩽i⩽n, f−1(Fi′)=Fi,
  3. for all u∈A∗ and q∈Q, f(q⋅u)=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 q−⋅u1=q−⋅u2=q, then u1∼u2. Now f is defined by f(q)=[u] where u is any word such that q−⋅u=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.