Home    Previous page การสมมูลกันของออโตมาตาจำกัด Next page
การสมมูลกันของออโตมาตาจำกัด
ขณะนี้ เรารู้จักออโตมาตาจำกัดทั้งสามชนิดแล้วคือ ออโตมาตาจำกัดเชิงกำหนด ออโตมาตาจำกัดเชิงไม่กำหนด และออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- เราต้องการทราบว่า ออโตมาตาทั้งสามแบบ มีความสามารถในการยอมรับภาษาต่างกันหรือไม่ โดยพิจารณาการสมมูลกันของออโตมาตาทั้งสามแบบ
บทนิยาม ให้ M และ M' เป็นออโตมาตาจำกัดสองเครื่องใด ๆ เรากล่าวว่า M สมมูล (equivalent) กับ M' ก็ต่อเมื่อ L(M) = L(M')
ต่อไปเราจะแสดงว่าความสามารถในการยอมรับภาษาของเครื่องออโตมาตาทั้งสามแบบเหมือนกัน
ทฤษฎีบทการสมมูลกันของออโตมาตาจำกัดเชิงกำหนดกับออโตมาตาจำกัดเชิงไม่กำหนด
  1. สำหรับออโตมาตาจำกัดเชิงกำหนด M เราสามารถสร้างออโตมาตาจำกัดเชิงไม่กำหนด M' ที่สมมูลกับ M ได้
  2. สำหรับออโตมาตาจำกัดเชิงไม่กำหนด M' เราสามารถสร้างออโตมาตาจำกัดเชิงกำหนด M ที่สมมูลกับ M' ได้
พิสูจน์
  1. กำหนดให้ M = (Q, , , q0, F) เป็นออโตมาตาจำกัดเชิงกำหนดเครื่องหนึ่ง เราสร้างออโตมาตาจำกัดเชิงไม่กำหนดให้เหมือนกับ M โดยเปลี่ยนนิยาม เป็น ' ใหม่ดังนี้
    สร้าง M' = (Q, , ', q0, F) และ ': Q × 2Q โดยที่
    สำหรับแต่ละ q Q, a , '(q, a) = {(q, a)}
    เราจะแสดงได้ง่ายว่า L(M) = L(M')
  2. กำหนดให้ M' = (Q, , ', q0, F') เป็นออโตมาตาจำกัดเชิงไม่กำหนดเครื่องหนึ่ง เราสร้างออโตมาตาจำกัดเชิงกำหนด โดยนิยามสถานะใหม่ให้เป็นเซตของสถานะแทนที่จะเป็นสถานะเดี่ยวดังนี้
    สร้าง M = (2Q, , , {q0}, F) และ : 2Q × 2Q โดยที่
    • 2Q หมายถึงเซตของทุกสับเซตทั้งหมดที่เป็นไปได้ของ Q นั่นคือ 2Q = { A | A Q }
    • F = { A | A Q และ A F' }
    • สำหรับแต่ละ S 2Q และ a , ให้ (S, a) = '(q, a)
    เราจะแสดงว่า L(M') = L(M) โดยแสดงว่า L(M') L(M) และ L(M) L(M')
    1. ให้ w L(M') จะได้ว่า '(q0, w) F'
      ถ้า w = จะได้ว่า q0 F' หมายความว่า {q0} 2Q และ {q0} F' โดยนิยามการเป็นสมาชิกของเซต F เราได้ว่า {q0} F
      กล่าวคือ w = L(M)
      ถ้า w จะได้ w = a1...an โดยที่ ai เนื่องจาก w L(M') จะมีสถานะ q1, ..., qn Q โดยที่ qn F' และ (q0, a1a2...an ) (q1, a2...an ) ... (qn, )
      จะได้ว่า q1 '(q0, a1) แทนด้วย A1,
      q2 '(q1, a2) แทนด้วย A2
      ... qn '(qn-1, an) แทนด้วย An ซึ่งเป็นสับเซตของ Q
      เราพบว่าสถานะร่วมระหว่าง F' กับ An คือ qn ดังนั้น An F จากนิยามของ ที่ขยายมาจาก สำหรับ A1, ..., An
      ({q0}, a1) = '(q0, a1) = A1
      (A1, a2) = A2
      ... (An-1, an) = An
      สรุปได้ว่า ({q0}, w) = ({q0}, a1a2...an) (An, )
      จะได้ว่า M ยอมรับ w นั่นคือ L(M') L(M)
    2. ให้ w L(M)
      ถ้า w = จะได้ว่า ({q0}, w) ({q0}, ) จะได้ว่า {q0} F จากนิยาม {q0} F' เราต้องได้ว่า q0 F' สรุปได้ว่า w = L(M')
      ถ้า w จะได้ w = a1...an โดยที่ ai เนื่องจาก w L(M) จะมีสถานะ A1, ..., An 2Q โดยที่ An F และ ({q0}, a1a2...an ) (A1, a2...an ) ... (An, )
      นั่นคือ An Q และ An F'
      เราสามารถเลือกสถานะ q1 A1, ... , qn An ได้ที่ทำให้การแปลงสุดท้ายได้ qn F'
      สรุปได้ว่า (q0, w) = (q0, a1a2...an) (qn, ) โดยที่ qn F'
      จะได้ว่า M' ยอมรับ w นั่นคือ L(M) L(M')

จบการพิสูจน์
เราได้ว่ากลุ่มของภาษาที่ยอมรับโดยออโตมาตาจำกัดเชิงกำหนด กับกลุ่มของภาษาออโตมาตาจำกัดเชิงไม่กำหนดเป็นกลุ่มเดียวกัน
ตัวอย่างที่ 1 กำหนด M' = (Q', , , q0, F') โดยที่ Q' = {q0, q1}, = {0, 1} และ F' = {q1} เป็นออโตมาตาจำกัดเชิงไม่กำหนดเครื่องหนึ่ง ที่มีฟังก์ชันการผ่าน นิยามดังนี้
0 1
q0 {q0, q1} {q1}
q1 {q0, q1}
จงสร้างออโตมาตาจำกัดเชิงกำหนด M' ที่สมมูลกับ M โดยใช้วิธีการสร้างจากการพิสูจน์ของทฤษฎีบทการสมมูลกัน ของออโตมาตาจำกัดเชิงกำหนดกับออโตมาตาจำกัดเชิงไม่กำหนด
ทฤษฎีบทการสมมูลกันของออโตมาตาจำกัดเชิงไม่กำหนดกับออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย-
  1. สำหรับออโตมาตาจำกัดเชิงไม่กำหนด M เราสามารถสร้าง ออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- M' ที่สมมูลกับ M ได้
  2. สำหรับออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- M' เราสามารถสร้างออโตมาตาจำกัดเชิงไม่กำหนด M ที่สมมูลกับ M' ได้
พิสูจน์
  • กำหนดให้ M = (Q, , , q0, F) เป็นออโตมาตาจำกัดเชิงไม่กำหนดเครื่องหนึ่ง เราสร้างออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- ให้เหมือนกับ M โดยเปลี่ยนนิยาม เป็น ' ใหม่ดังนี้
    สร้าง M' = (Q, , ', q0, F) และ ': Q × ( {}) 2Q โดยที่
    สำหรับแต่ละ q Q, a , '(q, a) = (q, a) และ '(q, ) = {q}
    เราจะแสดงได้ง่ายว่า L(M) = L(M') และแผนภาพการผ่านของทั้งสองเครื่องจะเหมือนกัน
  • กำหนดให้ M' = (Q', , ', q0, F') เป็นออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- เครื่องหนึ่ง เราสร้างออโตมาตาจำกัดเชิงไม่กำหนดที่ไม่มีการย้าย พิจารณาว่า q0 ควรเป็นสถานะยอมรับหรือไม่ และกำจัดอาร์กที่มี กำกับอยู่โดยการเขียนอาร์กใหม่ดังนี้
    M = (Q', , , q0, F) โดยที่
    ถ้า -CL(q0) F' แล้ว ให้ F = F' {q0}
    ถ้า -CL(q0) F' = แล้ว ให้ F = F'
    และสำหรับแต่ละ p Q', a , S = -CL(p), ให้ (p, a) = '(q, a)
    เราจะแสดงว่า L(M') = L(M) โดยจะใช้แสดงว่า
    1. ทุก w *, ถ้า w แล้ว (q0, w) = '(q0, w)
    2. ทุก w *, (q0, w) F ก็ต่อเมื่อ '(q0, w) F'
  • ให้ w *, โดยที่ w จะใช้ อุปนัยเข้มบน | w |
    มูลฐานของการอุปนัย | w | = 1ได้ว่า w = a , (q0, a) = '(q0, a) และ '(q0, a) = '(q0, a) จึงได้ว่า (q0, a) = (q0, a) โดยพิจารณานิยามการขยายของ (q0, a) = '(q0, a)
    สมมติฐานของการอุปนัย สมมติว่า | w | > 1 และทุก x * ที่ | x | < | w | ถ้า x แล้ว (q0, x) = '(q0, x)
    ต้องการแสดงว่า (q0, w) = '(q0, w)
    จาก | w | > 1 เขียน w = xa โดยที่ | x | > 0 และ a จากสมมติฐานของการอุปนัยได้ (q0, x) = '(q0, x) = {p1, ..., pm}
    พิจารณา (q0, w) = (q0, xa) = (p1, a) ... (pm, a) = '(p1, a) ... '(pm, a) = '(q0, xa) = '(q0, w)
  • ให้ w *, สมมติว่า '(q0, w) F'
    ถ้า w = จะได้ว่า '(q0, w) = '(q0, ) = {q0} จึงได้ q0 F' ซึ่งจากนิยามของ F' เราอาจได้ q0 F หรือ q0 -CL(q0) F นำไปสู่ข้อสรุป (q0, w) F
    สมมติว่า w จะได้ w = xa สำหรับบาง x * และ a และ '(q0, w) = (q0, w)
    รวมกับสมมติฐานข้างต้นได้ว่า
    (q0, w) F'
    F' = F {q0}
    จะพิสูจน์โดยการขัดแย้ง ต้องการ (q0, w) F สมมติว่าไม่จริงนั่นคือ (q0, w) F = เราได้ว่า q0 ไม่อยู่ใน F และ q0 อยู่ใน (q0, w) ดังนั้น -CL(q0) F จะมี p -CL(q0) F และจาก w = xa q0 อยู่ใน (q0, w) จะได้ว่า p -CL(S) เมื่อ S คือยูเนียนของ (q, a) เมื่อ q เป็นสถานะที่ได้จาก q0 อ่าน x
    p (q0, w) F ซึ่งขัดแย้งกับที่สมมติว่า (q0, w) F = ที่สมมติไว้ไม่จริง
    ในทางกลับกัน สมมติว่า (q0, w) F
    ถ้า w = จะได้ว่า (q0, w) = -CL(q0) และ '(q0, w) = {q0} จากนิยามของ F' จะได้ F' = F {q0} และ '(q0, w) F'
    สมมติว่า w จะได้ '(q0, w) = (q0, w) และ F F' และ '(q0, w) F'

จบการพิสูจน์
เราได้ว่ากลุ่มของภาษาที่ยอมรับโดยออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- กับกลุ่มของภาษาออโตมาตาจำกัดเชิงไม่กำหนดเป็นกลุ่มเดียวกัน
ตัวอย่างที่ 2 กำหนด M = (Q, , , q0, F) เป็น ออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย- ที่มีแผนภาพการผ่านดังรูป

จงสร้างออโตมาตาจำกัดเชิงไม่กำหนด M' ที่สมมูลกับ M โดยใช้วิธีการสร้างจากการพิสูจน์ของทฤษฎีบทการสมมูลกัน ของออโตมาตาจำกัดเชิงไม่กำหนดกับออโตมาตาจำกัดเชิงไม่กำหนดที่มีการย้าย-

ทฤษฎีบท สมบัติของภาษาปกติ
ถ้า R 1 และ S 2 เป็นภาษาปกติแล้ว R S, RS, R*, * - R, R S เป็นภาษาปกติทั้งสิ้น
พิสูจน์ R S, RS, R*, เป็นภาษาปกติ (ชัดเจนจากนิยาม ของภาษาปกติ)

  • สำหรับ * - R เราทำดังนี้ จาก R เป็นภาษาปกติจะมีออโตมาตาจำกัดเชิงกำหนด M = (Q, , , q0, F) ที่ยอมรับ R
    สร้างออโตมาตาจำกัด M' = (Q, , , q0, F') ที่ยอมรับ * - R โดยปรับสถานะยอมรับเป็นสถานะปฏิเสธและ สถานะปฏิเสธเป็นสถานะยอมรับโดยที่ทุกสถานะต้องมีอาร์กที่มีสัญลักษณ์ใน ออกมาทุกตัว นั่นคือ F' = Q - F
    เราจะได้ว่า L(M') = * - R นั่นคือ * - R เป็นภาษาที่ยอมรับโดยออโตมาตาจำกัดเชิงกำหนด
    เราเขียนแทน * - R ด้วยนิพจน์ปกติได้
  • สำหรับ R S ที่ R * และ S *, เราทำดังนี้ จาก R เป็นภาษาปกติจะมีออโตมาตาจำกัดเชิงกำหนด M1 = (Q1, , 1, q(1)0, F1) ที่ยอมรับ R
    จาก S เป็นภาษาปกติจะมีออโตมาตาจำกัดเชิงกำหนด M2 = (Q2, , 2, q(2)0, F2) ที่ยอมรับ S
    สร้างออโตมาตา M = (Q, , , q0, F) ที่ยอมรับ R S ได้ดังนี้
    ให้ Q = Q1 × Q2, q0 = (q(1)0, q(2)0), F = F1 × F2
    สำหรับทุก (p, q) Q1 × Q2 และทุก a , ((p,q), a) = (1(p,a), 2(q,a))
    (หมายเหตุ ถ้า 1(p,a) ไม่มีค่าหรือ 2(q,a) ไม่มีค่าแล้ว ((p,q),a) ไม่มีค่าด้วย)
    จะได้ว่า L(M) = R S นั่นคือ R S เป็นภาษาที่ยอมรับโดยออโตมาตาจำกัดเชิงกำหนด ดังนั้น เราเขียนแทน R S ด้วยนิพจน์ปกติได้

จบการพิสูจน์
ตัวอย่างที่ 3 กำหนด R = L(0(10)*) และ S = L((01)*0) จงเขียนนิพจน์ปกติของ
  1. R S
  2. RS
  3. R*

Home | Previous | Next


© Copyright by กรุง สินอภิรมย์สราญ