আমি আরও কিছু উত্তর যোগ করতে হবে কিনা কিছুক্ষণ চিন্তা। অন্যান্য উত্তরগুলি তার প্রশ্নের মাঝখানে ফোকাস করে ("টিউরিং সম্পূর্ণ", "টাউটোলজি" ইত্যাদি)। আমাকে প্রথম এবং শেষ অংশটি ধরতে দাও এবং এভাবে আরও বড় এবং সামান্য দার্শনিক চিত্র:
কিন্তু এটার মানে কি?
টুরিং সম্পূর্ণ হওয়ার অর্থ কী?
"" অন্য একটি ট্যুরিং মেশিনের অনুকরণে সক্ষম হওয়া "না বলেই কি ট্যুরিং মেশিনের সক্ষমতা নির্ধারণ করার কোনও উপায় আছে?
অনানুষ্ঠানিকভাবে বলতে গেলে, ট্যুরিং সম্পূর্ণ হওয়ার অর্থ আপনার মেকানিজমটি যে কোনও জটিল, গভীর, পুনরাবৃত্তিমূলক, জটিল, দীর্ঘ (কোডের দিক দিয়ে) বিবেচনা না করেই যে কোনও অ্যালগরিদম চালাতে পারে এবং যে পরিমাণ স্টোরেজ বা সময় কতই না গুরুত্বপূর্ণ এটি মূল্যায়ন করা প্রয়োজন। এটি বলার অপেক্ষা রাখে না যে সমস্যাটি কেবল গণনাযোগ্য হলেই এটি সফল হয়, তবে এটি যদি গণনাযোগ্য হয় তবে এটি সফল হবে (থামবে)।
(এনবি: এটি কেন "অনানুষ্ঠানিক" তা জানতে, চার্চ-টিউরিং থিসিসটি পরীক্ষা করুন যা এই লাইনগুলিতে আরও বিস্তৃত শব্দগুলির সাথে চলে; একটি থিসিস হওয়ায় এটি সঠিক বা সঠিক হতে পারে না, যদিও ধন্যবাদ জানাতে @ ডেভিড রিচার্বির জন্য ধন্যবাদ একটি মন্তব্য এ এই সামান্য বাদ পড়ার ইঙ্গিত।)
"অ্যালগরিদম" এর অর্থ যা আমরা সাধারণত কম্পিউটার অ্যালগরিদম হিসাবে বুঝি; অর্থাত্ কিছু নিয়ন্ত্রণ যুক্তি মিশ্রিত করে স্টোরেজকে ম্যানিপুলেট করে বিভিন্ন পদক্ষেপের একটি সিরিজ It এটি অবশ্য কোনও ওরাকল মেশিনের মতো নয়, অর্থাত্ এটি "অনুমান" করতে পারে না।
ব্যবহারিক নন-টিসি ভাষার উদাহরণ
আপনি যদি নিজের প্রোগ্রাম করে থাকেন তবে আপনি সম্ভবত নিয়মিত ভাব প্রকাশ জানেন যা কিছু প্যাটার্নে স্ট্রিংয়ের সাথে মেলে match
এই কনস্ট্রাক্ট করা হয় যে, এর একটি উদাহরণ না সমাপ্তি টুরিং। আপনি সহজেই অনুশীলনগুলি সন্ধান করতে পারেন যেখানে নির্দিষ্ট বাক্যাংশের সাথে মেলে এমন একটি নিয়মিত ভাব প্রকাশ করা অসম্ভব।
উদাহরণস্বরূপ (এবং এটি প্রকৃত বাস্তব অ্যাপ্লিকেশনগুলিতে অনেক প্রোগ্রামারকে অবশ্যই উদ্বেগিত করেছে), কোনও প্রোগ্রামিং ভাষা বা এক্সএমএল ডকুমেন্টের সাথে মিলে যাওয়া একটি নিয়মিত এক্সপ্রেশন তৈরি করা তাত্ত্বিক এবং ব্যবহারিকভাবে অসম্ভব: একটি রেগ এক্সপক্সের জন্য ব্লক কাঠামোটি খুঁজে পাওয়া অসম্ভব ( do ... end
বা { ... }
ভাষাগুলিতে; এক্সএমএল ডকুমেন্টগুলিতে ট্যাগগুলি খোলার এবং সমাপ্তি) যদি তাদের নির্বিচারে গভীরভাবে অনুমতি দেওয়া হয়। যদি সেখানে কোনও সীমা থাকে, উদাহরণস্বরূপ আপনার কেবলমাত্র "পুনরাবৃত্তি" মাত্রা 3 স্তর থাকতে পারে, তবে আপনি একটি নিয়মিত প্রকাশ পেতে পারেন; তবে যদি এটি সীমাবদ্ধ না হয়, তবে এটি কোনও সুযোগ নয়।
সোর্স কোডটি পার্স করার জন্য ট্যুরিং-সম্পূর্ণ ভাষায় (যেমন সি) কোনও প্রোগ্রাম তৈরি করা স্পষ্টভাবে সম্ভব (কোনও সংকলক এটি করে) তাই নিয়মিত প্রকাশগুলি কখনই প্রোগ্রামের অনুকরণ করতে সক্ষম হয় না, তাই এগুলি সংজ্ঞা অনুসারে হয় টুরিং-সম্পূর্ণ নয়
প্রেরণা
নিজেই টুরিং মেশিনের ধারণাটি ব্যবহারিক কিছুই নয়; উদাহরণস্বরূপ, ট্যুরিং অবশ্যই এটি বাস্তব কম্পিউটার বা এর মতো কিছু তৈরি করার জন্য আবিষ্কার করেনি, যেমন উদাহরণস্বরূপ চার্লস ব্যাবেজ বা ভন নিউম্যানের বিপরীতে। টুরিং মেশিনের ধারণাটি থাকার বিষয়টিটি খুব সহজ exceed এটি প্রায় কিছুই নিয়ে গঠিত। এটি সম্ভাব্য (এবং প্রকৃত) কম্পিউটারগুলি সবচেয়ে কম কল্পনাযোগ্য সর্বনিম্নে হ্রাস করে।
এই সরলকরণের মূল বিষয় হল, এর ফলে এটি তাত্ত্বিক প্রশ্নগুলি (যেমন সমস্যা থামানো, জটিলতা ক্লাস এবং তাত্ত্বিক কম্পিউটার বিজ্ঞান যা নিজেই বিরক্ত করে) সেগুলি নিয়ে ভাবনা সহজ করে তোলে। বিশেষত একটি বৈশিষ্ট্য হ'ল সাধারণত কোনও প্রোগ্রামিং দিয়ে কোনও প্রদত্ত ভাষা বা কম্পিউটার কোনও টুরিং মেশিনকে অনুকরণ করতে পারে কিনা তা যাচাই করা খুব সহজ said ভাষায় টুরিং মেশিন (যা এত সহজ!) বলেছে।
অসীমে
নোট করুন যে আপনার কখনই অসীম সময় বা স্টোরেজ প্রয়োজন হয় না ; তবে সময় এবং সঞ্চয় উভয়ই সীমাহীন। প্রতিটি একক গণনীয় রানের জন্য তাদের সর্বাধিক মান থাকবে তবে সেই মানটি কত বড় হতে পারে তার কোনও সীমা নেই। একটি বাস্তব কম্পিউটার অবশেষে র্যামের বাইরে চলে আসবে এ বিষয়টি এখানেই বোধগম্য; এটি অবশ্যই কোনও শারীরিক কম্পিউটারের জন্য একটি সীমা, তবে এটি স্পষ্ট এবং মেশিনের তাত্ত্বিক "কম্পিউটিং শক্তি" তেমন আগ্রহী নয়। এছাড়াও, এটি আদৌ কতটা সময় নেয় সে সম্পর্কে আমরা আগ্রহী নই। সুতরাং আমাদের ছোট মেশিনটি সময় এবং স্থানের নির্বিচার পরিমাণ ব্যবহার করতে পারে যা এটি একেবারে অবৈধ করে তোলে।
... এবং তার পরেও
এক অভূতপূর্ব শেষ বিন্দু, তারপর, যে এই ধরনের একটি সহজ, সহজ জিনিস করতে পারেন সবকিছু কোনো অনুমেয় বাস্তব কম্পিউটার পারে কি কখনো যতদূর অন্তত হিসাবে আমরা আজ জানি -, পুরো মহাবিশ্বের, সাধা (ঠিক খুব ধীর)।