রাইসের উপপাদ্যে হতবাক


37

সংক্ষিপ্তসার: রাইসের উপপাদ্য অনুসারে সবকিছু অসম্ভব। এবং তবুও, আমি মনে করি এটি অসম্ভব অসম্ভব জিনিসগুলি সর্বদা করি!


অবশ্যই, রাইসের উপপাদ্যটি কেবল "সবকিছু অসম্ভব" বলে দেয় না। এটি বরং আরও নির্দিষ্ট কিছু বলে: "কম্পিউটার প্রোগ্রামের প্রতিটি সম্পত্তি অ-গণনাযোগ্য comp"

(আপনি চুল, যে "অ-তুচ্ছ" সম্পত্তি। অর্থাৎ বৈশিষ্ট্য যা বিভক্ত করতে চান তাহলে সব প্রোগ্রাম এর কোন বা কোন প্রোগ্রাম এর কোন জাভাস্ক্রিপ্টে গার্বেজ গণনীয় হয়। কিন্তু অন্য কোন সম্পত্তি অ গণনীয় হয়।)

এটিই উপপাদ্য বলে, বা বলে মনে হয়। এবং সম্ভবত সম্ভবত প্রচুর স্মার্ট ব্যক্তি এই উপপাদ্যের যথাযথতা যথাযথভাবে যাচাই করেছেন। তবে মনে হয় যুক্তিটিকে পুরোপুরি অস্বীকার করে! আছে অনেক যা হয় প্রোগ্রামের বৈশিষ্ট্য তুচ্ছ গনা !! উদাহরণ স্বরূপ:

  • একটি প্রোগ্রাম থামার আগে কতগুলি পদক্ষেপ কার্যকর করে? এই সংখ্যাটি সীমাবদ্ধ বা অসীম কিনা তা স্থির করে নিখুঁতভাবে হ্যালটিং সমস্যা, যা অ-গণনাযোগ্য। সিদ্ধান্ত নেন করতে এই নম্বরটি বড় বা কম হয় কিনা চেয়ে কিছু সসীম হয় তুচ্ছ! সর্বাধিক পদক্ষেপের জন্য প্রোগ্রামটি চালান এবং দেখুন এটি বন্ধ হয় কিনা। সহজ!এনnn

  • একইভাবে, প্রোগ্রামটি কি তার প্রথম এক্সিকিউশন পদক্ষেপগুলিতে মেমরির ইউনিটের কম বা কম ব্যবহার করে ? তুচ্ছভাবে গণনাযোগ্যnm

  • প্রোগ্রামের পাঠ্যটিতে নামের একটি ভেরিয়েবলের উল্লেখ রয়েছে ? একটি তুচ্ছ পাঠ্য বিশ্লেষণ উত্তর প্রকাশ করবে।k

  • প্রোগ্রামটি কমান্ড ? আবার, সেই কমান্ডের নামটি সন্ধান করে প্রোগ্রামের পাঠ্যটি স্ক্যান করুন।σ

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

আমি এখানে কি মিস করছি?


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

উত্তর:


36

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

প্রোগ্রামগুলির একটি এক্সটেনশনাল সম্পত্তি হ'ল সম্পত্তি যা এক্সটেনশনাল সাম্যকে সম্মান করে, অর্থাত্, যদি এবং এক্সটেনশিয়াল সমান হয় তবে তাদের উভয়ই সম্পত্তি বা উভয়েরই থাকে না।PfgP

