হ্যালটিং সমস্যাটি কেন এত গুরুত্বপূর্ণ?


149

আমি বুঝতে পারি না যে প্রোগ্রামিং থামছে কিনা তা নির্ধারণের সম্ভাবনাটি খারিজ করার জন্য হ্যালটিং সমস্যাটি প্রায়শই কেন ব্যবহৃত হয়। উইকিপিডিয়া [নিবন্ধ] [1] সঠিকভাবে ব্যাখ্যা করেছে যে সসীম মেমরির সাথে একটি ডিস্ট্রিমেন্টিক মেশিন হয় পূর্ববর্তী অবস্থার পুনরায় থামবে বা পুনরাবৃত্তি করবে। আপনি কোনও অ্যালগরিদম ব্যবহার করতে পারেন যা সনাক্ত করে যে কোনও লিঙ্কযুক্ত তালিকা হে (1) এর স্পেস জটিলতায় হ্যালটিং ফাংশনটি বাস্তবায়নের জন্য লুপ করে কিনা।

আমার কাছে মনে হচ্ছে যে হ্যালটিং সমস্যা প্রমাণ লিয়ারের প্যারাডক্সের মতো একইভাবে তথাকথিত "প্যারাডক্স", একটি স্ব-রেফারেন্সিং (খুব কম চক্রযুক্ত) দ্বন্দ্ব ছাড়া আর কিছুই নয়। এটি কেবলমাত্র উপসংহারে আসে যে হ্যালটিং ফাংশন এই জাতীয় ত্রুটিযুক্ত প্রশ্নের জন্য সংবেদনশীল।

সুতরাং, প্যারাডোক্সিকাল প্রোগ্রামগুলি বাদ দিয়ে হ্যালটিং ফাংশনটি নির্ধারিত। তাহলে কেন আমরা এটিকে বিপরীতে প্রমাণ হিসাবে ধরে থাকি?

4 বছর পরে : যখন আমি এটি লিখেছিলাম, আমি সবেমাত্র এই ভিডিওটি দেখেছি । একজন প্রোগ্রামার কিছু প্রোগ্রাম পান, কোনটি শেষ হবে তা নির্ধারণ করতে হবে এবং ভিডিওটি কেন তা অসম্ভব তা ব্যাখ্যা করতে চলেছে। আমি হতাশ ছিলাম, কারণ আমি জানতাম যে কিছু কিছু স্বেচ্ছাসেবী কর্মসূচি দেওয়া হয়েছিল, নায়করা তাদের সমাপ্তি বাতিল করেছিল কিনা তা প্রমাণ করতে পারে এমন কিছু সম্ভাবনা ছিল। সাধারণতার ধারণাটি একরকম হারিয়ে গেল। "কিছু প্রোগ্রামের সমাপ্তি প্রমাণিত হতে পারে না", এবং "কোনও প্রোগ্রাম সমাপ্ত করার পক্ষে প্রমাণিত হতে পারে না" বলার মধ্যে পার্থক্য রয়েছে। অনেক অ্যালগরিদম আনুষ্ঠানিকভাবে এটি প্রদর্শিত হয়। আমি আলাদাভাবে খুঁজে পাওয়া প্রতিটি একক রেফারেন্সের দ্বারা এই পার্থক্য তৈরি করতে ব্যর্থতা হ'ল আমি কীভাবে এই প্রশ্নের শিরোনামে এসেছি। এই কারণে, আমি উত্তরটির সত্যই প্রশংসা করি যা থামানো ফাংশনটিকে বুলেটিনের পরিবর্তে টের্নারি হিসাবে পুনরায় সংজ্ঞা দেয়।


16
"সীমাবদ্ধ মেমরির সাথে একটি ডিস্ট্রিমেন্টিক মেশিন" "বিরক্তিকর" কারণ এটি একটি সসীম অটোমেটনের চেয়ে কিছুই নয়; এগুলি সাধারণভাবে মডেলিং গণনার জন্য কার্যকর নয়। যেমন থামার সমস্যা রয়েছে: এটি কোনও ফাংশনের জন্য একটি নির্দিষ্ট উদাহরণ যা (টিউরিং) গণনাযোগ্য নয়। আপনি যদি অ-গঠনমূলক প্রমাণ দিয়ে সন্তুষ্ট হন তবে আপনার এটির "প্রয়োজন" হবে না। যদিও এর এখনও historicalতিহাসিক প্রাসঙ্গিকতা রয়েছে।
রাফায়েল

16
এটি বলেছিল, আপনার প্রশ্নটি অসতর্কিত হিসাবে আসে। আপনি কম্পিউটারে সামঞ্জস্য তত্ত্বের মৌলিক বিষয়গুলি সম্পর্কে ধারণা পেতে চাইতে পারেন (যা আপনার স্বজ্ঞাকে চ্যালেঞ্জ জানাবে যা বাস্তবতার দ্বারা অবহিত করা হয়েছে, সেখানে আলোচিত মডেলগুলি নয়)। একটি সূচনা জন্য আমাদের রেফারেন্স প্রশ্ন দেখুন । যদি আপনার আরও "প্রমাণ" প্রয়োজন হয় যে আপনার স্বজ্ঞাততা (তত্ত্ব যতদূর যায়) মারাত্মক ত্রুটিযুক্ত, তবে এই প্রশ্নটি পড়ুন
রাফায়েল

12
"আপনি কোনও অ্যালগরিদম ব্যবহার করতে পারেন যা সনাক্ত করে যে কোনও লিঙ্কযুক্ত তালিকা ও (1) এর স্পেস জটিলতায় হ্যালটিং ফাংশন বাস্তবায়নের জন্য লুপ করেছে কিনা" - তবে আপনি যদি 2 জিবি স্টোরেজ সহ কম্পিউটারের সমস্যার সমাধান করতে চান তবে আপনার প্রয়োজন হবে 2 ^ 2000000000 পদক্ষেপ এবং একটি বড় কম্পিউটার।
ব্যবহারকারী 2357112

11
অনেক দিন আগে আমি বন্ধুর সাথে বন্ধ হয়ে যাওয়া সমস্যাটির সাথে আড্ডা দিচ্ছিলাম এবং কাছাকাছি বসে থাকা কেউ জিজ্ঞাসা করেছিল "থামার সমস্যাটি কী, এটি কি গুরুত্বপূর্ণ?" এবং আমার বন্ধু তার দিকে ফিরে বললেন এবং "যদি আমরা থামার সমস্যাটি সমাধান করতে পারি তবে আমরা মেঘের উপরে শহর তৈরি করতে পারতাম"। এটা সত্য.
ফ্রান্সিস ডেভি

8
@ এমরি দাবিটি শূন্যভাবে সত্য: P => Qযে কোনও প্রশ্নাবলীর পক্ষে সত্য, যদি আমরা জানি যে Pএটি মিথ্যা (এবং আমরা জানি যে হাল্টিং সমস্যা সমাধানযোগ্য নয়)। ফ্রান্সিস ঠিক পাশাপাশি বলতে পারতেন "যদি আমরা থামার সমস্যাটি সমাধান করতে পারি তবে আমরা নিজেই মৃত্যুর নিরাময়ের সন্ধান করতে পারি"। লজিক্যাল ইমপ্লিকেশনটি সংজ্ঞায়িত করার উপায় এটি।
amalloy

উত্তর:


217

কারণ বাস্তবিক বাস্তব সমস্যাগুলি ছদ্মবেশে থামানো সমস্যা। তাদের একটি সমাধান স্থগিত হওয়া সমস্যার সমাধান করে।

আপনি এমন একটি সংকলক চান যা কোনও প্রদত্ত প্রোগ্রামের জন্য দ্রুততম মেশিন কোডটি খুঁজে পায়? আসলে থামার সমস্যা।

আপনার কাছে জাভাস্ক্রিপ্ট রয়েছে, উচ্চতর সুরক্ষার স্তরে কিছু ভেরিয়েবল এবং কিছুটি নিম্ন সুরক্ষা স্তরে। আপনি নিশ্চিত করতে চান যে কোনও আক্রমণকারী উচ্চ সুরক্ষা তথ্য পেতে না পারে। এটিও কেবল থামার সমস্যা।

