মোট ফাংশনগুলি অনুমিত হয় না কেন?


29

আমরা ফাংশনগুলির গণনার ধারণা সম্পর্কে শিখেছি। অনুশীলনে, তারা প্রোগ্রামিং ভাষার সাথে মিল রাখে।

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

তাহলে কীভাবে আমরা (আপাতদৃষ্টিতে) শালীন গণনা শক্তি চাইলে আমাদের অবসানহীনতার সম্ভাবনা মেনে নিতে হবে?

উত্তর:


24

তির্যক কারণে। যদি থেকে সব মোট গণনীয় ফাংশন একটি গণনীয় শুমার ছিল থেকে , এই ধরনের যে প্রতি মোট হলেন, তখন একটি মোট গণনাযোগ্য ফাংশন হবে তবে এটি গণনাতে হবে না। এটি অনুক্রম সম্পর্কে অনুমানের বিরোধিতা করবে। সুতরাং ফাংশনগুলির কোনও গণনীয় গণনা মোট মোট গণনীয় কার্যাদি সমন্বিত করতে পারে না।(fe:eN)NNfeg(i)=fi(i)+1

ধরুন আমরা একটি সার্বজনীন গণনীয় ফাংশনের মনে , যেখানে "সার্বজনীন" অর্থ একটি গণনীয় বাইনারি ফাংশন এবং প্রতি মোট গণনীয় ইউনারী ফাংশন জন্য যে কিছু হয় যেমন যে সকলের জন্য । এরপর কিছু হতে হবে যেমন যে না মোট ফাংশন, পূর্ববর্তী অনুচ্ছেদ অন্যতম কারণ। তা না হলে মোট গণনীয় ইউনারী ফাংশন একটি গণনীয় শুমার যে সব মোট গণনীয় ইউনারী ফাংশন অন্তর্ভুক্ত দেবে।h(e,i)hf(n)ef(i)=h(e,i)ieg(n)=h(e,n)h

সুতরাং প্রতিটি ক্রিয়াকলাপের একটি সিস্টেমের প্রয়োজনীয়তা মোট যে সিস্টেমের সর্বজনীন ফাংশনের অস্তিত্বের সাথে সঙ্গতিপূর্ণ নয়। কিছু দুর্বল সিস্টেমে যেমন আদিম পুনরাবৃত্ত ফাংশনগুলির জন্য প্রতিটি ফাংশন মোট তবে সর্বজনীন ফাংশন নেই। ট্যুরিং কম্পিউটাবিলিটির মতো সার্বজনীন ফাংশন রয়েছে এমন শক্তিশালী সিস্টেমে সর্বজনীন ফাংশনটির অস্তিত্ব থাকতে দেয়ায় কেবল আংশিক ফাংশন থাকতে হবে।


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

অবশ্যই, সিস্টেম এফ একটি টুরিং সম্পূর্ণ সিস্টেম নয়। আপনার লিঙ্ক করা কাগজটি আকর্ষণীয়; দেখে মনে হচ্ছে যে তারা একটি আকর্ষণীয় উপায়ে নন-টিউরিং-সম্পূর্ণতা লাভ করার জন্য পরিচালনা করে।
কার্ল ম্যামার্ট

আমি কেন পাই না "তবে একটি মোট গণনাযোগ্য ফাংশন হবে"। যদি মোট একটি গণনীয় ফাংশন হয় তবে , তারপরে মূল্যায়নের জন্য : বিপরীত মূল্যায়ন প্রয়োজন। সুতরাং দেখে মনে হয় যে মোট গণনাযোগ্য ফাংশনগুলির একটি অঙ্ক আছে, আমরা এমনকি তৈরি করতে পারি না , যাতে আমরা প্রাথমিক অনুমানকে অস্বীকার করার মতবিরোধে পৌঁছাতে না পারি (আমরা একটি বিপরীতে পৌঁছতে পারি, তবে এটি কেবল মোট গণনাযোগ্য হওয়া অস্বীকার করে )। g(i)=fi(i)+1gk,fk=gg(k)g(k)=fk(k)+1=g(k)+1gg
এজমো

এমনকি এই সমস্যাটি এড়াতে স্থানান্তরিত ত্রিভুজটি ব্যবহার করা দ্বন্দ্বের দিকে নিয়ে যায় বলে মনে হয়।
বয়স

10

শুধু থেকে পরিষ্কার হতে, আমরা গাণিতিক ফাংশন পার্থক্য করতে হবে (আমি তাদের কল হবে ফাংশন এবং তাই তারা সব গণনীয় থাকে না সেখানে প্রায়ই হয় তাদের uncountably অনেক) এবং ফাংশন আপনি লিখতে পারেন: আমি তাদের ডাকব প্রোগ্রাম বা এছাড়াও গণনীয় ফাংশন

একটি উপসেট একটি ধর্তব্য সেটের বলা হয় গণনীয় যদি একটি প্রোগ্রাম যা দেওয়া একটি উপাদান এর "হ্যাঁ" যদি সাড়া এবং "না" যদি । (এবং তাকে সর্বদা কিছু প্রতিক্রিয়া জানাতে হবে) প্রোগ্রামটিকে "না" বলার পরিবর্তে প্রতিক্রিয়া না দেওয়ার জন্য অনুমোদিত হলে সেটকে পুনরাবৃত্তিমূলকভাবে গণনাযোগ্য বলা হয়। (এটি প্রোগ্রামের যে কোনও ক্রমে সমস্ত উপাদান মুদ্রণ করতে হবে তার সমতুল্য )SExExSxSS

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

তোমার অধ্যাপক বলেন যে সব প্রোগ্রাম একটি মোট হয় সেট অসীম সেট হয় গণনীয় না কারণ আপনার শুধু উপাদানের একটি অসীম সংখ্যার উপর আপনার প্রোগ্রাম রান করতে পারেন।

তবে এর অর্থ এই নয় যে এটি খারাপ:

  1. উদাহরণস্বরূপ সেট করেন তাহলে সব প্রোগ্রাম যে provably মোট গণনীয় কারণ আপনি সব প্রমাণাদি গনা এবং যান্ত্রিকভাবে পরীক্ষা যদি তারা প্রমাণ আপনার প্রোগ্রাম মোট পারবেন না।

  2. এমনকি একটি সংখ্যা নির্ধারণযোগ্য ব্যবহারিক হবে না, কারণ প্রক্রিয়াটি একদিন শেষ হবে কিনা তা নিশ্চিত না হয়ে আপনাকে চিরকাল অপেক্ষা করতে হতে পারে। আমি দেখতে পাচ্ছি না যে কীভাবে এমন একটি প্রোগ্রাম ব্যবহার করা যায় যা সমস্ত মোট ফাংশন গণনা করে ...

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

সুতরাং আপনার প্রশ্নের উত্তর দিতে: এক অর্থে, হ্যাঁ। সম্ভাব্য অ-সমাপ্তি টুরিং-সম্পূর্ণ (বর্তমানে সর্বাধিক গণনীয় শক্তি) হওয়া দরকার। তবে আমি এটিকে সরাসরি প্রাসঙ্গিক মনে করি না যে মোট ফাংশনগুলি গণনীয় বা না হয়। আপনি এখনও সমস্ত মোট প্রোগ্রাম লিখতে পারেন!


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

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