Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

สร้าง Turing Machine สำหรับ L = {aibjck | i>j>k; k ≥ 1}

คำอธิบายปัญหา

ที่นี่เราจะดูวิธีสร้าง Turing machine สำหรับภาษา L = {AiBjCk | i > j > k; k ≥ 1} ดังนี้แสดงถึงภาษาประเภทหนึ่งที่เราจะใช้ตัวอักษรแค่สามตัวคือ a, b และ c w คือสตริง เช่นถ้า w = aaaaaabbbbccc Turing machine จะยอมรับมัน

เพื่อแก้ปัญหานี้ เราจะใช้วิธีการนี้: ก่อนอื่นเปรียบเทียบสององค์ประกิจโดยทำให้ A และ D เป็นองค์ประกอบเดียว หลังจากนั้นเปรียบเทียบ A และ D ถ้าจำนวน C มากกว่า |(A, D)| สตริงจะไม่被接受 ถ้า |D| > |A| แล้วก็ไม่被接受 มิฉะนั้นจะ被接受

State Transition Diagram

สร้าง Turing Machine สำหรับ L = {aibjck | i j k; k ≥ 1}