আপনার প্রোগ্রামিং ভাষার জন্য পার্সার রয়েছে। আপনি এটি পরিবর্তন করেছেন, তবে আপনি এটি নিশ্চিত করতে চান যে এটি এখনও ব্যবহৃত সমস্ত প্রোগ্রামগুলিকে পার্স করে। আসলে থামার সমস্যা।

আপনার একটি অ্যান্টি-ভাইরাস প্রোগ্রাম রয়েছে এবং আপনি এটি দেখতে চান যে এটি কখনও কোনও দূষিত নির্দেশ কার্যকর করে কিনা। আসলে শুধু থামার সমস্যা।

উইকিপিডিয়া উদাহরণ হিসাবে, হ্যাঁ, আপনি একটি সীমাবদ্ধ-রাষ্ট্র মেশিন হিসাবে একটি আধুনিক কম্পিউটার মডেল করতে পারেন। তবে এটি নিয়ে দুটি সমস্যা আছে।

  1. প্রতিটি কম্পিউটারে র‌্যামের বিটের সঠিক সংখ্যার উপর নির্ভর করে একটি আলাদা অটোমেটন হবে। সুতরাং কোনও নির্দিষ্ট কোডের পরীক্ষা করার জন্য এটি দরকারী নয়, যেহেতু অটোমেটানটি মেশিনটিতে চালিত করতে পারে তার উপর নির্ভরশীল।

  2. আপনার যদি র‌্যামের এন বিট থাকে তবে আপনার states রাষ্ট্রের প্রয়োজন । সুতরাং আপনার আধুনিক 8GB কম্পিউটারের জন্য, যে । এটি এত বড় একটি সংখ্যা যে ওল্ফ্রাম আলফা এমনকি এর ব্যাখ্যা কীভাবে জানেন না। আমি যখন do করি তখন এটি বলবে যে এর দশমিক সংখ্যা রয়েছে। এটি একটি সাধারণ কম্পিউটারে সঞ্চয় করার জন্য স্পষ্টতই অনেক বড়।2 32000000000 2 10 92n2320000000002109300000000

হ্যালটিং সমস্যাটি আমাদের অ্যালগোরিদমের আপেক্ষিক অসুবিধা সম্পর্কে যুক্তি দেয়। এটি আমাদের জানতে দেয় যে কিছু অ্যালগরিদম রয়েছে যা অস্তিত্বহীন, যা কখনও কখনও, আমরা যা করতে পারি তা হ'ল কোনও সমস্যা অনুমান করা এবং আমরা কখনই এটি সমাধান করেছি কিনা তা জানতে পারি না।

আমাদের যদি থামার সমস্যা না ঘটে, আমরা এখনও হিলবার্টের যাদুকরী অ্যালগরিদম অনুসন্ধান করব যা উপপাদ্যগুলিকে ইনপুট দেয় এবং সেগুলি সত্য কিনা না তা আউটপুট দেয়। এখন আমরা জানি যে আমরা সন্ধান বন্ধ করতে পারি, এবং আমরা এই সমস্যাগুলি সমাধানের জন্য হিরিস্টিকস এবং দ্বিতীয় সেরা পদ্ধতির সন্ধানে আমাদের প্রচেষ্টা চালিয়ে যেতে পারি।

আপডেট: কেবল মন্তব্যে উত্থাপিত কয়েকটি বিষয়কে সম্বোধন করার জন্য।

@ টাইলার ফ্লেমিং ক্লাউটিয়ার: "অযৌক্তিক" সমস্যাটি এই প্রমাণে উত্থাপিত হয়েছে যে থামানো সমস্যা অনস্বীকার্য, তবে অনিবার্যতার মূল বিষয়টি আসলে একটি সীমাহীন অনুসন্ধানের জায়গা রয়েছে। আপনি কোনও প্রদত্ত সম্পত্তি সহ কোনও বস্তুর সন্ধান করছেন, এবং যদি এটির অস্তিত্ব না থাকে, আপনি কখন সম্পন্ন করেছেন তা জানার উপায় নেই।

কোনও সমস্যার অসুবিধাগুলি এটির পরিমাণের পরিমাণের সাথে সম্পর্কিত হতে পারে। একটি স্বেচ্ছাসেবী সম্পত্তি সহ একটি অবজেক্টের উপস্থিতি (show ) রয়েছে তা দেখানোর চেষ্টা করে , আপনাকে খুঁজে না পাওয়া পর্যন্ত আপনাকে অনুসন্ধান করতে হবে। যদি কারও অস্তিত্ব না থাকে তবে এটি জানার উপায় নেই (সাধারণভাবে)। প্রমাণিত যে সমস্ত বস্তুর ( ) একটি সম্পত্তি রয়েছে তা শক্ত, তবে আপনি সম্পত্তিটিকে অস্বীকার করার জন্য কোনও জিনিস অনুসন্ধান করতে পারেন। পোড়ামাল এবং অস্তিত্বের মধ্যে যত বেশি বিকল্প রয়েছে, সমস্যাটি তত কঠিন।

এ সম্পর্কে আরও তথ্যের জন্য, পাটিগণিত শ্রেণিবিন্যাস দেখুন । উপরে যে কিছুই , যদিও স্তর 1 আধা-নির্ধারণযোগ্য।Σ00=Π00

হ্যালটিং সমস্যা বা লায়ার্স প্যারাডক্সের মতো অযৌক্তিক প্যারাডক্স ব্যবহার না করেই অনস্বীকার্য সমস্যা রয়েছে তা দেখাও সম্ভব। একটি ট্যুরিং মেশিন বিটের স্ট্রিং, অর্থাত্ কোনও পূর্ণসংখ্যার সাহায্যে এনকোড করা যায়। তবে কোনও সমস্যা ভাষা হিসাবে এনকোড করা যায়, অর্থাত্ পূর্ণসংখ্যার একটি উপসেট। এটি পরিচিত যে পূর্ণসংখ্যার সেট এবং পূর্ণসংখ্যার সমস্ত সাবসেটের সেটের মধ্যে কোনও দ্বিধা নেই। সুতরাং কিছু সমস্যা (ভাষা) থাকতে হবে যার সাথে সম্পর্কিত টিউরিং মেশিন নেই (অ্যালগরিদম)।

@ ব্রেন্ট: হ্যাঁ, এটি স্বীকৃতি দেয় যে এটি আধুনিক কম্পিউটারগুলির জন্য নির্ধারিত। তবে এটি একটি নির্দিষ্ট মেশিনের জন্য নির্ধারণযোগ্য। আপনি যদি ডিস্কের স্থান সহ কোনও ইউএসবি ড্রাইভ, বা কোনও নেটওয়ার্কে সঞ্চয় করার ক্ষমতা বা অন্য যে কোনও কিছু যুক্ত করেন তবে মেশিনটি বদলে গেছে এবং ফলাফলটি এখনও ধারণ করে না।

এটি আরও বলতে হবে যে অনেক সময় সেখানে অ্যালগরিদম বলে যে "এই কোডটি থামবে" কারণ কোডটি ব্যর্থ হবে এবং মেমরিটি শেষ হয়ে যাবে এবং একক অতিরিক্ত মেমরি যুক্ত করার ফলে কোডটি হয়ে যাবে সফল এবং একটি ভিন্ন ফলাফল দিতে।

জিনিসটি হচ্ছে, ট্যুরিং মেশিনগুলির অসীম পরিমাণে স্মৃতি থাকে না। এমন কোনও সময় কখনই আসে নি যেখানে টেপটিতে সীমাহীন প্রতীক লেখা থাকে। পরিবর্তে, একটি ট্যুরিং মেশিনের "আনবাউন্ডেড" মেমরি রয়েছে যার অর্থ আপনি যখন প্রয়োজন হবে তখন মেমরির আরও উত্স পেতে চলেছেন। কম্পিউটারগুলি এরকম। আপনি র‌্যাম, বা ইউএসবি স্টিক বা হার্ড ড্রাইভ বা নেটওয়ার্ক স্টোরেজ যুক্ত করতে পারেন। হ্যাঁ, মহাবিশ্বের পরমাণুগুলি শেষ হয়ে গেলে আপনি স্মৃতিশক্তি হারিয়ে ফেলেছেন। তবে সীমাহীন মেমরি থাকা আরও অনেক দরকারী মডেল।


