มีวิธีอื่นในการอธิบายภาษาที่เป็นทางการนอกเหนือจากไวยากรณ์หรือไม่


22

ฉันกำลังมองหาทฤษฎีทางคณิตศาสตร์ที่เกี่ยวข้องกับการอธิบายภาษาทางการ (ชุดของสตริง) โดยทั่วไปและไม่ใช่แค่ลำดับชั้นของไวยากรณ์


หมายเหตุว่ามีหลายประเภทหลายไวยากรณ์เกินคนชัมคลาสสิกเช่นหลาย , คู่และระยะเวลาขึ้นอยู่กับไวยากรณ์บริบทฟรีตามลำดับ (googlable ง่าย)
Raphael

คำตอบ:


14

มีความเป็นไปได้มากมาย คนอื่น ๆ ได้พูดถึงออโตมาตะซึ่งมีให้เลือกมากมาย พิจารณากรอบงานต่อไปนี้เช่นกัน:

  1. บางภาษาสามารถกำหนดโดยตรง(ร่วม)คำจำกัดความอุปนัย ตัวอย่างเช่น fixpoint ที่เล็กที่สุดของ เป็นภาษาเดียวกับที่อธิบายโดย , fixpoint ที่ใหญ่ที่สุดคือก) โปรดทราบว่าคำจำกัดความดังกล่าวยังสามารถเขียนในรูปแบบกฎแคลคูลัสหรือการอนุมาน :
    (baa)(baa)ωa εLwLawLawLbawLa
    (baa)(baa)ω
    aε,waw,awbawa

  2. คำนิยามโครงสร้างคำที่สามารถใช้เป็นแบบจำลองของสูตรตรรกะได้ หลักทุกคำพูดที่กำหนดโดเมนของตำแหน่งของ , predicatesเพื่อให้สำหรับทุก , เพรดิเคตนั่นคือจากจำกัด ไว้ที่P : D { 0 , 1 } P ( ฉัน) W ฉัน = Σ < < N D WDw={1,,n}Pa:D{0,1}Pa(i)wi=aaΣ<<NDwและsuc:Dw×Dw{0,1}นั่นเป็นจริงถ้าหากพารามิเตอร์ตัวที่สองเป็นตัวตายตัวแทนโดยตรงของกำปั้น
    ดังนั้นสำหรับตัวอย่างเช่นถ้าแล้วw=aababaab
    ในความเป็นจริงนี้ลำดับแรกสูตรกำหนด --- ผ่านชุดของโครงสร้างคำที่ตอบสนองมัน --- ภาษาเดียวกับ(|)* ที่สอดคล้องω-language(|)ωอธิบายไว้โดยสูตร LTLaSwi.j. (Pb(i)  suc(i,j))¬Pb(j);a
    (baa)ω(baa)ω
    เทียบหลายภาษาระหว่างคลาสสิกคลาสสิกกับ logics บางอย่าง ยกตัวอย่างเช่นFOสอดคล้องกับดาราฟรีภาษาอ่อนแอMSOภาษาปกติและMSOเพื่อโอห์มภาษา -regular ดูที่นี่สำหรับการอ้างอิงa(Pb(¬Pb))a
    ω

  3. บางสิ่งบางอย่างตั้งฉากกับชั้นเรียนคลาสสิกเป็นภาษารูปแบบ สมมติตัวอักษรขั้วและตัวอักษรตัวแปรX = { x 1 , x 2 , ... } สตริงพี( Σ X ) +เรียกว่ารูปแบบ ให้H = { σ σ : X Σ }ชุดของการแทนที่ เรากำหนดภาษาของรูปแบบpเป็นΣX={x1,x2,}p(ΣX)+H={σσ:XΣ}p
    ทราบว่าσจะขยายไปยังการทำงานในรูปแบบ; สัญลักษณ์เทอร์มินัลจะไม่มีการเปลี่ยนแปลง เป็นตัวอย่างให้พิจารณาL(x1x1)={WW|W{,}*}aL(p)={σ(p)σH}.a
    σ
    L(x1abbax1)={wabbaww{a,b}}
    โปรดทราบว่าเราอนุญาตให้มีการแทนที่เพื่อลบตัวแปร คุณสมบัติบางอย่างของคลาสของรูปแบบภาษามีความแตกต่างกันอย่างมากสำหรับการลบกับการแทนที่ที่ไม่ใช่การลบ ภาษารูปแบบที่มีความสนใจเป็นพิเศษในการเรียนรู้ทองสไตล์


5

คุณควรมีลักษณะที่ทฤษฎีออโต มีเนื้อหามากมายเกี่ยวกับเรื่องนี้

ตัวอย่างเช่นคุณอาจกำหนดภาษาปกติด้วยหุ่นยนต์ จำกัด nondeterministicพร้อมขอบที่มีป้ายกำกับ: สตริงเป็นของภาษาหากหุ่นยนต์สามารถติดตามการเปลี่ยนที่กำกับด้วยอักขระและหยุดอยู่ในสถานะสุดท้าย

นอกจากนี้ไวยากรณ์บริบทฟรีอาจได้รับการยอมรับโดยหุ่นยนต์ที่ขยายลง

วิธีการกำหนดภาษาก็คือโดยวิธีการของเครื่องทัวริง


5

จากลำดับชั้นของชัมสกีมีภาษาทางการสี่ประเภท (แต่ละภาษาเป็นส่วนย่อยของภาษาหลังจากนั้น):

ภาษาอย่างเป็นทางการปกติสามารถอธิบายได้ด้วย:

  1. ไวยากรณ์ปกติ
  2. Finite Automaton (Deterministic / Nondeterministic)
  3. การแสดงออกปกติ

1. , 2. และ 3. เทียบเท่าและจากหนึ่งในนั้นคุณสามารถสร้างคนอื่น ๆ

ภาษาทางการที่ไม่มีบริบทสามารถอธิบายได้โดย:

  1. ไวยากรณ์ที่ไม่มีบริบท
  2. หุ่นยนต์กดลง

นอกจากนี้ 1 และ 2 เทียบเท่ากัน

บริบทภาษาอย่างเป็นทางการสามารถอธิบายได้ด้วย:

  1. หุ่นยนต์ที่มีขอบเขต จำกัด เชิงเส้น (เครื่องทัวริงกับเทป จำกัด )

ภาษาอย่างเป็นทางการนับซ้ำสามารถอธิบายได้ด้วย:

  1. เครื่องทัวริงรวม

และทุกชั้นเรียนภาษาอื่น ๆ ?
Raphael

และภาษาไร้ชนชั้น?
Dave Clarke

ชัมสกีไม่ได้พูดว่าภาษาเหล่านี้เป็นภาษาประเภทเดียว - พวกเขาเป็นเพียงสี่ประเภทที่เขาพบว่ามีความสำคัญและเรายังคงพบว่ามันมีความสำคัญ แต่ก็มีอีกหลายประเภท
reinierpost

5

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

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