অ- এক্সটেনশনাল বৈশিষ্ট্যের কয়েকটি উদাহরণ এখানে রয়েছে :

  1. প্রোগ্রামটি পদক্ষেপের মধ্যেই থেমে আছে । (আমরা সর্বদা একটি প্রোগ্রামকে এক্সটেনশনালি সমান পরিমাণে চালিত করতে পারি যা বেশি দিন চলে))n
  2. প্রোগ্রামটি কার্যকর করার প্রথম পদক্ষেপের মধ্যে কম মেমরি কোষ ব্যবহার করে । (আমরা সর্বদা একটি প্রোগ্রামকে এক্সটেনশনালি সমান হিসাবে সংশোধন করতে পারি যাতে এটি অকারণে কিছুটা মেমরি ব্যবহার করে))nm
  3. প্রোগ্রামের পাঠ্যটিতে একটি ভেরিয়েবলের উল্লেখ করা হয়েছে k। (আমরা ভেরিয়েবলের নাম পরিবর্তন করতে পারি))
  4. প্রোগ্রামটি কমান্ড । এটি কী এর উপর কিছুটা নির্ভর করে , তবে এটি যদি কোনও উপায়ে কিছুটা অনুকরণ করা যায় তবে আমরা থেকে রক্ষা পেতে পারি এবং এখনও একটি প্রোগ্রাম থাকতে পারি যা এক্সটেনশনালি মূলটির সমান।σσσ

আমি নিশ্চিত যে আপনি খেয়াল করেছেন যে আমি রাইসের উপপাদ্যে আপনার কথিত পাল্টা উদাহরণগুলি সুনির্দিষ্টভাবে তালিকাভুক্ত করেছি, যা বলে:

উপপাদ্য (চাল): প্রোগ্রামগুলির একটি গণনীয় এক্সটেনশনাল সম্পত্তি হয় সমস্ত প্রোগ্রামকে ধারণ করে বা কোনওটিরই নয়।

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


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

1
সাধারণভাবে আপনি পরীক্ষা করে নিন যে দুটি নির্দিষ্ট প্রোগ্রাম এক্সটেনশিয়ালি সমান এটি প্রমাণ করে যে এটি ক্ষেত্রে। সমস্ত সংখ্যার জন্য এমন কি আপনি আপত্তি করেন যে একটি কম্পিউটার সমস্ত মানের জন্য এই সমতাটি "পরীক্ষা" করতে পারে না? আশা করি না। এমন একটি প্রোগ্রাম লেখার মধ্যে পার্থক্য আছে যা বুলিয়ান মানকে গণনা করে এবং প্রমাণ করে যে কোনও নির্দিষ্ট বিবৃতিতে একটি সত্যের সত্য মূল্য রয়েছে। এমন কিছু জিনিস রয়েছে যা আমরা প্রমাণ করতে পারি তবে গণনা করতে পারছি না (যেমন দুটি নির্দিষ্ট প্রোগ্রাম এক্সটেনশনালি সমান হয় বা এটি সংযোজনীয় হয়)। n+m=m+n
আন্দ্রেজ বাউয়ার

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

36

মৌলিক ভুল বোঝাবুঝি:

কম্পিউটার প্রোগ্রামের প্রতিটি সম্পত্তি অ-গণনাযোগ্য

রাইসের উপপাদ্যটি সে বিষয়েই কথা বলবে না। এটি ফাংশনগুলির বৈশিষ্ট্যগুলির বিষয়ে এবং এই ফাংশনটির কম্পিউটিং প্রোগ্রামগুলির সেটটি সিদ্ধান্ত গ্রহণযোগ্য নয় talks সাধারণত, দেওয়া হয় givenPRE

{MfMP}

P

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

সিনট্যাকটিক বৈশিষ্ট্যগুলির জন্য খুব বেশি পরিচিত বলে মনে হয় না; দেখতে এই প্রশ্নের


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

@ গণিতের অর্কিড: আপনি সেই বাক্যটি নিরাপদে উপেক্ষা করতে পারেন; প্রথম অনুচ্ছেদে আপনার প্রয়োজনীয় সমস্ত তথ্য রয়েছে। আমি যেভাবেই হোক, বিস্তারিত বলব।
রাফেল

2
শব্দার্থক = প্রোগ্রামটি কি সম্পর্কে। সিনট্যাকটিক = প্রোগ্রামটি কেমন দেখাচ্ছে about
রিইনারপোস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.