4
@ মেহরদাদ "প্রদত্ত প্রোগ্রামের জন্য দ্রুততম মেশিন কোড" এর যে কোনও যুক্তিসঙ্গত সংজ্ঞার জন্য, প্রশ্নটি বোধগম্য হয় এবং উত্তরটি "এরকম কোনও সংকলক থাকতে পারে না।"
ডেভিড রিচার্বি

13
এটি আউটপুট থেকে সংক্ষিপ্ততম মেশিন কোড সন্ধান করার জন্যও কাজ করে, একটি স্বল্পতম মেমরি এসেসিস সহ একটি ইত্যাদি general সাধারণ প্রোগ্রামগুলির জন্য, কোনও অনুকূল রূপান্তর সন্ধান করা অনস্বীকার্য। এটি মূলত রাইসের উপপাদ্য।
jmite

4
টিউরিং সমতুল্যের ঘনিষ্ঠভাবে সম্পর্কিত ধারণা ব্যতিরেকে হিলবার্টের যাদুকরী অ্যালগরিদমের সন্ধানের মূল বিষয় হিসাবে আমরা এখনও গোটোস বা স্ব-সংশোধনকারী কোডটি আরও শক্তিশালী গণনার অনুমতি দেয় কিনা তা নিয়ে তর্ক করতে থাকব, কম্পিউটেশনালভাবে আরও শক্তিশালী হার্ডওয়্যারগুলির সন্ধান করুন , এবং সর্বোত্তম প্রোগ্রামিংয়ের ভাষা যার পক্ষে যুক্তিগুলি এখনকার চেয়েও অনেক বেশি বিষয়ভিত্তিক হবে।
এসডেনহ্যাম

3
এটি এমন জায়গাগুলিতে পরিণত হয় যেখানে আপনি আশা করেন না। এমন একটি সি ++ সংকলক লিখতে চান যা সমস্ত বৈধ একটি সংকলন করার সময় সমস্ত অবৈধ প্রোগ্রামকে প্রত্যাখ্যান করে? প্রথমে থামার সমস্যাটি সমাধান করুন - সি ++ টেম্পলেট রূপান্তরটি টিউরিং-সম্পূর্ণ, সুতরাং আপনার টেমপ্লেটগুলি সাধারণ ক্ষেত্রে বৈধ কিনা তা বলার জন্য এটির সমাধানের প্রয়োজন।
চিহ্নিত করুন

7
@ মেরহরদাদ: আপনার "সম্পূর্ণ কম্পিউটার প্রোগ্রামের অনুকরণ" উদাহরণটি কেন থামানো সমস্যাটি এত গুরুত্বপূর্ণ তা তার একটি দুর্দান্ত উদাহরণ। কিছু প্রোগ্রামের জন্য, প্রোগ্রামটি অনুকরণ করা যতটা সহজ লাগে ঠিক তত সহজ নয় (উদাহরণস্বরূপ, থামার উইকিপিডিয়া পৃষ্ঠাটি দেখুন)। সমস্যাটি যদি এই ফর্মটিতে প্রতারণা করতে পারে তবে আপনি কল্পনা করতে পারেন যে কাউকে আরও গোপন ফর্ম (যেমন অ্যান্টি-ভাইরাস সমস্যা হিসাবে)
বোঝানো কতটা কঠিন

49

ব্যবহারিক দিক থেকে এটি গুরুত্বপূর্ণ কারণ এটি আপনাকে আপনার অজ্ঞ বসকে "আপনি যা জিজ্ঞাসা করছেন তা গাণিতিকভাবে অসম্ভব" বলতে দেয়।

থামানো সমস্যা এবং বিভিন্ন এনপি-সম্পূর্ণ সমস্যা (যেমন ট্র্যাভেল সেলসম্যান সমস্যা) আকারে অনেকটা সামনে আসে "কেন আপনি কেবল এক্স করে এমন একটি প্রোগ্রাম তৈরি করতে পারবেন না?", এবং আপনাকে একটি ব্যাখ্যা দিতে সক্ষম হতে হবে কেন এটি মহাবিশ্বের অবশিষ্ট জীবনকালের মধ্যে অসম্ভব বা অপরিহার্য।

নোট না যে এটি একটি ভাষা যে ডিজাইন করা সম্ভব না টুরিং-সম্পূর্ণ, তাই, বিশ্লেষন করা যায় সীমাবদ্ধ recursion ও পুনরাবৃত্তির বাধা দিত দ্বারা।




8
টিউরিং-সম্পূর্ণ নয় এমন একটি ভাষা নকশা করা সম্ভব : একটি দরকারী নন-টিউরিং সম্পূর্ণ ভাষার উদাহরণ: এসকিউএল (আসলে একটি স্ট্রিপ ডাউন এসকিউএল)। টিউরিং-সম্পূর্ণতা স্বয়ংক্রিয়ভাবে ভাষায় অ-সমাপ্তি যুক্ত করবে, যা এমন কোনও বিষয় যা আপনি সম্ভবত ডিবি কোয়েরি চালানোর সময় চান না। (যদিও, আমি ভয় পাই যে সমস্ত আধুনিক এসকিউএল বাস্তবায়ন যাইহোক যাইহোক টুরিং-সম্পূর্ণতা দেয়)
বাকুরিউ

8
@ ফ্রেঞ্চিসকো প্রেনসেসিয়া: তারা একটি গবেষণা দল ব্যবহার করেছে, তাই সাধারণ পয়েন্টটি এখনও ধরে রেখেছে।
রিমকো গ্রিলিচ

4
@ মুভিংডাক: ফ্লিকার জিনিসটি পার্ক এবং পাখির মধ্যে পছন্দ করে না, এটি উভয়ই বা উভয়ই নিশ্চিত করার চেষ্টা করে। বা, এক্সওআর নয়।
রিক্সার

45

আপনি কোনও অ্যালগরিদম ব্যবহার করতে পারেন যা সনাক্ত করে যে কোনও লিঙ্কযুক্ত তালিকা হে (1) এর স্পেস জটিলতায় হ্যালটিং ফাংশনটি বাস্তবায়নের জন্য লুপ করে কিনা।

এটি করার জন্য, আপনাকে অবশ্যই প্রোগ্রামের আংশিক অবস্থার কমপক্ষে দুটি অনুলিপি মেমরিতে রাখতে হবে, পাশাপাশি চেকিং প্রোগ্রামের ওভারহেড। সুতরাং কোনও প্রদত্ত কম্পিউটারে আপনি যে সমস্ত প্রোগ্রাম সেই কম্পিউটারে চালিত করতে পারবেন তা পরীক্ষা করতে পারবেন না, কেবলমাত্র এমন প্রোগ্রাম যা কম কম্পিউটারে অর্ধেকেরও কম মেমরির সাথে চালিত হয়।

