আমি আমার সিউডো-এলোমেলো নম্বর জেনারেটরের সময়কাল কীভাবে নির্ধারণ করতে পারি?


14

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

যদিও আমার প্রশ্নটি বিশেষত রৈখিক একত্রিত পদ্ধতি সম্পর্কে, তবে অন্যান্য পিআরএনজির ক্ষেত্রেও কিভাবে অনুশীলনগুলিতে সময়কাল গণনা করা হয় সে সম্পর্কে আরও জানার জন্য আমি উন্মুক্ত।


প্রাসঙ্গিক: en.wikipedia.org/wiki/...

বিটিডাব্লু, আপনি যদি এলএফএসআর ব্যবহার করে থাকেন তবে প্রতিক্রিয়া বহুপদী আদিম হলে সময়কাল সর্বাধিক । এই ক্ষেত্রে, পিএইচ পিরিয়ড (আমাকে কোট করবেন না; আমার কোর্স নোটগুলি সন্ধান করতে খুব অলস) যেখানে ফিডব্যাকের বহুপদী পি ( x ) এফ কিউ [ x ] ডিগ্রি এন , এবং কিউ এর আকার সহগের ক্ষেত্র। qnp(x)Fq[x]nq

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

উত্তর:


12

আপনি যদি নিজেকে পুরো চক্র LCG PRNG এর মধ্যে সীমাবদ্ধ রাখেন তবে উত্তরটি সহজ, সংজ্ঞা অনুসারে এটি কেবল m

প্রদত্ত বীজের জন্য একটি অ পূর্ণ পূর্ণ চক্র এলসিজি পিআরএনজির সময়সীমা সন্ধান করতে আপনাকে কেবল পিআরএনজি এর পুনরাবৃত্তির সংখ্যা গণনা করতে হবে যতক্ষণ না এটি আরও একবার বীজের মান উৎপন্ন করে।

রেফারেন্সযুক্ত উইকিপিডিয়া পৃষ্ঠা থেকে :

পিরিয়ড দৈর্ঘ্য

mc

  • cm
  • a1m
  • a1m

cma

.তিহাসিকভাবে, দুর্বল পছন্দগুলি এলসিজিগুলির অকার্যকর বাস্তবায়নের দিকে পরিচালিত করেছিল। এর একটি বিশেষ উদাহরণস্বরূপ উদাহরণটি হল র্যান্ডু যা ১৯ 1970০ এর দশকের গোড়ার দিকে ব্যাপকভাবে ব্যবহৃত হয়েছিল এবং এর ফলে অনেকগুলি ফলাফল দেখা দিয়েছে যা বর্তমানে এই দুর্বল এলসিজি ব্যবহারের কারণে প্রশ্নবিদ্ধ হচ্ছে।

আপনি কেন একটি সম্পূর্ণ চক্র জেনারেটর ব্যবহার করতে চান

আপনি যদি নিজেকে পুরো চক্রের এলসিজি পিআরএনজিতে সীমাবদ্ধ না করেন তবে আপনি একটি বিশাল ঝুঁকি নিচ্ছেন

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

আপনার অ্যাপ্লিকেশনের জন্য যথেষ্ট দীর্ঘ এমন একটি ক্রম তৈরি হয়েছে তা নিশ্চিত করার জন্য আপনাকে প্রতিটি সম্ভাব্য বীজের মান পরীক্ষা করতে হবে না।

আরও পড়া

সিউডো এলোমেলো সংখ্যা জেনারেটরের উপর একটি দুর্দান্ত প্রাইমারের জন্য, আমি আপনাকে দৃ strongly়ভাবে সুপারিশ করব যে আপনি র্যান্ডম সংখ্যার সংখ্যাসূচক রেসিপি অধ্যায়টি পড়ুন।


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

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

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

মনে রাখবেন যে স্ট্যাক এক্সচেঞ্জে, মন্তব্যগুলি বর্ধিত আলোচনার উদ্দেশ্যে নয়, সেই জন্য গণনা বিজ্ঞান চ্যাট । মন্তব্যগুলি প্রশ্নোত্তর উন্নত করতে সহায়তা করার জন্য, এবং বিভ্রান্তিকর, তাই আমরা এগুলি সর্বনিম্ন রাখার চেষ্টা করি। মন্তব্যগুলি সাময়িক হিসাবে বিবেচনা করা উচিত, যে কোনও মন্তব্য যা কোনও প্রশ্ন বা উত্তরকে উন্নত করতে সক্রিয়ভাবে সাহায্য করে না এমন কোনও পোস্ট সজ্জিত করার জন্য যে কোনও সময় মুছে ফেলা যেতে পারে ।
মার্ক বুথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.