কম্পিউটার টিউটোরিয়াল

বার্ট্রান্ডের ব্যালট থিওরেমের অ্যাপ্লিকেশন: C/C++


বার্ট্রান্ডের অরিজিনাল পেপারে, সে একটি প্রুফ ব্যাখ্যা করেছেন যা একটি জেনারেল ফর্মুলা ওপর নির্ভর করে ফেভourable সিকোয়েন্সের সংখ্যা বের করার জন্য রিকারশন রিলেশন ব্যবহার করে।

উদাহরণ

৫ ভোটার আছে, যাদের মধ্যে ৩ জন ক্যান্ডিডেট A-কে ভোট দিয়েছে এবং ২ জন ক্যান্ডিডেট B-কে (তাই p = 3 এবং q = 2)। ভোট দেওয়ার অর্ডারের ১০টি সম্ভাবনা রয়েছে −

  • AAABB

  • AABAB

  • ABAAB

  • BAAAB

  • AABBA

  • ABABA

  • BAABA

  • ABBAA

  • BABAA

  • BBAAA

AABAB অর্ডারের জন্য, ইলেকশন প্রগ্রেস করার সাথে সাথে ভোটের ট্যালি নিচে দেওয়া হলো −

প্রতিটি কলামের জন্য A-এর ট্যালি সর্বদা B-এর চেয়ে বেশি তাই A সর্বদা স্ট্রিক্টলি B-এর आगे। AABBA অর্ডারের জন্য, ইলেকশন প্রগ্রেস করার সাথে সাথে ভোটের ট্যালি নিচে দেওয়া হলো −

ক্যান্ডিডেট A A B A B
A 1 2 2 3 3
B 0 0 1 1 2
ক্যান্ডিডেট A A B B A
A 1 2 2 2 3
B 0 0 1 2 2

এই অর্ডারের সাথে, B A-র সাথে চতুর্থ ভোটের পর টাইড হয়, তাই A সর্বদা স্ট্রিক্টলি B-এর আগে নয়। ১০টি সম্ভাব্য অর্ডারের মধ্যে, A শুধু AAABB এবং AABAB-এ সর্বদা B-এর আগে থাকে। তাই প্রোবাবিলিটি যে A সর্বদা স্ট্রিক্টলি আগে থাকবে হল 2/10 = 1/5 এবং এটি ঠিক থিওরেমের প্রিডিকশন অনুযায়ী 3-2 / 3+2।


  1. C/C++-তে putwchar() ফাংশন

  2. C/C++-তে memcpy() ফাংশন

  3. AA ট্রি: C/C++-তে ব্যালেন্সড ট্রি ডেটা স্ট্রাকচার

  4. সি/সি++-এ শর্তাধীন সম্ভাবনার জন্য বেইজ থিওরেম