প্রদত্ত সীমাবদ্ধ আকারের কম্পিউটারের জন্য থামানো সমস্যাটি সেই সীমাবদ্ধ-আকারের কম্পিউটারে সমাধান করা যায় না । এটি কেবলমাত্র একটি বড় কম্পিউটারে সমাধান করা যায়। (এটি যে কোনও পদ্ধতির ক্ষেত্রেই সত্য, কেবল আপনি যে প্রস্তাব করেছিলেন তা নয়। আমি একটি প্রামাণ্য প্রমাণ দিতে যাচ্ছি না, তবে এখানে সংক্ষিপ্তসারও রয়েছে। যদি কোনও কম্পিউটার সি এন বিভিন্ন প্রোগ্রাম চালাতে পারে যার কমপক্ষে একটি পি শেষ হয় না doesn't , তারপরে এমন একটি কম্পিউটার ভি যা এই এন প্রোগ্রামগুলিকে আটকাতে হবে কিনা তা পরীক্ষা করতে পারে যা এনও বিভিন্ন ভেরিফায়ার প্রোগ্রামগুলি চালাতে সক্ষম হয় C যদি সি এবং ভি একই কম্পিউটার হয়, তবে পি এন এর বিভিন্ন প্রোগ্রামগুলির মধ্যে একটি নয় যা ভি চালিয়ে যায় so কম্পিউটারে কমপক্ষে N + 1 টি বিভিন্ন প্রোগ্রাম চালাতে হবে, যা সি এই এন বিভিন্ন প্রোগ্রাম চালায় এমন ধারনার বিরোধিতা করে))

এছাড়াও, আপনি লিঙ্কযুক্ত তালিকার একটি লুপ সনাক্ত করতে কেবল অ্যালগরিদম ব্যবহার করতে পারবেন না । আপনার কখন থামতে হবে তা জানতে হবে। কম্পিউটারে যতগুলি স্টেপ রয়েছে ততবার আপনি একবারে যতগুলি পদক্ষেপ সম্পাদন করতে পারেন তা থামাতে পারবেন। যদি কোনও প্রোগ্রামে বিটস পর্যন্ত মেমরি ব্যবহার করে তবে এটিতে বিভিন্ন রাজ্য থাকতে পারে। এটি খুব দ্রুত অসম্ভব হয়ে ওঠে। উদাহরণস্বরূপ, একটি সাধারণ কম্পিউটার প্রতি সেকেন্ডে এক বিলিয়ন নির্দেশের ক্রম প্রয়োগ করে; এক বিলিয়ন সেকেন্ড 30 বছরেরও বেশি সময় পরে। সুতরাং আপনি যদি 8 বছর ধরে একটি কম্পিউটার চালনা করেন তবে আপনি পরীক্ষা করতে পারেন যে প্রায় 250 মিলিয়ন বিলিয়ন সম্ভাব্য রাজ্যগুলির একটি প্রোগ্রাম বন্ধ রয়েছে কিনা। তবে এটি কেবল বলছে, অর্থাত আপনি কেবল এমন একটি প্রোগ্রাম পরীক্ষা করতে পারেন যা মেমরির 7 বাইটে কাজ করে।2 এম 2 56M2M256

সেখানকার সংখ্যাগুলি বোঝায় যে একটি সীমাবদ্ধ-রাষ্ট্রীয় যন্ত্র হিসাবে কম্পিউটারের চিন্তাভাবনা খুব কমই ব্যবহারিক। রাজ্যের সংখ্যা সীমাবদ্ধ হতে পারে তবে এটি মন-উদ্বেগজনক, অবৈধভাবে বিশাল। খেলনাবিহীন প্রোগ্রামগুলি সম্পর্কে যুক্তি দেওয়ার একমাত্র উপায় অ্যাবস্ট্র্যাক্টে, গণনা করা রাষ্ট্রগুলি দ্বারা নয় বরং যৌক্তিক যুক্তির মাধ্যমে।

সুতরাং প্যারাডোক্সিকাল প্রোগ্রামগুলি বাদ দিয়ে, হ্যালটিং সমস্যাটি স্থিতিশীল

প্যারাডক্স সমস্যা থেকে আসে না, তবে সমাধানের চেষ্টা থেকে আসে। প্রদত্ত যে কোনও প্রোগ্রামের জন্য, একটি অ্যালগরিদম রয়েছে যা প্রোগ্রামটি বন্ধ হয়ে গেলে "হ্যাঁ" এবং প্রোগ্রামটি শেষ না হলে "না" বলে। এটি তুচ্ছ: হয় print "yes"বা print "no"করবে। সমস্যাটি হ'ল কোনটি কল করতে হবে তা নির্ধারণ করা। থামানো সমস্যা সমাধানের অসম্ভবতা মানে এই সংকল্পটি করার কোনও অ্যালগরিদম নেই। প্রমাণটি একটি তির্যক যুক্তি ব্যবহার করার কারণটি হ'ল এটি দেখানো দরকার যে এটি নেইসমাধান কাজ করে; এটি করার জন্য, এটি একটি স্বেচ্ছাসেবী উদ্দেশ্যযুক্ত সমাধান থেকে শুরু হয় এবং দেখায় যে এটি একটি মিস প্রোগ্রাম তৈরি করে কিছু প্রোগ্রাম মিস করতে হবে। তির্যককরণ (যা আপনি অনুচিতভাবে "প্যারাডক্স" বলছেন) ফলাফলটিতে নেই, ফলাফলটিতে রয়েছে। ফলস্বরূপ প্রোগ্রামগুলি স্ব-রেফারেন্সিয়াল নয়।

রাইসের উপপাদ্য নামে আরও একটি সাধারণ ফলাফল রয়েছে যা উল্লেখ করে যে কোনও তুচ্ছ সম্পত্তিপ্রোগ্রামগুলির অনস্বীকার্য - যে কোনও সম্পত্তি যা কেবল প্রোগ্রামের আচরণের উপর নির্ভর করে এবং নির্দিষ্টভাবে লেখা হয় না (উদাহরণস্বরূপ, "সোর্স কোডটি কি 42 টিরও কম অক্ষরের সমন্বয়ে গঠিত?" স্পষ্টতই নির্ধারণযোগ্য, যেখানে "সেখানে একটি আছে প্রোগ্রাম যার উত্স কোডে 42 টিরও কম অক্ষর রয়েছে এবং এটি সমস্ত ইনপুটগুলির জন্য একই ফলাফলটি দেয়? "না," এই প্রোগ্রামটি কখনই কোনও ফলাফল দেয় না? ")। থামানো কেবল একটি উদাহরণ। এটি একটি গুরুত্বপূর্ণ বিষয় কারণ এটি প্রায়শই অনুশীলনে আসে (সাধারণত, আমরা জানতে চাই যে কোনও প্রোগ্রামটি যে কম্পিউটারে চলছে তার সসীম সংস্থান দিয়ে যথাযথ সময়ে ফল দেয় কিনা, তবে যেহেতু এটি খুব কম ব্যবহারিকভাবে জবাবদিহিযোগ্য, তাই আমরা প্রোগ্রামটি শেষ পর্যন্ত পর্যাপ্ত সময় এবং মেমরির কারণে শেষ হবে কিনা তা সহজ প্রশ্নে সমাধান করতে রাজি)।


2
আমি ভাবব যে "" এমন কোনও প্রোগ্রাম রয়েছে যা প্রদত্ত স্ব-সংযুক্ত প্রোগ্রামের মতো একই আউটপুট তৈরি করবে (প্রোগ্রামটি নিজেই কোনও ইনপুট নয়) তবে প্রোগ্রামটি লোড করার সময় সহ কম সময়ে ? " প্রার্থী প্রোগ্রামের সর্বাধিক দৈর্ঘ্য সীমাবদ্ধ থাকায় প্রতিটি পরীক্ষার সময় যেমন হবে তেমনি অবিচল থাকলেও সিদ্ধান্ত গ্রহণযোগ্য হবে।
সুপারক্যাট

হ্যাঁ, এই সম্পত্তিটি নির্ধারণযোগ্য @ কোনও প্রোগ্রাম যা ইনপুট নেয় তার সাধারণ ক্ষেত্রে এটি সিদ্ধান্ত নেওয়া যায় না।
গিলস

1
আমি এই ছাপের মধ্যে ছিলাম যে হ্যালটিং সমস্যাটি সাধারণত ধরে নিয়েছে যে কোনও প্রোগ্রাম তার সম্পাদনার সময় যে ইনপুটটি গ্রহণ করবে তা সমস্ত প্রোগ্রামের সাথে বান্ডিল হয়ে গেছে। যদি কারও কাছে এমন কোনও মেশিন থাকে যা যাদুঘরে কোনও প্রোগ্রামের জন্য ইনপুটটির কোনও নির্দিষ্ট ক্রমকে খাওয়ানোর জন্য হ্যালটিং সমস্যাটি সমাধান করতে পারে, তবে এমন কোনও মেশিন নির্ধারণ করতে পারে যে কোনও প্রোগ্রাম সমস্ত চৌম্বক-দৈর্ঘ্যের ইনপুটগুলির জন্য থামবে কিনা?
সুপারক্যাট

3
@ সুপের্যাট নো, হোল্টস-ফর-অল-ইনপুট ওরাকল হোলস -ফর-এ-দেওয়া-ইনপুট ওরাকলটির চেয়ে আরও এক ধাপ এগিয়ে থাকবে । এটি এই সাইটের জন্য একটি ভাল প্রশ্ন করবে ... আসলে আমাদের কাছে এটি আছে । যাইহোক, আমার ডিফল্ট মানসিক মডেলটি পুনরাবৃত্ত ফাংশন, যেখানে "ইনপুট" মানে "যুক্তি" এবং একটি প্রোগ্রাম চালানো মানে এটি একটি যুক্তিতে প্রয়োগ করা; আপনি ঠিক বলেছেন যে আমার বক্তব্যটি একটি প্রসঙ্গে মিথ্যা আছে যা টুরিং মেশিন সম্পর্কিত, আমি এটি আপডেট করব।
গিলস

28

আমার কাছে মনে হয় যে হ্যালটিং সমস্যাটি লিয়ারের প্যারাডক্সের মতো একইভাবে তথাকথিত "প্যারাডক্স", একটি স্ব-রেফারেন্সিং (খুব কম চক্রযুক্ত) দ্বন্দ্ব ছাড়া আর কিছুই নয়। এটি কেবলমাত্র উপসংহারে আসে যে হ্যালটিং ফাংশন এই জাতীয় ত্রুটিযুক্ত প্রশ্নের জন্য সংবেদনশীল

না, যে না কি বিরাম সমস্যা সম্পর্কে। মিথ্যাবাদীর প্যারাডক্সের মতো প্যারাডক্স সত্য বা মিথ্যা নয়, এগুলি সহজভাবে বোঝায় না। অন্যদিকে একটি ডিস্ট্রিমেন্টিক অ্যালগরিদম হয় প্রদত্ত ইনপুটটির জন্য থামবে বা এটি চিরতরে চলবে। halts(program, input)প্রতিটি প্রোগ্রামের জন্য প্রতিটি ইনপুটটির জন্য ফাংশনটির একটি পুরোপুরি সু-সংজ্ঞায়িত, নির্মূল মান রয়েছে। আমরা শুধু না পারেন, সিদ্ধান্ত নেন কোন প্রোগ্রামের জন্য এটা। বা আরও সুনির্দিষ্টভাবে: আমরা এমন কোনও প্রোগ্রাম লিখতে পারি না যা প্রতিটি প্রোগ্রাম / ইনপুট জুটির জন্য এটি সিদ্ধান্ত নিতে পারে।

Σ(n):=nnnnΣ(n)


2
এটি লক্ষণীয় যে সাধারণ ফর্মটিতে লিয়েরের প্যারাডক্সটি নিজের কাছে সুস্পষ্ট রেফারেন্স তৈরি করে, তবে একই সমস্যা না থাকলেও উত্থাপিত হতে পারে। লেখাটি গ্রহণ করে যে বিবৃতিটি গঠন করা হয়েছে তার উত্তর কি "পাঠ্যটি গ্রহণ করে তৈরি করা বিবৃতিটির উত্তর এবং প্রথম কমা পরে উদ্ধৃতিতে আবদ্ধ একটি অনুলিপি সন্নিবেশ করানো হয়েছে?" এবং প্রথম কমা পরে singleোকানো একটি কপি একক উদ্ধৃতিতে আবদ্ধ, না? এই জাতীয় বিবৃতি স্পষ্টভাবে স্ব-রেফারেন্সিয়াল নয় বরং বর্ণনার সত্যতা বোঝায় যা চরিত্রের জন্য চরিত্রের জন্য অভিন্ন।
সুপারক্যাট

2
@ সুপের্যাট: হু, আমি মনে করি না আমি এর আগে ইংরাজীতে কোন কুইন দেখেছি ...
সাম্ব

@ সাম্ব: আমি কয়েকটি দেখেছি, তবে সিদ্ধান্ত নিয়েছি যে আমার হাতটি একটি মূল গঠনে চেষ্টা করা উচিত, যা কিছুের চেয়ে বেশি ভার্বোস থাকায় (সম্ভবত) আরও স্বাভাবিকভাবে পড়ে।
সুপারক্যাট

24

আমি বুঝতে পারি না যে প্রোগ্রামিং থামছে কিনা তা নির্ধারণের সম্ভাবনাটি খারিজ করার জন্য হ্যালটিং সমস্যাটি প্রায়শই কেন ব্যবহৃত হয়। উইকিপিডিয়া নিবন্ধটি সঠিকভাবে ব্যাখ্যা করেছে যে সীমাবদ্ধ মেমরির সাথে একটি ডিস্ট্রিমেন্টিক মেশিন হয় কোনও পূর্ববর্তী অবস্থাকে থামিয়ে দেয় বা পুনরাবৃত্তি করবে। আপনি কোনও অ্যালগরিদম ব্যবহার করতে পারেন যা সনাক্ত করে যে কোনও লিঙ্কযুক্ত তালিকা হে (1) এর স্পেস জটিলতায় হ্যালটিং ফাংশনটি বাস্তবায়নের জন্য লুপ করে কিনা।

প্রথম, হ্যাঁ, তাত্ত্বিকভাবে একটি বাস্তব কম্পিউটার হিসাবে সীমাবদ্ধ মেশিন হিসাবে সীমাবদ্ধ মেমরি রয়েছে তা বোঝা যায় makes তবে অনুশীলনে প্রকৃত কম্পিউটারের রাজ্যের সংখ্যা এত বেশি, যে টুরিং মেশিন বা গণনার অন্যান্য অসীম রাষ্ট্রীয় মডেলগুলির মাধ্যমে প্রকৃত কম্পিউটারগুলি আরও বেশি ভাল মডেল করা হয়।

এবং দ্বিতীয়টি, এমনকি তাত্ত্বিকভাবে এটি একটি আধুনিক কম্পিউটারকে অসীম রাষ্ট্রের মেশিন হিসাবে দেখার জন্য বোধগম্য। একটি টুরিং মেশিনের একটি অসীম টেপ থাকে না, এটিতে একটি টেপ থাকে যা মেশিনের স্মৃতিশক্তি শেষ না হয়ে যাওয়ার সাথে সর্বদা বাড়ানো যেতে পারে। এবং আমরা প্রকৃত কম্পিউটারগুলির সাথে ঠিক এটি করতে পারি না? (এবং যদি সিপিইউয়ের ঠিকানা স্থানটি ফুরিয়ে যায় তবে আমরা মেঘ ইত্যাদি ব্যবহার করতে পারি)

আমার কাছে মনে হয় যে হ্যালটিং সমস্যাটি লিয়ারের প্যারাডক্সের মতো একইভাবে তথাকথিত "প্যারাডক্স", একটি স্ব-রেফারেন্সিং (খুব কম চক্রযুক্ত) দ্বন্দ্ব ছাড়া আর কিছুই নয়। এটি কেবলমাত্র উপসংহারে আসে যে হ্যালটিং ফাংশন এই জাতীয় ত্রুটিযুক্ত প্রশ্নের জন্য সংবেদনশীল। সুতরাং প্যারাডোক্সিকাল প্রোগ্রামগুলি বাদ দিয়ে, হ্যালটিং সমস্যাটি স্থিতিশীল। তাহলে কেন আমরা এটিকে বিপরীতে প্রমাণ হিসাবে ধরে থাকি?

HPxHPx

থামানো সমস্যার অনস্বীকার্যতার প্রমাণ টুরিংয়ের প্রমাণ এমন একটি কৌশল ব্যবহার করে যা হ্যাঁ, লিয়র প্যারাডক্সের অনুরূপ। একটি প্যারাডক্স প্রায়শই একটি স্পষ্ট দ্বন্দ্ব হিসাবে সংজ্ঞায়িত করা হয় , এবং কিছু লোক এ থেকে অনুমান করে যে একটি প্যারাডক্সটি তাই প্রকৃত বৈপরীত্য নয়। তবে, রাসেলের প্যারাডক্স (মিথ্যাবাদীর প্যারাডক্সের আনুষ্ঠানিক সেট-তাত্ত্বিক অংশ) গণিতে সত্যিকারের দ্বন্দ্ব দেখিয়েছিল , এবং থামানো সমস্যার অনস্বীকার্যতার প্রমাণ বৈপরীত্যের দ্বারা প্রমাণের জন্য একটি বাস্তব দ্বন্দ্বকে ব্যবহার করে।


1
বাস্তব কম্পিউটার, সসীম স্টেট মেশিন এবং টুরিং মেশিনের মধ্যে সম্পর্কের ব্যাখ্যা দেওয়ার জন্য +1 যা প্রশ্নের সেটআপের একটি উল্লেখযোগ্য অংশ is
ডেভিড রিচার্বি

1
আপনি আমার আগ্রহ প্রকাশ করেছেন। একটি আপাত দ্বন্দ্ব এবং একটি সত্য দ্বন্দ্বের মধ্যে পার্থক্য কী?
ব্রেন্ট

এটি রাখার আরেকটি উপায়: সাধারণভাবে বলতে গেলে, প্রোগ্রামিং সীমাবদ্ধ সংস্থান গ্রহণ করে না we আমরা যে নকশার অ্যালগরিদমগুলি ডিজাইন করি বা প্রোগ্রামগুলি লিখি সেগুলি সীমাবদ্ধ, বা এমনকি নির্দিষ্ট, পরিমাণ পরিমাণ কম্পিউটিং সংস্থান ব্যবহার করার জন্য লেখা হয় না , যদি না আমরা সেগুলি নির্দিষ্টভাবে ডিজাইন করি যা উপায় (যেমন এম্বেড থাকা সিস্টেমগুলির জন্য প্রোগ্রামিং করার সময় এটি প্রায়শই প্রয়োজন হয়)।
পুনরায় পোস্টার

3
@Brent। অনেকগুলি প্যারাডক্স কোনও ক্ষেত্রেই পরস্পরবিরোধী নয়, তবে কেবল প্রথম দর্শনে। আমরা যখন নিবিড়ভাবে দেখি তখন যুক্তির ত্রুটি হতে দেখা যায় বা এমন কোনও শব্দ যার অর্থ ভিন্ন প্রসঙ্গে ব্যবহার করে কিছুটা পরিবর্তিত হয়েছে বা এরকম কিছু। কখনও কখনও, তবে, একটি প্যারাডক্স একটি বাস্তব বৈপরীত্য প্রকাশ করে।
হুপজে

আমার ওপি থেকে আমি এই সমস্যাটি চালু এবং বন্ধ নিয়ে অধ্যয়ন করছি। গুডেলের অসম্পূর্ণ উপপাদ্যটি কি বোঝায় যে ব্যবহারের ক্ষেত্রে যুক্তি নির্বিশেষে কিছুটা প্যারাডক্স নিয়ে আসা সর্বদাই সম্ভব?
ব্রেন্ট 14

17

jmite সত্যিই দুর্দান্ত উত্তর দিয়েছেন। "লিয়ার্স প্যারাডক্স" এর সাথে অনুভূতিযুক্ত মিলের বিষয়ে আমার একটি ছোট্ট পার্শ্ব-নোট যুক্ত করা যাক যা আমি মনে করি যে তাদের একটি স্ব-রেফারেন্স ব্যবস্থা ব্যবহারের ফলে ঘটেছিল।

স্ব-রেফারেন্স বৈপরীত্য নয়!

স্ব-রেফারেন্স গণনার ক্ষেত্রে সত্যই কার্যকর একটি সরঞ্জাম (যে কোনও অ্যালগরিদম তার কোড, প্রতিবিম্বকে বোঝাতে পারে ) এবং মানব ভাষা (যা আমরা নিজেরাই বোঝাতে পারি, আত্ম-চেতনা )।

লায়ারের প্যারাডক্সের কারণ যে সমস্যাটি স্ব-রেফারেন্স নয়, এটি ভাষার অভ্যন্তরে কোনও (আনুষ্ঠানিক) ভাষার জন্য সত্যের ভবিষ্যদ্বাণীটি ব্যবহার করার চেষ্টা করছে। এটি স্ব-রেফারেন্স ছাড়াই সমস্যা তৈরি করবে, আমাদের একটি প্যারাডক্স পেতে স্ব-রেফারেন্স ব্যবহার করার দক্ষতার প্রয়োজন নেই: স্ব-রেফারেন্সটি নির্মূল করা যেতে পারে! । এটি কেবল বাক্যটিকে কম সুন্দর এবং সংক্ষিপ্ত করে তুলবে তবে এটি করা কঠিন নয়। এটি ক্লিনির ফিক্সড পয়েন্ট উপপাদ্যটি কীভাবে প্রমাণিত হয় তা মূলত । লায়ারের প্যারাডক্সটি যা বোঝায় তা হ'ল একটি (আনুষ্ঠানিক) ভাষায় বক্তব্যগুলির সত্যতা সেই ভাষার কাছেই ক্ষুদ্রতর, স্ব-উল্লেখটি সমস্যাযুক্ত নয়।


আমার কাছে মনে হয়েছে যে আপনার অস্বস্তি থামার সমস্যার (অনন্তকালীন ট্যুরিং মেশিনের) অনিশ্চয়তার কারণে নয়, তবে কম্পিউটারের তাত্ত্বিক মডেল হিসাবে ট্যুরিং মেশিনের গ্রহণযোগ্যতা। সাধারণত (যদিও সর্বদা না) ট্যুরিং মেশিনগুলি (এবং র্যান্ডম অ্যাক্সেস মেশিনের মতো গণনার সমতুল্য মডেলগুলি ) সীমাবদ্ধ অটোমেটার তুলনায় প্রকৃত কম্পিউটারগুলিতে গণনার আলোচনার জন্য অনেক কার্যকর এবং এর জন্য ভাল কারণ রয়েছে (মনে রাখবেন যে কোনও টুরিং মেশিন নেই) অসীম পরিমাণ স্মৃতি, এটির সীমাহীন মেমরি থাকে এবং এগুলি বিভিন্ন জিনিস: আনবাউন্ডেড মানে আমরা যখন মেশিনটির প্রয়োজন হয় তখন তাকে আরও মেমরি সরবরাহ করতে পারি, এটি নয় যে এটি অসীম পরিমাণে স্মৃতি ব্যবহার করে)।

