মোট কার্যকরী প্রোগ্রামিংয়ের সীমা কত?


19

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

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

উত্তর:


16

এটি মোট কার্যকরী ভাষার উপর নির্ভর করে ।

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

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

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

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

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


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

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

(ওফস; দুর্ঘটনাক্রমে প্রবেশ করুন) ... তবে এটি আরেকটি মূর্খ কৌশল উন্মুক্ত করে, কারণ আমি চাইলে পরিচয় ফাংশন সম্পর্কে অনস্বীকার্য প্রশ্ন জিজ্ঞাসা করতে পারি: "কারও কারও কাছে X, (identity X)একটি ট্যুরিং মেশিন কি থামে?" অবশ্যই, এটি সম্পর্কে বলে মনে হচ্ছে নাidentity , তবে আপনি কীভাবে "সম্পর্কে" সংজ্ঞা দেবেন?
পল স্ট্যানসিফার

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

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

16

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

এলএলএল

  1. এলএলএলএলসামঞ্জস্যপূর্ণ. আপনি পাটিগণিত করতে পারবেন বলে ধরে নিয়েই গোয়েডেলের উপপাদ্যটি এটাই দেয় না। সুতরাং আমরা জানি যে আমরা মোট কার্যকরী ভাষায় স্ব-দোভাষী লিখতে পারি না।

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

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


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

আমি বলব যে স্ব-মূল্যায়ন কোনও সমস্যা হিসাবে গণ্য হয় না, কারণ এটি ভাষার উপর নির্ভর করে পরিবর্তিত হয়। আপনি "X ভাষাতে কোনও প্রোগ্রামকে মূল্যায়ন করুন" সমস্যাটি একই সমস্যা, আপনি X বা Y ভাষায় ভাষাটিকে সমাধান করার চেষ্টা না করেই বিশেষ করে, ভাষা এক্সটি যদি মোট কার্যকরী ভাষা হয় তবে সমস্যাটি মোট কয়েকটি কার্যকরী ভাষায় সমাধান করতে পারে , আমি আগে ব্যবহৃত একই নির্বোধ কৌশল ব্যবহার করে।
পল স্ট্যানসিফার

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

@ টমেলিস: আমার যুক্তিটি মূলত কনরের মতো। আসলে, তাঁর পোস্ট ইতিমধ্যে এই পর্যবেক্ষণটি করেছে (কনরের বৈশিষ্ট্যযুক্ত বুদ্ধি সহ) যখন তিনি এটিকে "এপিমিনাইডস / ক্যান্টর / রাসেল / কুইন / গডেল / টুরিং আর্গুমেন্ট" বলেছেন।
নীল কৃষ্ণস্বামী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.