র‌্যান্ড () ফাংশন এবং আরএনজি (র‌্যান্ডম নম্বর জেনারেটর) পেরিফেরিয়ালের মধ্যে পার্থক্য কী?


9

আমি এসএমএমএফএফএক্সএক্সএক্সএক্সএক্সএক্স এমসিইউগুলিতে আরএনজি (র‌্যান্ডম নম্বর জেনারেটর) পেরিফেরিয়ালের জন্য আশ্চর্য। অল্পক্ষণের এই রেফারেন্স ম্যানুয়াল (পৃষ্ঠা 748)। অন্যদিকে, আমাদের স্ট্যান্ডলিব লাইব্রেরিতে র্যান্ড () ফাংশন রয়েছে যা একই কাজ করে। এখন আমার দুটি প্রশ্ন আছে:

  1. র‌্যান্ড () ফাংশন এবং আরএনজি (র‌্যান্ডম নম্বর জেনারেটর) পেরিফেরিয়ালের মধ্যে পার্থক্য (সুবিধা এবং অসুবিধা) কী কী?
  2. এই অংশটি দেখুন:

বৈশিষ্ট্য

এই উভয় বিকল্প (বিশেষত দ্বিতীয় বিকল্প) সম্পর্কে দয়া করে ব্যাখ্যা করুন।

উত্তর:


12

ডেভের উত্তরটি বেশ সুন্দরভাবে এটিকে আবার শুরু করুন, তবে দ্বিতীয় বিকল্পটিতে আরও কিছুটা স্পষ্ট করতে:

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

এলোমেলো সংখ্যা জেনারেটরের সাথে আরেকটি গুরুত্বপূর্ণ বিষয় হ'ল এনট্রপি উত্সটি প্রতি ইউনিট সময়কালে কেবলমাত্র একটি সীমিত পরিমাণে এনট্রপি তৈরি করতে পারে। একটি ভাল উদাহরণ চুয়া সার্কিট: এটি বেশ এলোমেলো হলেও এটির গতি খুব কম এবং সম্ভবত বাস্তব জীবনের প্রয়োগের জন্য ব্যবহার করা যায় না।

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

ক্লক ড্রিফ্টিং কোনও কোয়ান্টাম এফেক্ট নয়, সুতরাং এটি মডেল করা যেতে পারে তবে এটি যথেষ্ট এলোমেলো কারণ এটি তাপমাত্রা, সিলিকন প্রক্রিয়া, অপারেশনের ফ্রিকোয়েন্সি, বৈদ্যুতিক শব্দ, ব্যাকগ্রাউন্ড বিকিরণ ইত্যাদির মতো অনেকগুলি পরামিতিগুলির উপর নির্ভরশীল because ।

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

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

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


7

মূল পার্থক্যটি হ'ল rand()লাইব্রেরির ফাংশনটি সিউডোর্যান্ডম সংখ্যা জেনারেটর - কোনও নির্দিষ্ট শুরুর (বীজ) মান দেওয়া, এটি সর্বদা সংখ্যার একই ক্রম উত্পাদন করে।

অন্যদিকে, আরএনজি পেরিফেরাল একটি সত্য র্যান্ডম সংখ্যার জেনারেটর এবং এটি সংখ্যার অপরিবর্তনীয় ক্রম তৈরি করবে।


ধন্যবাদ। এবং এই উভয় বিকল্প ..?
রোহ

2
"এবং এই দুটি বিকল্পই কি ..?" এর অর্থ কি? এটা কি একটা প্রশ্ন?
জন ইউ

2

আপনার দু'টি বিষয়ের রূপরেখা অপেক্ষাকৃত সহজে বর্ণনা করা যায়:

  • 1: আপনি প্রতি 40 ঘড়ির চক্রের চেয়ে দ্রুত এলোমেলো সংখ্যা তৈরি করতে পারবেন না, সুতরাং 48MHz / 40 = M 1 এম নমুনা / গুলি এর ফলাফল
  • 2: হার্ডওয়্যারটিতে একটি মনিটর থাকে যা প্রতিটি উত্পন্ন নম্বরটি অদ্ভুত আচরণের জন্য পরীক্ষা করবে। উদাহরণস্বরূপ, যদি আপনি তাপমাত্রা উত্স হিসাবে ব্যবহার করেন এবং একটি উচ্চ স্থিতিশীল তাপমাত্রার পরিবেশ থাকে, তবে এটি ঘটতে পারে যে আরএনজি আবারও একই সংখ্যার ক্রম তৈরি করবে (যদি আপনি একই বীজের সাথে শুরু করেন তবে সিউডো-এলোমেলো নম্বর জেনারেটরটি করবে) । উপাদানটি এটিকে নিরীক্ষণ করবে এবং আরএনজি যেমন প্রত্যাশার সাথে কাজ করে তা আপনাকে একটি সংকেত সরবরাহ করবে। আপনার সংখ্যাগুলি "সত্যই" এলোমেলো হওয়ার প্রয়োজন হলে আপনি সম্ভবত এই পতাকাটি নিখরচায় দেখতে পারেন they কীভাবে নিখুঁতভাবে এটি করা হয় এবং আরএনজি আসলে কীভাবে কাজ করে তা সম্ভবত বাকী লেখায় দেওয়া হয়েছে।

1

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

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

যদি, 4 এবং 23 এ অবতরণের পরে, পরবর্তী স্পিনটি 4 হয়, যা অগত্যা কোনও সমস্যা নির্দেশ করে না। একটি পরিস্থিতিতে 4 / 1/38 সময়ের মধ্যে উপস্থিত হওয়া উচিত। আরও, এলোমেলো তথ্য অর্জনের জন্য পকেটের নম্বরটি ক্যাপচার করা উচিত, যেহেতু পকেটের বিভিন্ন অংশে বলটি প্রায়শই কীভাবে আসতে হবে সে সম্পর্কে দরকারী কিছুই জানা যায় না। যাইহোক, পকেটে বলটি কোথায় থামে এবং কোনও অস্বাভাবিক নিদর্শন জন্য নজর রাখার জন্য "পর্যবেক্ষণ" করতে নম্বর রেকর্ডিংয়ের জন্য এটি কার্যকর হতে পারে। অবস্থানগুলির বিতরণটি কোনও সমস্যার ইঙ্গিত ছাড়াই সামনের বা পিছনের দিকে ঝুঁকতে পারে তবে বিতরণে যদি সংকীর্ণ স্পাইক থাকে যা উদ্বেগের কারণ হতে পারে।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.