অবশ্যই, আপনি যদি কম্পিউটারগুলিকে সসীম অটোমেটা হিসাবে ভাবতে চান এবং এটি আপনার উদ্দেশ্যটির জন্য অর্থবোধ করে, তবে সসীম অটোমাতার জন্য থামানো সমস্যাটি সিদ্ধান্ত গ্রহণযোগ্য (এবং নির্ধারণযোগ্য বলতে আমরা একটি সসীম অটোমেটা দ্বারা নয়, একটি টুরিং মেশিন দ্বারা সিদ্ধান্ত গ্রহণযোগ্য) বোঝায়। লোকেরা যখন থামার সমস্যাটি ব্যবহার করে তখন সাধারণত এটি বোঝায় না, তারা ট্যুরিং মেশিনগুলির জন্য থামার সমস্যাটি বোঝায়।

s2s


14

থামানো সমস্যাটি "অনিশ্চয়তা" সম্পর্কে একটি নতুন গাণিতিক ধারণা চালু করেছিল যা আগে গণিতে বিদ্যমান ছিল না। এটি একটি ("আপাতদৃষ্টিতে প্যারাডক্সিকাল") প্রমাণ ছিল যে কিছু সমস্যার কোনও "প্রমাণ" নেই। এটি অপ্রাপ্তির গডিলিয়ান ধারণার সাথে সংযুক্ত। গিউডসস উপপাদ্যটি কয়েক বছর ধরে টুরিংয়ের মাধ্যমে থামানো সমস্যা গঠনের আগে। গডেলস ফলাফলটি তখন বিমূর্ত হিসাবে বিবেচিত হত এবং এটি কেবল গবেষক এবং বিশেষজ্ঞদের কাছেই পরিচিত ছিল। টিউরিংস সূত্রটি দেখিয়েছিল যে সিদ্ধান্তহীনতার নীতি কম্পিউটার বিজ্ঞানের উচ্চতর ব্যবহারিক / বাস্তববাদী / প্রয়োগিত প্রশ্নগুলির সাথে সম্পর্কিত ছিল যেমন নির্বিচারে প্রোগ্রামগুলি থামছে এবং এটি একেবারে কম তাত্ত্বিক ধারণা হিসাবে বিবেচনা করা হয়, এটি আধুনিক চ্যালেঞ্জগুলিতে যেমন প্রদর্শিত হয় " (কম্পিউটারগুলি উপপাদগুলি আবিষ্কার করতে পারে কিনা একটি চ্যালেঞ্জ) এবং প্রোগ্রামের সমাপ্তি প্রমাণিত।

