Foundationপ্রথম নীতি থেকে
LEVEL 13 · Theory & Research

Halting Problem

হল্টিং প্রবলেম

প্রশ্ন — একটা প্রোগ্রাম M ইনপুট w-তে চালালে থামবে কি না, তা যেকোনো (M, w) জোড়ার জন্য সবসময়-সঠিক সিদ্ধান্ত দেওয়ার কোনো সাধারণ algorithm নেই। Diagonalization দিয়ে প্রমাণিত — গণনার তত্ত্বের একক সবচেয়ে গুরুত্বপূর্ণ ফলাফল।

also: HALT, halting problem

HALT = {⟨M, w⟩ : M input w-তে থামে}। প্রমাণ diagonalization দিয়ে — একটা কাল্পনিক decider H ধরে নিয়ে, H-কে subroutine হিসেবে ব্যবহার করে একটা self-referential মেশিন D বানানো, যেখানে D(⟨D⟩)-এর যেকোনো সম্ভাব্য আচরণ H-এর predict-এর সরাসরি বিপরীত — দ্বন্দ্ব, তাই H থাকতে পারে না।

HALT Turing-recognizable (চালিয়ে দেখে “থামে” বলা যায়) কিন্তু decidable নয় (“থামে না” নিশ্চিতভাবে বলার কোনো উপায় নেই — অপেক্ষা চিরকাল চলতে পারে)।

ব্যবহারিক পরিণতি — কোনো antivirus নিখুঁতভাবে malware চিনতে পারে না, কোনো compiler নিখুঁতভাবে infinite loop ধরতে পারে না। পরের লেসনগুলোর সব undecidability প্রমাণ (reduction, Rice’s theorem) এই একটা ফলাফলের উপর দাঁড়িয়ে।