আপনি যদি প্রোগ্রাম যাচাইকরণের সাথে পরিচিত হন তবে আপনি ব্যাকগ্রাউন্ডের আগে প্রশ্নটি পড়া পছন্দ করতে পারেন । আপনি যদি প্রোগ্রাম যাচাইকরণের সাথে পরিচিত না হন তবে আপনি এখনও এই প্রশ্নের উত্তর দিতে সক্ষম হতে পারেন তবে আপনি প্রথমে পটভূমিটি পড়া পছন্দ করতে পারেন ।
পটভূমি
এটি প্রায়শই বলা হয় যে আংশিক নির্ভুলতা পরীক্ষা করা অনস্বীকার্য। আলোচনার খাতিরে, আসুন ফ্লয়েড - হোয়ারের স্টাইলে এই বিবৃতিটিকে সুনির্দিষ্ট করে তোলার একটি বিশেষ উপায় বেছে নেওয়া যাক। একটি ফ্লোগ্রাফ হ'ল একটি বিশিষ্ট প্রাথমিক নোড সহ একটি ডিজিট্রাফ যা থেকে সমস্ত নোড পৌঁছনীয় । একটি প্রোগ্রাম হ'ল একটি ফ্লোগ্রাফ যার নোডগুলি কমান্ড। সেখানে কমান্ড তিন ধরনের হয় (1) অনুমানের অনুমান কুই , (2) গবেষকেরা জাহির কুই , এবং (3) বরাদ্দকরণ বনাম: = ঙ। এখানে q হল একটি ফল (প্রথম অর্ডার যুক্তি) সূত্র, e একটি ফল শব্দ, এবং v একটি পরিবর্তনশীল।
আমরা বলি যে প্রোগ্রামটি আংশিকভাবে সঠিক যখন প্রতিটি নোড এক্স শর্তযুক্ত একটি (x) এবং একটি পোস্টকন্ডিশন খ (x) এর সাথে এনটোট করার উপায় থাকে (1) প্রাথমিক নোডের পূর্ব শর্তটি বৈধ, (2) { a (x) } x { b (x) all সব কমান্ড এক্স এর জন্য ধারণ করে , এবং (3) ( বি (এক্স)) বোঝায় a (y) ) এক্স থেকে y পর্যন্ত সমস্ত প্রান্তের জন্য বৈধ । এখানে Hoare ট্রিপল নিম্নলিখিত হিসাবে সংজ্ঞায়িত করা হয়:
- { p } assert q { r } এর অর্থ হল ( p বোঝায় ( q এবং r )) বৈধ
- { p } অনুমান q { r } এর অর্থ (( p এবং q )) বোঝায় r ) বৈধ
- { P } V: = ই { R } মানে যে (( পি সঙ্গে ই প্রতিস্থাপিত বনাম ) বোঝা R ) বৈধ
এই আংশিক নির্ভুলতা পরীক্ষা করা কেন অনস্বীকার্য তা এখানে একটি হাত-avyেউ যুক্তিযুক্ত : একবার আপনি কিছু (এক্স) এবং কিছু পূরণ করলে খ (এক্স) কিছু ফোল সূত্র বৈধ কিনা তা পরীক্ষা করা দরকার এবং এটি অনস্বীকার্য।
আংশিক নির্ভুলতার সাথে টার্মিনেশনকে এনকোড করার একটি সাধারণ উপায় হ'ল কিছু বিশেষ যুক্তি যুক্ত করা যা মূলত বলে যে "গতবার যখন আমি মৃত্যুদণ্ড কার্যকর করা হয়েছিল, তখন থেকে সমাপ্তির দিকে অগ্রগতি হয়েছিল।" এই অগ্রগতি প্রতিবেদনগুলি অবশ্যই এমনভাবে স্থাপন করা উচিত যে সমস্ত অসীম ফ্লোগ্রাফের উপর হাঁটতে হবে (যেটি প্রাথমিক নোডের সাথে শুরু হয়) অসীম অনেকগুলি অগ্রগতি জোর দিয়ে থাকে। আরও সুনির্দিষ্টভাবে বলা যাক যে অগ্রগতি প্রতিবেদনে সর্বদা ফর্ম জোড় থাকে u < v , যেখানে আপনি এবং ভি ইতিবাচক পূর্ণসংখ্যক হন, তার আগে অ্যাসাইনমেন্টটি u : = f হয় এবং তার পরে v : = u নির্ধারিত হয় । এখানে চ একটিভেরিয়েন্ট ফাংশন , আপনি এর বর্তমান মান এবং v এর পূর্বের মান। এখন, যেহেতু আমরা "ইতিবাচক পূর্ণসংখ্যার" কথা বলি এবং আমরা সেগুলির তুলনা করি, তাই আমাদের নিশ্চিত হওয়া দরকার যে ফলস থেকে কিছুটা বেশি পাওয়া যায়: আসুন ধরা যাক পানো পাটিগণিত উপলভ্য। (আমি এই পছন্দটি সম্পর্কে দৃ strongly়ভাবে অনুভব করি না convenient সুবিধাজনক হলে অবহেলা করতে নির্দ্বিধায়)) অবশ্যই প্রোগ্রামে উল্লিখিত অন্য কোনও ফাংশন এবং ধ্রুবকগুলি ব্যবহার করতে পারে f (নোট করুন যে প্রোগ্রামের শুরুতে অনুমান সংযোজন নন-লজিকাল অ্যাকিমিয়ামগুলি প্রবর্তনের সমতুল্য।)
এখন, যদি অগ্রগতি দৃser়তা সহ প্রোগ্রামটি এখনও আংশিকভাবে সঠিক হয়, তবে আমরা জানি যে আসল প্রোগ্রামটি সমাপ্ত হয়।
প্রশ্ন
একটি সমাপ্ত কর্মসূচি দেওয়া, এটি অনুভব করে যে অগ্রগতি দৃ as়তার জন্য বৈকল্পিক ফাংশন নিয়ে আসা শক্ত। তবে কত কঠিন? (আমি জানি যে উপরের বিশাল পটভূমি থাকা সত্ত্বেও, আপনি কীভাবে এটি দেখতে চান তার উপর নির্ভর করে আমি এখনও এই প্রশ্নটি খোলামেলা বা খারাপ-সংজ্ঞায়িত রেখেছি))
এটিকে অন্যভাবে বলার জন্য: আমি এমন একটি রেফারেন্স খুঁজছি যা সমাপ্তি আংশিক সঠিকতার সাথে হ্রাস করার সমস্যাটিকে আনুষ্ঠানিক করে এবং তার জটিলতা সম্পর্কে কিছু বলে। একটি উত্তর যা এই সমস্ত করে অবশ্যই স্বাগত হবে।