আর একটি আকর্ষণীয় কোণ হ'ল (ডায়োফানটাইন) সংখ্যা তত্ত্ব গ্রীকদের সাথে উদ্ভূত কিছু পুরাতন সমস্যা রয়েছে যা সহস্রাব্দের জন্য অপ্রমাণিত। এর সাথে সম্পর্কিত ফলাফল রয়েছে যে ডায়োফানটাইন সমীকরণের সাধারণ প্রশ্নগুলি হিলবার্টস 10 ম সমস্যা / উপপাদ্য নামে অনির্বাচিত । হিলবার্ট বিংশ শতাব্দীর শুরুতে বেঁচে ছিলেন এবং একটি গবেষণা প্রোগ্রাম হিসাবে প্রস্তাব করেছিলেন যে গণিত গণিতের সমস্যাগুলির জন্য নিয়মতান্ত্রিক পদ্ধতির সন্ধান করতে পারে। এই চ্যালেঞ্জ / পরিকল্পনা কয়েক দশক পরে অনিশ্চয়তার আবিষ্কার দ্বারা গুরুতরভাবে আঘাত করা হয়েছিল। অনিশ্চয়তা একটি গবেষণার খুব উন্নত ক্ষেত্র হিসাবে অব্যাহত রয়েছে এবং অনির্দিষ্ট ও সিদ্ধান্ত গ্রহণযোগ্য সমস্যার মধ্যে সীমা সম্ভবত সর্বদা আরও অধ্যয়ন এবং বিশ্লেষণের অধীনে থাকবে।


