কোনও টুরিং মেশিনের হোল্টগুলি অনস্বীকার্য হিসাবে সুপরিচিত কিনা তা নির্ধারণ করা, তবে সহজ মেশিনগুলির জন্য এটি প্রয়োজনীয় নয়।
একটি ফু মেশিন একটি সীমাবদ্ধ টেপযুক্ত একটি মেশিন, যেখানে টেপের প্রতিটি কক্ষে একটি পূর্ণসংখ্যা বা থামার চিহ্ন থাকে h
, যেমন
2 h 1 -1
নির্দেশের পয়েন্টারটি প্রথম কক্ষে নির্দেশ করে শুরু হয়:
2 h 1 -1
^
প্রতিটি পদক্ষেপে, নির্দেশ পয়েন্টারটি যে সংখ্যাটি দেখায় তার দ্বারা এগিয়ে যায়, তারপরে সেই সংখ্যাটিকে তুচ্ছ করে। সুতরাং, এক ধাপ পরে, এটা এগিয়ে যাবে 2
কোষ, এবং চালু 2
একটি মধ্যে -2
:
-2 h 1 -1
^
নির্দেশ পয়েন্টারটি থামার প্রতীকটির দিকে নির্দেশ না করা পর্যন্ত Foo মেশিন এটি করে চলে h
। সুতরাং, এই প্রোগ্রামটির সম্পূর্ণ সম্পাদন এখানে:
2 h 1 -1
^
-2 h 1 -1
^
-2 h -1 -1
^
-2 h -1 1
^
-2 h 1 1
^
টেপটিও বিজ্ঞপ্তিযুক্ত, সুতরাং যদি নির্দেশ পয়েন্টারটি টেপের একপাশে চলে যায় তবে এটি অন্য দিকে চলে যায়, যেমন:
3 h 1 3
^
-3 h 1 3
^
-3 h 1 -3
^
-3 h -1 -3
^
-3 h -1 3
^
3 h -1 3
^
এই ফু মেশিনগুলির একটি আকর্ষণীয় বিষয় হ'ল কিছু কিছু থামে না, যেমন:
1 2 h 2
^
-1 2 h 2
^
-1 -2 h 2
^
-1 -2 h -2
^
-1 2 h -2
^
-1 2 h 2
^
এই প্রোগ্রামটি চিরকালের জন্য শেষ চারটি রাজ্যে লুপিং অবিরত করবে।
সুতরাং, এমন একটি প্রোগ্রাম লিখুন যা নির্ধারণ করে যে কোনও ফু মেশিন বন্ধ রয়েছে কিনা! আপনি ফু মেশিনগুলির জন্য আপনার পছন্দ মতো (যুক্তিসঙ্গত) ইনপুট ফর্ম্যাট ব্যবহার করতে পারেন এবং আপনি 0
থামার প্রতীক হিসাবে ব্যবহার করতে পারেন । যেখানে থমকে থাকে এবং যেখানে ঘটে না সেই ক্ষেত্রে আপনি দুটি স্বতন্ত্র আউটপুট ব্যবহার করতে পারেন। আপনার প্রোগ্রাম অবশ্যই অবশ্যই সমস্ত বৈধ ইনপুটগুলির জন্য সীমাবদ্ধ সময়ের একটি উত্তর আউটপুট করে।
এটি কোড-গল্ফ , তাই আপনার প্রোগ্রামটি যতটা সম্ভব সংক্ষিপ্ত করার চেষ্টা করুন!
পরীক্ষার মামলা
2 h 1 -1
Halts
3 h 1 3
Halts
h
Halts
1 1 1 1 h
Halts
2 1 3 2 1 2 h
Halts
3 2 1 1 4 h
Halts
1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 h -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36
Halts
2 h
Does not halt
1 2 h 2
Does not halt
8 1 2 3 3 4 8 4 3 2 h
Does not halt
1 2 4 3 h 2 4 5 3
Does not halt
3 1 h 3 1 1
Does not halt
1 2 h 42
Does not halt
1 2 h 42
(থামবে না)
3 2 1 1 4 h
। এইটি থামায় তবে উপাদানগুলির সংখ্যার দ্বিগুণ চেয়ে বেশি পুনরাবৃত্তি প্রয়োজন।
1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 h -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36
যা 78646464৩০ পদক্ষেপের পরে থামে।