এক্সেলে লটারি সিমুলেশন

লটারি ভাগ্যের সন্ধান নয়,

এটা পরাজিতদের জন্য একটি শিকার.

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

В этой статье мне хотелось бы ответить на часть этих вопросов. Благо, Excel для решения таких задач достаточно инструментов, многие из которых, кстати, могут пригодиться и болочахизихения

টাস্ক 1. জয়ের সম্ভাবনা

একটি উদাহরণ হিসাবে 6টি লটারির মধ্যে ক্লাসিক স্টলোটো 45টি ধরা যাক৷ নিয়ম অনুসারে, শুধুমাত্র যারা 10টির মধ্যে 6টি সংখ্যা অনুমান করেছে তারাই একটি সুপার পুরস্কার (45 মিলিয়ন রুবেল বা তার বেশি যদি পূর্ববর্তী ড্র থেকে পুরষ্কার তহবিলের ব্যালেন্স জমা হয়ে থাকে) পাবে। আপনি যদি 5 অনুমান করেন তবে আপনি 150 হাজার রুবেল পাবেন, যদি 4 - 1500 রুবেল হয়। , যদি 3টির মধ্যে 6টি সংখ্যা হয়, তাহলে 150 রুবেল, যদি 2টি সংখ্যা – আপনি টিকিটে ব্যয় করা 50 রুবেল ফেরত দেবেন। শুধুমাত্র একটি বা কিছুই অনুমান করুন - গেম প্রক্রিয়া থেকে শুধুমাত্র এন্ডোরফিন পান।

স্ট্যান্ডার্ড ফাংশন ব্যবহার করে জয়ের গাণিতিক সম্ভাবনা সহজেই গণনা করা যেতে পারে NUMBERCOMB (একত্রিত), যা এই ধরনের ক্ষেত্রে Microsoft Excel এ উপলব্ধ। এই ফাংশনটি M এর মধ্যে N সংখ্যার সংমিশ্রণের সংখ্যা গণনা করে। তাই আমাদের "6টির মধ্যে 45" লটারির জন্য এটি হবে:

=ЧИСЛКОМБ(৪৫;৬)

… যা 8 এর সমান, এই লটারিতে সম্ভাব্য সমস্ত সংমিশ্রণের মোট সংখ্যা।

আপনি যদি আংশিক জয়ের সম্ভাবনা গণনা করতে চান (2টির মধ্যে 5-6টি সংখ্যা), তাহলে আপনাকে প্রথমে এই ধরনের বিকল্পগুলির সংখ্যা গণনা করতে হবে, যা অনুমান করা সংখ্যাগুলির সংমিশ্রণের সংখ্যার গুণফলের সমান অবশিষ্ট (6-45) = 6টি সংখ্যার মধ্যে অনুমান না করা সংখ্যার সংখ্যা দ্বারা 39। তারপরে আমরা প্রতিটি বিকল্পের জন্য জয়ের প্রাপ্ত সংখ্যা দ্বারা সমস্ত সম্ভাব্য সংমিশ্রণের মোট সংখ্যা (8) ভাগ করি - এবং আমরা প্রতিটি ক্ষেত্রে বিজয়ী হওয়ার সম্ভাবনা পাই:

এক্সেলে লটারি সিমুলেশন

যাইহোক, সম্ভাব্যতা, উদাহরণস্বরূপ, আমাদের দেশে একটি বিমান দুর্ঘটনায় মারা যাওয়ার সম্ভাবনা প্রায় এক মিলিয়নে 1 অনুমান করা হয়। এবং রুলেটে একটি ক্যাসিনোতে জেতার সম্ভাবনা, এক নম্বরে সবকিছু বাজি ধরে 1 থেকে 37।

যদি উপরের সবগুলি আপনাকে থামাতে না পারে এবং আপনি এখনও আরও খেলার জন্য প্রস্তুত থাকেন তবে চালিয়ে যান।

টাস্ক 2. প্রতিটি সংখ্যার সংঘটনের ফ্রিকোয়েন্সি

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

উদাহরণ স্বরূপ, তাদের সংগঠক স্টোলোটোর ওয়েবসাইট থেকে 2020-21 সালে সংঘটিত 6টি লটারি ড্রয়ের মধ্যে 45-এর সমস্ত ডেটা নেওয়া যাক, নাম সহ বিশ্লেষণের জন্য সুবিধাজনক এমন একটি "স্মার্ট" টেবিলের আকারে ডিজাইন করা হয়েছে। ট্যাব আর্কাইভ সার্কুলেশন. Розыгрыши проходят два раза в день (в 11 утра и в 11 вечера), т.е. в этой таблице у нас полторы тысячи тиражей-строк — вполне достаточная для начала выборка для анализа:

এক্সেলে লটারি সিমুলেশন

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

এক্সেলে লটারি সিমুলেশন

গড়ে যেকোন বল পড়লে ১৪৫৯ ড্র * ৬ বল / ৪৫ সংখ্যা = ১৯৪,৫৩ বার (এটিকেই পরিসংখ্যানে বলা হয় ম্যাটেম্যাটিকস অজিডানিমে, но хорошо видно, что некоторые числа (27, 32, 11…) выпадали заметно чаще (+18%), а некоторые (10, 21, 6…) (%15. XNUMX, XNUMX…) Соответственно, можно попробовать использовать эту информацию для стратегии выигрыша, т.е. либо ставить на те шары, что выпадают чаще, либо наоборот — делать ставтку на редко выпадающие шары в надегодающие шары в надегожде,.

টাস্ক 3. কোন সংখ্যাগুলি দীর্ঘদিন ধরে আঁকা হয়নি?

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

Можно легко найти все давно не выпадавшие номера, если отсортировать наш архив тиражей за 2020-21 год по убадавшие আরও উন্মুক্ত (ম্যাচ). এটি উপরের থেকে নীচে (অর্থাৎ নতুন থেকে পুরানো রান) প্রতিটি নম্বরের জন্য অনুসন্ধান করবে এবং রানের ক্রমিক নম্বর দেবে (বছরের শেষ থেকে শুরু পর্যন্ত গণনা) যেখানে এই সংখ্যাটি শেষ বাদ দেওয়া হয়েছিল:

এক্সেলে লটারি সিমুলেশন

Задача 4. জেনারেটর sluchaйных chisel

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

    এক্সেলে লটারি সিমুলেশন

এটা করতে:

  1. আসুন একটি "স্মার্ট" নামের টেবিল তৈরি করি টেবিল জেনারেটর, যেখানে প্রথম কলাম হবে আমাদের সংখ্যা 1 থেকে 45 পর্যন্ত।
  2. দ্বিতীয় কলামে, প্রতিটি সংখ্যার জন্য ওজন লিখুন (আমাদের একটু পরে এটির প্রয়োজন হবে)। যদি সমস্ত সংখ্যা আমাদের কাছে সমানভাবে মূল্যবান হয় এবং আমরা তাদের সমান সম্ভাবনার সাথে বেছে নিতে চাই, তাহলে ওজন সর্বত্র 1 এর সমান সেট করা যেতে পারে।
  3. তৃতীয় কলামে আমরা ফাংশন ব্যবহার করি SLCHIS (RAND), এক্সেল генерирует случайное дробное число от 0 до 1, добавив к нему вес из предыдущего столбца. Таким образом каждый раз при пересчёте листа (нажатии на клавишу F9) 45টি র্যান্ডম সংখ্যার একটি নতুন সেট তৈরি করা হবে, তাদের প্রতিটির ওজন বিবেচনা করে।
  4. এর একটি চতুর্থ কলাম যোগ করা যাক, যেখানে ফাংশন ব্যবহার করে RANK (র‍্যাঙ্ক) вычислим ранг (позицию в топе) для каждого из чисел.

এখন ফাংশনটি ব্যবহার করে 6 নম্বর র‌্যাঙ্কের মাধ্যমে প্রথম ছয়টি সংখ্যা নির্বাচন করা বাকি আছে আরও উন্মুক্ত (ম্যাচ):

এক্সেলে লটারি সিমুলেশন

При нажатии на клавишу F9 এক্সেল শীটের সূত্রগুলো পুনরায় গণনা করা হবে এবং প্রতিবার আমরা সবুজ কক্ষে 6টি সংখ্যার একটি নতুন সেট পাব। অধিকন্তু, কলাম B এ যে সংখ্যাগুলির জন্য একটি বড় ওজন সেট করা হয়েছিল সেগুলি আনুপাতিকভাবে উচ্চতর র্যাঙ্ক পাবে এবং এইভাবে, আমাদের এলোমেলো নমুনার ফলাফলগুলিতে আরও প্রায়ই প্রদর্শিত হবে। যদি সমস্ত সংখ্যার জন্য ওজন একই সেট করা হয়, তবে তাদের সকলকে একই সম্ভাব্যতার সাথে নির্বাচন করা হবে। এইভাবে আমরা 6টির মধ্যে 45টির একটি ন্যায্য এবং নিরপেক্ষ র্যান্ডম নম্বর জেনারেটর পাই, তবে প্রয়োজনে বিতরণের এলোমেলোতার সাথে সামঞ্জস্য করার ক্ষমতা সহ।

আমরা যদি প্রতিটি ড্রতে একটির সাথে না খেলার সিদ্ধান্ত নিই, উদাহরণস্বরূপ, একবারে দুটি টিকিটের সাথে, যার প্রতিটিতে আমরা পুনরাবৃত্তি না হওয়া সংখ্যাগুলি বেছে নেব, তবে আমরা কেবল নীচে থেকে সবুজ পরিসরে অতিরিক্ত লাইন যুক্ত করতে পারি, র‍্যাঙ্কে 6, 12, 18, ইত্যাদি যোগ করা হচ্ছে। d যথাক্রমে:

এক্সেলে লটারি সিমুলেশন

টাস্ক 5. এক্সেলে লটারি সিমুলেটর

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

সবকিছুকে যতটা সম্ভব বাস্তবের কাছাকাছি করতে, এক মুহুর্তের জন্য কল্পনা করুন যে এটি 1 জানুয়ারি, 2022 এবং আমাদের সামনে এই বছরের ড্র রয়েছে, যেখানে আমরা খেলার পরিকল্পনা করছি। আমি টেবিলে প্রকৃত ড্রপ নম্বর লিখলাম tablTiraži2022, পরবর্তী গণনার সুবিধার জন্য একে অপরের থেকে অতিরিক্ত অঙ্কিত সংখ্যাগুলিকে পৃথক কলামে আলাদা করা:

এক্সেলে লটারি সিমুলেশন

একটি পৃথক শীটে খেলা নামের সাথে একটি "স্মার্ট" টেবিল আকারে মডেলিংয়ের জন্য একটি ফাঁকা তৈরি করুন ট্যাবআইগ্রা নিম্নলিখিত ফর্ম:

এক্সেলে লটারি সিমুলেশন

এখানে:

  • উপরের হলুদ কক্ষে, আমরা ম্যাক্রোর জন্য 2022-এ ড্রয়ের সংখ্যা সেট করব যেখানে আমরা অংশগ্রহণ করতে চাই (1-82) এবং প্রতিটি ড্রতে আমরা কতগুলি টিকিট খেলব।
  • 11 সালের ড্র শীট থেকে প্রথম 2022টি কলামের (AJ) ডেটা ম্যাক্রো দ্বারা কপি করা হবে।
  • পরবর্তী ছয়টি কলামের (KP) ডেটা ম্যাক্রো শিট থেকে নেবে উত্পাদক, যেখানে আমরা একটি এলোমেলো সংখ্যা জেনারেটর প্রয়োগ করেছি (উপরে সমস্যা 4 দেখুন)।
  • কলাম Q-এ, আমরা ড্রপ করা সংখ্যা এবং ফাংশন ব্যবহার করে তৈরি হওয়া সংখ্যার মধ্যে মিলের সংখ্যা গণনা করি SUMPRODUCT (SUMPRODUCT).
  • В столбце R вычисляем финансовый результат (если не выиграли, то минус 50 рублей за билет, если выиграли, то призультат)।
  • শেষ কলাম S-এ, প্রক্রিয়ার গতিশীলতা দেখার জন্য আমরা সমগ্র গেমের সামগ্রিক ফলাফলকে একটি ক্রমবর্ধমান মোট হিসাবে বিবেচনা করি।

এবং এই পুরো কাঠামো পুনরুজ্জীবিত করতে, আমাদের একটি ছোট ম্যাক্রো প্রয়োজন। ট্যাবে ডেভেলপার (বিকাশকারী) একটি দল নির্বাচন করুন ভিসুয়াল বেসিক অথবা কীবোর্ড শর্টকাট ব্যবহার করুন অল্টার+F11. তারপর মেনুর মাধ্যমে একটি নতুন খালি মডিউল যোগ করুন সন্নিবেশ - মডিউল এবং সেখানে নিম্নলিখিত কোড লিখুন:

সাব লটারি() পূর্ণসংখ্যা হিসাবে iGames, iTickets পূর্ণসংখ্যা হিসাবে, i যত দীর্ঘ, t হিসাবে পূর্ণসংখ্যা, b হিসাবে পূর্ণসংখ্যা 'объявляем переменные для ссылки на листы সেট wsGame = Worksheets("Игра") ওয়ার্কশীট সেট ("Игра") SetSets wsArchive = ওয়ার্কশীট("Тиражи 2022") iGames = wsGame.Range("C1") 'কোলিচেস্টভো তিরাজেই iTickets = wsGame.Range("C2") 'количество билетов in wsGame.Range = wsGame.Range("C5") ("6:1048576"). মুছুন 'очищаем старые данные'র জন্য t = 1 থেকে iGames এর জন্য b = 1 থেকে iTickets' копируем выигравшие номера с листа Тиражи 2022.C. (1, 1) কপি গন্তব্য:=wsGame.Cells(i, 1) 'копируем и вставляем специальной вставкой значений сгенерированные номера с листанервонные номера с листаNGame.Cells(i, 10)". পেস্ট স্পেশাল পেস্ট:=xlPasteValues ​​i = i + 1 পরবর্তী b পরবর্তী t শেষ সাব  

এটি হলুদ কক্ষগুলিতে পছন্দসই প্রাথমিক পরামিতিগুলি প্রবেশ করা এবং ম্যাক্রোটি চালানোর জন্য অবশেষ বিকাশকারী - ম্যাক্রো (ডেভেলপার - ম্যাক্রো) বা কীবোর্ড শর্টকাট অল্টার+F8.

এক্সেলে লটারি সিমুলেশন

স্বচ্ছতার জন্য, আপনি খেলা চলাকালীন অর্থের ভারসাম্যের পরিবর্তনকে প্রতিফলিত করে ক্রমবর্ধমান মোটের সাথে শেষ কলামের জন্য একটি চিত্রও তৈরি করতে পারেন:

এক্সেলে লটারি সিমুলেশন

বিভিন্ন কৌশলের তুলনা

এখন, তৈরি করা সিমুলেটর ব্যবহার করে, আপনি 2022 সালের বাস্তব ড্রতে যেকোনো গেমের কৌশল পরীক্ষা করতে পারেন এবং এটি যে ফলাফল আনবে তা দেখতে পারেন। আপনি যদি প্রতিটি ড্রতে 1 টি টিকিট খেলেন, তাহলে "বরই" এর সামগ্রিক চিত্রটি এরকম কিছু দেখায়:

এক্সেলে লটারি সিমুলেশন

এখানে:

  • উত্পাদক এমন একটি খেলা যেখানে প্রতিটি ড্রতে আমরা আমাদের জেনারেটর দ্বারা তৈরি এলোমেলো সংখ্যাগুলি নির্বাচন করি (একই ওজনের সাথে)।
  • ফেভারিটে এমন একটি খেলা যেখানে প্রতিটি ড্রতে আমরা একই সংখ্যা ব্যবহার করি - যেগুলি গত দুই বছরে প্রায়শই ড্রতে পড়ে গেছে (27, 32, 11, 14, 34, 40)।
  • বাইরের - একই, কিন্তু আমরা সবচেয়ে বিরল ড্রপ-ডাউন নম্বর ব্যবহার করি (12, 18, 26, 10, 21, 6)।
  • ঠান্ডা - সমস্ত ড্রতে আমরা এমন সংখ্যা ব্যবহার করি যেগুলি দীর্ঘদিন ধরে পড়েনি (35, 5, 39, 11, 6, 29)।

আপনি দেখতে পাচ্ছেন, কোনও বড় পার্থক্য নেই, তবে র্যান্ডম নম্বর জেনারেটর অন্যান্য "কৌশলগুলির" চেয়ে একটু ভাল আচরণ করে।

Можно также попробовать играть большим количеством билетов в каждом тираже, чтобы перекрыть большее количество большее количество вальшим количеством билетов уппу)।

এলোমেলোভাবে জেনারেট হওয়া সংখ্যার সাথে একটি টিকিটের সাথে প্রতিটি ড্রতে খেলা (একই ওজনের সাথে):

এক্সেলে লটারি সিমুলেশন

এলোমেলোভাবে জেনারেট হওয়া সংখ্যার সাথে প্রতিটি ড্রতে 10 টি টিকিট খেলা (একই ওজনের সাথে):

এক্সেলে লটারি সিমুলেশন

র্যান্ডম সংখ্যা সহ প্রতিটি ড্রতে 100 টি টিকিট খেলা (একই ওজনের সাথে):

এক্সেলে লটারি সিমুলেশন

মন্তব্যগুলি, যেমন তারা বলে, অপ্রয়োজনীয় – সব ক্ষেত্রেই একটি জমা ড্রেন অনিবার্য 🙂

নির্দেশিকা সমন্ধে মতামত দিন