14

আপনি ক্লাসিক "স্ব রেফারেন্সিয়াল" ভিত্তিক প্রমাণটিকে বিভ্রান্ত করছেন বলে মনে হচ্ছে যে হাল্টিং সমস্যাটি নিজেই হাল্টিং সমস্যা (ওরফে হাল্ট) দিয়ে সমাধান করা যায় না।

সেই স্ব-রেফারেন্সিয়াল প্রোগ্রাম - যে প্রোগ্রামটি থেমে থাকে এবং কেবল যদি থামে না - কেবলমাত্র আপনি হাল্টকে সমাধান করতে পারবেন না তা প্রমাণ করার পক্ষে এটি তৈরি করা হয়েছে। প্রযুক্তিটি ওয়াইয়ের মাধ্যমে আমরা এক্স প্রমাণ করেছিলাম এই বিষয়টি হ'ল ওয়াই বোঝায় না যে আমরা এক্সকে সমাধান করতে পারি না only

এটিকে অন্য উপায়ে বলতে গেলে, আমরা কেবল হাল্টকেই সমাধান করতে পারি না, আমরা সনাক্ত করতে পারি না যে কোনও প্রোগ্রাম যে ধরণের প্রোগ্রামকে নির্ধারণ করতে পারে না এটি যেমন একটি অশোধিত পরিমাপ ব্যতীত "যদি এটি চালাতে 1 মিনিটের বেশি সময় নেয়, ভান করে এটি থামবে না "।

যদি আপনি হ্যালটিং সমস্যা থেকে শুরু করেন এবং এটিতে অন্যান্য সমস্যাগুলি হ্রাস করেন তবে আপনি শেষ পর্যন্ত এই পর্যায়ে পৌঁছে যাবেন যে আপনি এটি সম্পর্কে প্রোগ্রামগুলি সম্পর্কে প্রায় প্রতিটি প্রশ্ন হ্রাস করেছেন। আমরা চালের উপপাদ্যটি শেষ করছি:

ট্যুরিং মেশিন গ্রহণ করে এস এর 1 টির কিছু অ-তুচ্ছ সম্পত্তি হতে দিন । তার মানে কমপক্ষে একটি টিউরিং মেশিন রয়েছে যা সম্পত্তি এস এর সাথে ইনপুট গ্রহণ করে এবং এমনটি নেই।

যদি কোনও প্রদত্ত টুরিং মেশিন টি সম্পত্তি এস সহ ইনপুট গ্রহণ করে তবে তা অনস্বীকার্য is

আপনি জানতে চান যে কোনও ট্যুরিং মেশিন এমনকি পূর্ণসংখ্যা গ্রহণ করে? Undecidable।

আপনি জানতে চান যে কোনও ট্যুরিং মেশিন পাটিগণিতের ক্রমগুলি গ্রহণ করে কিনা? Undecidable।

আপনি সাধারণভাবে ট্যুরিং মেশিনের সাহস সম্পর্কে কারণ বলতে পারেন। আপনি কোনও নির্দিষ্ট টিউরিং মেশিন সম্পর্কে যুক্তি প্রদর্শন করতে পারেন এবং প্রমাণ করতে পারেন যে এটি কোনও ক্রম / ইত্যাদি গ্রহণ বন্ধ করে / গ্রহণ করবে কিনা। আপনি জানেন না যে আপনার কৌশলটি পরবর্তী টিউরিং মেশিনটি আপনি খাওয়ান তা নিয়ে কাজ করবে কিনা।


1property of এটির মাধ্যমে এটি কীভাবে গৃহীত হবে তার প্রক্রিয়াটি অন্তর্ভুক্ত করে না - কেবল কী গ্রহণ করা হয়। "এটি 100 বা কম পদক্ষেপে গ্রহণ করে" এমন একটি সম্পত্তি যা এটি কীভাবে গ্রহণ করে, যা গৃহীত হয় তা নয়।


আপনি একটি "সম্পত্তি" কী তা ব্যাখ্যা করতে চাইতে পারেন, যেহেতু কেউ যে নিষ্পাপ ব্যাখ্যাটি সম্ভবত ভুল হতে পারে be
রিক ডেকার

@ ক্রিক আমার কি মনে হয় পাদটীকা এখন এটি কভার করে?
ইয়াক

7

আপনি ঠিক বলেছেন যে সাধারণভাবে প্রবর্তিত এবং বর্ণিত হিসাবে থামানো সমস্যাটি একটি নিছক গোটচা। এটি প্রমাণিত করে না যে কোনও ত্রি-মূল্যবান ('হল্টস', 'লুপ', 'জানেন না') থামানো-ফাংশন থাকতে পারে যা অনুশীলনে সর্বদা 'হলট' বা 'লুপ' দেয় এবং কেবল 'ডন' দেয় উদাহরণস্বরূপ বিশেষভাবে নির্মিত কর্নার-কেসের জন্য জানেন না।

থামার সমস্যাটি উল্লেখযোগ্য হওয়ার দুটি কারণ:

1) এটি প্রথম সম্ভাব্য অনস্বীকার্য সমস্যাগুলির মধ্যে একটি। এমনকি যদি অনুমানের দিক থেকে কেবল একজনই 'জানেন না', তবুও এটি ছিল বিশাল গাণিতিক আগ্রহ।

2) কিছু সমস্যা থামার সমস্যা হ্রাস করে যেখানে কোনও দূষিত আক্রমণকারী বিশ্লেষণের জন্য কেস সরবরাহ করতে পারে। এটি আমাদের গ্রহণ করতে বাধ্য করে যে এমন বৈধ কেস থাকতে পারে যা আমাদের এখনও প্রত্যাখ্যান করতে হবে।

