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

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

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

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

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

State Transition Diagram –

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