เคล็ดลับแรกที่นี่คือการคิดว่าตารางการคูณเป็นตารางการเปลี่ยนแปลงของหุ่นยนต์กับแต่ละรัฐแสดงถึงตัวอักษรในตารางการคูณของคุณ แต่ไม่ต้องกังวลเกี่ยวกับการยอมรับ ดังนั้นตัวอักษรทางด้านซ้ายและในเนื้อความของตารางจึงถูกระบุ - มันจะแม่นยำกว่าถ้าเขียนเป็นแต่ฉันจะไม่ทำ ตัวอักษรด้านบนเป็นอินพุตAQa,Qข,Qค
จากนั้นสร้างหุ่นยนต์ (" " สำหรับการแปลง) สำหรับการคูณย้อนกลับโดยการแปลง :ATTA
ATaขคaaaคขคaขคขคa
ดังนั้นจะนำคุณเข้าสู่สถานะและในทำนองเดียวกันจะเข้าสู่สถานะของตามที่คุณทราบA ( a b c )คAT( c b a )aAT
อย่างไรก็ตามถือว่าคุณกำลังจากขวาไปซ้ายและเรายังคงต้องการจากซ้ายไปขวา ดังนั้นเคล็ดลับที่สองคือการย้อนกลับของหุ่นยนต์ (ไม่ใช่การคูณซึ่งเพิ่งจะได้รับเราก็เริ่มต้น) โดยการย้อนกลับลูกศรทั้งหมดซึ่งนำไปสู่หุ่นยนต์ที่ไม่ได้กำหนดตามตารางการเปลี่ยนแปลงด้านล่าง ด้วยชุดย่อยที่ระบุด้วยตัวอักษรตัดแบ่งเพื่อป้องกันไม่ให้ไก่เกาดังนั้นจึงเป็นจริงๆ (หวังว่าฉันเข้าใจถูกต้อง - ดูเหมือนว่าจะใช้ได้)ATATRค{ a , c }
ATRaขคขขคคa b c∅aข∅คขคa b ca b c∅ขขคaขคคขa b c∅คคaขคa b cขคa b c∅
คุณสามารถตีความได้ว่านี่เป็นหุ่นยนต์ที่ไม่สามารถกำหนดค่าได้โดยมีเพียงสามแถวด้านบนบรรทัดหรือรุ่นที่กำหนดด้วย 8 แถวทั้งหมด
ในที่สุดเครื่องจักรในการแก้ปัญหาคือหุ่นยนต์ครอสโปรดักต์ของและนั่นคือเพื่อทำพฤติกรรมการตัดกันของออโตสองตัว (เราไม่ต้องการใด ๆ มากกว่า). มีรัฐที่มีคู่เหมือนที่ ฟังก์ชันการเปลี่ยนแปลงรันและอย่างอิสระ สถานะเริ่มต้นเดียวเข้าสู่ภายใต้อินพุต , เป็นภายใต้อินพุต , ฯลฯ AATRA ×ATRATA ×ATR⟨ , ค⟩AATR⟨1,1⟩⟨a,a⟩a⟨b,b⟩b
การยอมรับสถานะในเวอร์ชั่นที่ไม่ใช่แบบกำหนดเองคือเป็นต้นในเวอร์ชั่นที่กำหนดขึ้นมาการยอมรับสถานะเป็นคู่ที่องค์ประกอบแรกคือของชุดองค์ประกอบที่สองเช่นหรือ\⟨a,a⟩∈⟨a,a⟩⟨b,bc⟩
A×ATRเพิ่มและตรวจสอบตามที่แสดงมีสถานะดังนั้นให้อภัยฉันถ้าฉันไม่เขียนรายละเอียด แต่เวอร์ชันที่ไม่ได้กำหนดไว้มีเพียงสถานะ25=3⋅8+110=3⋅3+1