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