দ্বিতীয় পয়েন্টের চিন্তাভাবনা হিসাবে, সফ্টওয়্যার বিশ্লেষণ একটি কঠিন সমস্যা, যদিও বিশ্লেষণকে সহজতর করার জন্য বিশ্লেষণ এবং ভাষা নকশা উভয় ক্ষেত্রেই অনেক অগ্রগতি হয়েছে। যদি আপনি দেখাতে পারেন যে কোনও নির্দিষ্ট কাজটি সফ্টওয়্যার বিশ্লেষণের সাথে সমান, তবে হ্যাঁ, এটি হার্ড ক্যাপিটাল এইচ এর সাথে 'এটি অসম্ভব কারণ এটি থামানো সমস্যা সমাধানের পরিমাণ', যদিও প্রযুক্তিগতভাবে অনেক ক্ষেত্রে ভুল বা অপ্রাসঙ্গিক হলেও প্রায়শই এটি ব্যবহৃত হয় এই পর্যবেক্ষণের জন্য শর্টহ্যান্ড।


5

এরিক হেহনার একটি ধারাবাহিক কাগজ পত্রে একটি বিবাদী যুক্তি প্রকাশ করেছেন যে যুক্তি দেয় যে হ্যালটিং সমস্যাটির অবিশ্বাস্যতা সাধারণত ভুল বোঝাবুঝি। "এপিমিনাইডস, গডেল, টুরিং: এ ইটার্নাল গোল্ডেন টাঙ্গেল", "হোলটিং সমস্যার সমস্যা", "হাল্টিং সমস্যার পুনর্গঠন", এবং "হটিং সমস্যা" এই কাগজপত্রগুলি এখানে পাওয়া যায় । যাতে এই উত্তরটি "কেবলমাত্র লিঙ্ক" না হয় আমি তার একটি সিদ্ধান্তের সংক্ষিপ্তসার চেষ্টা করব, তবে যুক্তিটি নয়।

f(0)=1f(0)=2hh(M)MHhh


3
আমি অনুসরণ করি না থামানো ফাংশন একটি নিখুঁতভাবে সংজ্ঞায়িত এবং বৈধ শিকারী - কোনও প্রদত্ত টুরিং মেশিন এবং যে কোনও ইনপুট, মেশিনটি থামায় বা লুপ করে। (আপনার কোনও যথাযথ রেফারেন্সের অভাব রয়েছে; আপনি কোন পাপার সংক্ষিপ্তসার করছেন?)
রাফেল

@ রাফেল যে ফাংশনটি সুনির্দিষ্টভাবে সংজ্ঞায়িত হয়েছে তা সাধারণত একটি সত্য হিসাবে গৃহীত হয়। হেনারের দৃষ্টিভঙ্গি আলাদা এবং তার কাগজপত্রগুলিতে ব্যাখ্যা করা হয়েছে। আমি আমার উত্তর সম্পাদনা করব কাগজগুলির নাম সরবরাহ করতে।
থিওডোর নরভেল

আসুন আমরা কেবল এটিই বলতে পারি যে হেননারের যুক্তি যাই হোক না কেন [আমি কাগজপত্রগুলি পড়িনি] তারা কমপক্ষে তাদের প্রথম পাঠ / আনুমানিক ক্ষেত্রে বিতর্কিত হয়ে উঠেছে: ' cs.toronto.edu/~hehner/Sllllaffair.pdf এবং recursed.blogspot.com/ 2013/10 / এরিক-হেনার-জবাবস html
ফিজ

এবং হেননারের কাগজপত্রগুলির (এটির উপর) যে কোনও অতিরিক্ত পাঠ (এই বিষয়ে তাঁর রচনাগুলি) ঝামেলার উপযুক্ত তা হ'ল প্রকৃতি ও উদ্ধৃতি সংখ্যার ভিত্তিতে এটি পরিষ্কার নয় not
ফিজ

তার প্রমাণগুলি খুব দৃ seem় বলে মনে হচ্ছে এবং এটি ইঙ্গিত করছে যে এটি দর্শনের ক্ষেত্রে কেবল নিরীহ বিষয়গুলির পুনর্নির্মাণ যেমন সত্যবাদিতার জন্য নিম্নলিখিত স্ব-রেফারেন্সিয়াল বক্তব্যকে বিশ্লেষণ করার চেষ্টা করার মতো: "এই বাক্যটি মিথ্যা" " যার যদি সত্য অর্থ এটি মিথ্যা যার অর্থ এটি সত্য সত্য, কোনওটিই এটি আবার মিথ্যা করে না ... সুতরাং এটি কোনও গুরুত্বপূর্ণ দার্শনিক নৌ দৃষ্টিকটু প্রশ্নের মতো মনে হচ্ছে। en.wikedia.org/wiki/Liar_paradox থামানো প্যারাডক্সটি বিজ্ঞানীদের দার্শনিকদের সাথে কথা না বলার ক্ষেত্রে হতে পারে।
জেমস ওয়েকফিল্ড

3

আমি থামানো সমস্যার গুরুত্ব সম্পর্কে আলাদা ব্যাখ্যা দিতে চাই যা মেশিনের চেয়ে লোক জড়িত।

এটি এমআইটি 1986 স্ট্রাকচার অ্যান্ড ইন্টারপ্রিটেশন কোর্সের শেষ বক্তৃতা ; অধ্যাপক জিজ্ঞাসা করলেন "কোন প্রশ্ন আছে কি?" এবং বক্তৃতাটি শেষ করার প্রস্তুতি নেয়, যখন শিক্ষার্থীদের একজন জিজ্ঞাসা করে: "এটিই কি শেষ প্রশ্ন?"

একটি মুহূর্ত জন্য এটি সম্পর্কে চিন্তা করুন। এর উত্তর শিক্ষক কীভাবে দিতে পারেন? যদি শিক্ষার্থী শিক্ষকের সাথে বিরোধিতা করার সিদ্ধান্ত নেয়, তবে শিক্ষক কোনও বৈধ উত্তর দিতে পারবেন না - এটি হোল্ডিং সমস্যার মতোই।

আমরা থামার সমস্যাটি সম্পর্কে বিমূর্তভাবে চিন্তা করতে ব্যবহার করেছি, ফাংশন এবং মেশিন ব্যবহার করে, তবে এটি এর চেয়ে আরও গভীর। মৌলিকভাবে, এর অর্থ হ'ল সঠিকভাবে বৈধ প্রশ্নাবলীর উত্তর দেওয়া যায় না।

PS: আমি যদি কোর্সের কথা বলছি তা যদি আপনি না জানেন তবে এটি দেখুন, এটি দুর্দান্ত।


তবে আমি যদি মৃত্যুদন্ড কার্যকর করি তবে doesHalt(programCode, input);প্রোগ্রামটি doesHaltফাংশনটি কী দেয় তা জানতে পারে না । doesHaltফাংশনটি মূল্যায়ন করার পরে প্রোগ্রামটির পক্ষে এটি থামানো অসম্ভব ।
Tvde1

0

আমি সহজেই এমন একটি প্রোগ্রাম লিখতে পারি যা একটি ইনপুট দেয়, তা হয় ক্ষুদ্রতম প্রাইম পি> এনকে আউটপুট করে দেয় যেমন পি + 2 এটিও একটি প্রাইম, বা চিরকালের জন্য চালিত হয় যদি এই জাতীয় কোনও উপস্থিতি নেই। আপনি যদি আমার প্রোগ্রামটি প্রতিটি ইনপুটটির জন্য বন্ধ করে দেয় বা ভবিষ্যদ্বাণী করতে সমস্যাটি সমাধান করতে পারেন তবে আপনি কেবল টুইন প্রাইম অনুমানটি সমাধান করেছেন।

এটি সম্ভবত সম্ভব যে এই অনুমানটি অনস্বীকার্য হিসাবে প্রমাণিত হতে পারে, এক্ষেত্রে আমাদের একটি সরলরূপে প্রোগ্রাম থাকতে হবে যেখানে থামানো প্রোগ্রাম ব্যর্থ হয়।


আমি মনে করি আপনি "টিউরিং-অনির্দিষ্ট" খুব আলাদা ধারণার সাথে মিশ্রিত করছেন; আসলে, আপনি দুর্ঘটনাক্রমে "একই পুরানো" ভ্রান্তিতে হোঁচট খেতে পারেন। আরও দেখুন এখানে এবং এখানে
রাফেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.