Turing စက်သည် 1936 ခုနှစ်တွင် Alan Turing မှ မိတ်ဆက်ခဲ့သော သီအိုရီပိုင်းဆိုင်ရာ တွက်ချက်မှုပုံစံတစ်ခုဖြစ်သည်။ ၎င်းတွင် ဆဲလ်များအဖြစ် အကန့်အသတ်မရှိ ရှည်လျားသောတိပ်တစ်ခု၊ တိပ်တစ်လျှောက် ရွေ့လျားနိုင်သည့် စာဖတ်/ရေးခေါင်းနှင့် စက်၏အပြုအမူကို ဆုံးဖြတ်ပေးသည့် ထိန်းချုပ်ယူနစ်တို့ ပါဝင်ပါသည်။ . တိပ်သည် အစပိုင်းတွင် ဗလာဖြစ်ပြီး၊ စက်သို့ထည့်သွင်းမှုကို သီးခြားထည့်သွင်းသည့်တိပ်တစ်ခုပေါ်တွင် ပေးထားသည်။ တွက်ချက်မှု၏ output ကို output tape ပေါ်တွင်ရေးထားသည်။
လုပ်ဆောင်ချက်တစ်ခုကို တွက်ချက်ရန်အတွက် Turing စက်သည် ပရိုဂရမ်တစ်ခုဟုခေါ်သော ညွှန်ကြားချက်အစုံကို လိုက်နာသည်။ ပရိုဂရမ်သည် စက်၏ လက်ရှိအခြေအနေနှင့် တိပ်မှဖတ်သည့် သင်္ကေတကို အခြေခံ၍ မည်သို့ပြုမူသင့်သည်ကို သတ်မှတ်ပေးသည်။ စက်သည် ကနဦးအခြေအနေတွင် စတင်ပြီး အောက်ပါအဆင့်များကို ထပ်ခါတလဲလဲ လုပ်ဆောင်သည်။
1. Read- စက်သည် ဖတ်/ရေး ခေါင်းအောက်ရှိ သင်္ကေတကို ဖတ်သည်။
2. လုပ်ငန်းစဉ်- လက်ရှိအခြေအနေနှင့် ဖတ်ရှုထားသည့် သင်္ကေတကို အခြေခံ၍ စက်သည် တိပ်ပေါ်တွင် ရေးရမည့် နောက်ထပ်အခြေအနေနှင့် သင်္ကေတကို ဆုံးဖြတ်သည်။
3. ရွှေ့ခြင်း- စက်သည် ဖတ်/ရေး ခေါင်းကို ဆဲလ်တစ်ခုအား ဘယ် သို့မဟုတ် ညာဘက်သို့ ရွှေ့သည်။
4. ပြန်လုပ်ပါ- စက်သည် အဆင့် 1 သို့ပြန်သွားပြီး ရပ်တန့်သည့်အခြေအနေသို့ရောက်သည်အထိ ဆက်လက်လုပ်ဆောင်ပါ။
အဝင်တိပ်၏ အခန်းကဏ္ဍမှာ တွက်ချက်မှုအား ထည့်သွင်းရန် ဖြစ်သည်။ ထည့်သွင်းသည့်တိပ်ကို တွက်ချက်မှုအတွင်း စက်ကဖတ်သည့် input သင်္ကေတများဖြင့် ကနဦးထည့်သွင်းထားသည်။ ထည့်သွင်းသည့်တိပ်သည် ဖတ်ရှုရန်သာဖြစ်ပြီး၊ ဆိုလိုသည်မှာ စက်သည် ၎င်း၏အကြောင်းအရာများကို မွမ်းမံပြင်ဆင်နိုင်မည်မဟုတ်ပေ။
အထွက်တိပ်၏ အခန်းကဏ္ဍမှာ တွက်ချက်မှု၏ အထွက်ကို သိမ်းဆည်းရန် ဖြစ်သည်။ စက်သည် input သင်္ကေတများကို လုပ်ဆောင်သည်နှင့်အမျှ အလိုရှိသော output ကိုထုတ်လုပ်ရန် အထွက်တိပ်ပေါ်တွင် သင်္ကေတများကို ရေးသားနိုင်သည်။ အထွက်တိပ်သည် ရေးရန်သာဖြစ်သည်၊ ဆိုလိုသည်မှာ စက်သည် ၎င်းထံသို့သာ စာရေးနိုင်ပြီး ၎င်း၏အကြောင်းအရာများကို မဖတ်နိုင်ဟု ဆိုလိုသည်။
Turing စက်၏ လုပ်ဆောင်ချက်များကို တွက်ချက်နိုင်စွမ်းသည် စည်းကမ်းအစုံအရ တိပ်ပေါ်ရှိ သင်္ကေတများကို ကိုင်တွယ်နိုင်မှုအပေါ် အခြေခံသည်။ ဤစည်းမျဉ်းများသည် စက်အား ဂဏန်းသင်္ချာဆိုင်ရာ လုပ်ဆောင်မှုများ၊ ယုတ္တိဗေဒဆိုင်ရာ လုပ်ဆောင်မှုများနှင့် အခြားတွက်ချက်မှုများကို လုပ်ဆောင်နိုင်စေပါသည်။ ဤစည်းမျဉ်းများကို လိုက်နာခြင်းဖြင့်၊ Turing စက်သည် မည်သည့် algorithmic တွက်ချက်မှုကိုမဆို တုပနိုင်သည်။
ဥပမာအားဖြင့်၊ ဂဏန်းနှစ်လုံး၏ပေါင်းလဒ်ကိုတွက်ချက်သော Turing စက်ကိုစဉ်းစားပါ။ ထည့်သွင်းတိပ်တွင် အထူးသင်္ကေတဖြင့် ပိုင်းခြားထားသော နံပါတ်နှစ်ခုပါရှိသည်။ စက်သည် input သင်္ကေတများကိုဖတ်ပြီး အပိုလုပ်ဆောင်မှုကိုလုပ်ဆောင်ကာ ရလဒ်ကို output tape တွင်ရေးပေးမည်ဖြစ်သည်။
Turing စက်သည် ပရိုဂရမ်တစ်ခုမှ သတ်မှတ်ထားသော ညွှန်ကြားချက်အစုံကို လိုက်နာခြင်းဖြင့် လုပ်ဆောင်ချက်တစ်ခုကို တွက်ချက်သည်။ အဝင်တိပ်သည် တွက်ချက်မှုအား သွင်းအားကို ထောက်ပံ့ပေးပြီး အထွက်တိပ်သည် တွက်ချက်မှု၏ အထွက်ကို သိမ်းဆည်းသည်။ စက်သည် တွက်ချက်မှုများကို လုပ်ဆောင်ရန် တိပ်ပေါ်ရှိ သင်္ကေတများကို စီမံပေးကာ မည်သည့် အယ်လ်ဂိုရီသမ် တွက်ချက်မှုကို အတုယူနိုင်စေမည်နည်း။
အခြား လတ်တလောမေးခွန်းများနှင့် အဖြေများ တွက်ချက်မှုဆိုင်ရာလုပ်ဆောင်ချက်များကို:
- Turing Machines ၏ မတူညီသော ကွဲပြားမှုများသည် တွက်ချက်မှုစွမ်းရည်နှင့် ညီမျှစေရန် ဘာကိုဆိုလိုသနည်း။
- တွက်ချက်နိုင်သော လုပ်ဆောင်ချက်နှင့် ၎င်းကို တွက်ချက်နိုင်သော Turing စက်တည်ရှိမှုကြား ဆက်နွယ်မှုကို ရှင်းပြပါ။
- တွက်ချက်နိုင်သော လုပ်ဆောင်ချက်ကို တွက်ချက်သည့်အခါ Turing စက်၏ အဓိပ္ပါယ်မှာ အဘယ်နည်း။
- လုပ်ဆောင်ချက်တစ်ခုကို အမြဲလက်ခံရန် Turing စက်ကို ပြုပြင်မွမ်းမံနိုင်ပါသလား။ ဘာ့ကြောင့်လဲ၊ ဘာ့ကြောင့်လဲ ဆိုတာ ရှင်းပြပါ။
- ကွန်ပြူတာဆိုင်ရာ ရှုပ်ထွေးမှုသီအိုရီအရ ကွန်ပြူတာလုပ်ဆောင်နိုင်သော လုပ်ဆောင်မှုဆိုသည်မှာ အဘယ်နည်း၊ ၎င်းကို မည်သို့သတ်မှတ်သနည်း။