นิพจน์ปกติไวยากรณ์ปกติและออโตไฟไนต์ จำกัด เป็นเพียงสามรูปแบบที่แตกต่างกันสำหรับสิ่งเดียวกัน มีอัลกอริทึมในการแปลงจากสิ่งใด ๆ เป็นอื่น
เหตุผลพื้นฐานที่เรามีทั้งสามอย่างก็คือพวกมันถูกสร้างขึ้นอย่างอิสระด้วยชุดแรกของการเทียบเคียง (มีพิธีการอื่น ๆ อีกหลายอย่างเช่นกัน) ที่พิสูจน์แล้วโดย Kleene (ผลลัพธ์นี้หรือบางส่วนเรียกว่าทฤษฎีบทของ Kleene)
ดังนั้นในบริบทนั้นขึ้นอยู่กับว่าคุณต้องการเรียกใช้แบบจำลองแบบไหนพวกเขาทั้งหมดรู้จักหรือสร้างสตริงของภาษาปกติและในทางคณิตศาสตร์ในแง่นั้นก็ไม่มีความแตกต่าง
แน่นอนว่าบางครั้งรุ่นหนึ่งใช้งานง่ายกว่าอีกรุ่นหนึ่งสำหรับงานเฉพาะเนื่องจากรายละเอียดของพิธีการ นอกจากนี้วิธีที่พวกเขาทำงานในหัวของมนุษย์มักจะแตกต่างกันเล็กน้อยออโตมาตะ จำกัด "รู้สึก" เหมือนคอมพิวเตอร์นิพจน์ปกติ "รู้สึก" เหมือนคุณกำลังสร้างสายอักขระจากสตริงย่อยขนาดเล็กและไวยากรณ์ปกติ "รู้สึก" เหมือนไวยากรณ์แบบดั้งเดิมมากขึ้น ที่มาหรือการจำแนกประเภทของประโยคในภาษา (แปลกใจเมื่อคุณดูประวัติ)
เพื่อเปรียบเทียบทั้งสองลองนิยามมันกัน
นิพจน์ทั่วไป
ดังนั้นการแสดงออกปกติมีการกำหนดซ้ำดังนี้:
- ∅
- ε
- aa∈Σ
- AB
พร้อมกับความหมายบางอย่าง (เช่นวิธีที่เราตีความผู้ประกอบการเพื่อรับสาย) เราได้รับวิธีการสร้างสตริงจากภาษาปกติ
ไวยากรณ์ปกติ
(N,Σ,P,S∈N)NΣSPΣ∗P
ไวยากรณ์เชิงเส้นขวา
BCaε
- B→a
- B→aC
- B→ε
Grammars เชิงเส้นซ้าย
B→Ca
สิ่งที่ต้องไตร่ตรอง
ดังนั้นเมื่อดูคำจำกัดความเหล่านี้และเล่นกับพวกเราเราจะเห็นว่านิพจน์ทั่วไปดูเหมือนกฎการจับคู่หรือวิธีจัดการกับสตริงในแต่ละครั้ง
S
อย่างไรก็ตามสิ่งเหล่านี้กำลังทำสิ่งพื้นฐานเดียวกันและวิธีที่คุณดูอุปมาของฟังก์ชั่นของพวกเขานั้นขึ้นอยู่กับคุณ