আমি এটি একটি শট দেব, যেহেতু আমি অন্যান্য উত্তরের কয়েকটি দেওয়া পরামর্শ দ্বারা যথেষ্ট বিচলিত।
আসুন two দুটি আরএনজি দ্বারা উত্পাদিত অসীম বিট ক্রম হতে হবে (প্রাথমিকভাবে রাষ্ট্রীয় অবস্থা শনাক্ত হওয়ার পরে পিআরএনজিগুলি প্রথমে ডিস্ট্রিমেন্টিক হয় না), এবং আমরা ক্রম using ব্যবহারের সম্ভাবনা বিবেচনা করছি কিছু অর্থে আচরণের উন্নতির আশা নিয়ে senseঅনেকগুলি বিভিন্ন উপায়ে রয়েছে যার মধ্যে প্রতিটি এবং এর তুলনায় আরও ভাল বা খারাপ হিসাবে বিবেচনা করা যেতে পারে ; এখানে একটি ছোট মুষ্টিমেয় যে আমি বিশ্বাস করি অর্থবোধক, দরকারী এবং "আরও ভাল" এবং "আরও খারাপ" শব্দের সাধারণ ব্যবহারের সাথে সামঞ্জস্যপূর্ণ:→ X ⊕ → Y → X ⊕ → Y → X → YX⃗ ,Y⃗ X⃗ ⊕Y⃗ X⃗ ⊕Y⃗ X⃗ Y⃗
- (0) ক্রমটির প্রকৃত এলোমেলো হওয়ার সম্ভাবনা বৃদ্ধি বা হ্রাস পায়
- (১) পর্যবেক্ষণযোগ্য অ-এলোমেলো হওয়ার সম্ভাবনা বাড়ে বা হ্রাস পায় (কিছু পর্যবেক্ষকের সম্মতিতে কিছু পরিমাণ যাচাই-বাছাই করা সম্ভবত, সম্ভবত)
- (২) তীব্রতা / পর্যবেক্ষণযোগ্য অ-এলোমেলোতার স্পষ্টতা বৃদ্ধি বা হ্রাস পায়।
প্রথমে (0) সম্পর্কে চিন্তা করা যাক, এই তিনটির মধ্যে কেবলমাত্র একটিই সুনির্দিষ্ট হওয়ার আশা রয়েছে। লক্ষ্য করুন যে, বাস্তবে, দুটি ইনপুট আরএনজি সত্যই এলোমেলো, নিরপেক্ষ এবং অপরের তুলনায় স্বতন্ত্র, তবে এক্সওআর ফলাফলটি সত্যই এলোমেলো এবং পক্ষপাতহীনও হবে। এই বিষয়টি মাথায় রেখে, বিবেচনা করুন যখন আপনি বিশ্বাস করেন যে truly সত্যই এলোমেলো নিরপেক্ষ বিচ্ছিন্ন বিট স্ট্রিম হতে পারে তবে আপনি পুরোপুরি নিশ্চিত নন। যদি are যদি তাদের প্রতিটি সম্পর্কে ভুল বলে মনে করেন তবে যদি truly সত্যিকারের-এলোমেলো না হয় তবে সম্ভবত then
, বাস্তবে এর চেয়ে অনেক কমX⃗ ,Y⃗ εX,εYX⃗ ⊕Y⃗ ≤εXεY<min{εX,εY}εX,εY are 0 এর খুব কাছাকাছি ধরে ধরে নেওয়া হয় ("আপনি তাদের সত্যিকারের এলোমেলো মনে করেন")। এবং প্রকৃতপক্ষে এটি এর চেয়েও ভাল, যখন আমরা truly এর সম্ভাবনাটি সত্যই এলোমেলো না হওয়া সত্ত্বেও সত্যই স্বাধীন হওয়ার বিষয়টি বিবেচনা করি:
অতএব আমরা সিদ্ধান্তে পৌঁছাতে পারি যে অর্থে (0), ক্ষতি করতে পারে না এবং সম্ভাব্যভাবে অনেক সাহায্য করতে পারে।X⃗ ,Y⃗
Pr(X⃗ ⊕Y⃗ not truly random)≤min{Pr(X⃗ not truly random),Pr(Y⃗ not truly random),Pr(X⃗ ,Y⃗ dependent)}.
তবে, (0) পিআরএনজির পক্ষে আকর্ষণীয় নয়, যেহেতু পিআরএনজি-র ক্ষেত্রে কোনও সিকোয়েন্সই সত্যই এলোমেলো হওয়ার কোনও সম্ভাবনা নেই।
সুতরাং এই প্রশ্নের জন্য, যা আসলে পিআরএনজি সম্পর্কে, আমাদের অবশ্যই (1) বা (2) এর মতো কিছু সম্পর্কে কথা বলছি। যেহেতু এগুলি "পর্যবেক্ষণযোগ্য", "গুরুতর", "সুস্পষ্ট", "আপাত" এর মতো বৈশিষ্ট্য এবং পরিমাণের দিক থেকে, আমরা এখন কোলমোগোরভ জটিলতার কথা বলছি, এবং আমি সেটিকে যথাযথ করার চেষ্টা করব না। তবে আমি আশাবাদী বিতর্কিত দৃ as়তার পক্ষে এতদূর এগিয়ে যাব যে "01100110 ..." (পিরিয়ড = 4) "01010101 ..." (সময়কাল = 2) এর চেয়েও খারাপ যা " 00000000 ... "(ধ্রুবক)।
এখন, কেউ অনুমান করতে পারে যে (1) এবং (2) (0) হিসাবে একই প্রবণতা অনুসরণ করবে এবং সুতরাং "XOR আঘাত করতে পারে না" উপসংহারটি এখনও ধরে রাখতে পারে। তবে, উল্লেখযোগ্য সম্ভাবনাটি লক্ষ্য করুন যে বা neither পর্যবেক্ষণযোগ্যভাবে এলোমেলো ছিল না, তবে তাদের মধ্যে পারস্পরিক সম্পর্কগুলি causeকে পর্যবেক্ষণযোগ্যভাবে এলোমেলো করে । অবশ্যই এর সবচেয়ে গুরুতর যখন (বা ) হয়, সেই ক্ষেত্রে constant ধ্রুবক, সমস্ত সম্ভাব্য ফলাফলগুলির মধ্যে সবচেয়ে খারাপ; সাধারণভাবে, এটি দেখতে সহজ, নির্বিশেষে এবং , goodX⃗ Y⃗ X⃗ ⊕Y⃗ X⃗ =Y⃗ X⃗ =not(Y⃗ )X⃗ ⊕Y⃗ X⃗ Y⃗ X⃗ এবং তাদের জোরটি পর্যবেক্ষণযোগ্য-ননরানডম না হওয়ার জন্য independent এর স্বতন্ত্র "কাছাকাছি" হওয়া দরকার। প্রকৃতপক্ষে, পর্যবেক্ষণযোগ্য-নির্ভরশীল না হয়ে যুক্তিসঙ্গতভাবে as হিসাবে পর্যবেক্ষণযোগ্য- হিসাবে সংজ্ঞা দেওয়া যেতে পারে ।Y⃗ X⃗ ⊕Y⃗
এই ধরনের আশ্চর্য নির্ভরতা সত্যই একটি বড় সমস্যা হিসাবে দেখা দেয়।
কী ভুল হয় তার একটি উদাহরণ
প্রশ্নটিতে বলা হয়েছে যে "আমি একই পরিবার থেকে আসা বেশ কয়েকটি লিনিয়ার প্রতিক্রিয়া শিফট রেজিস্টারগুলির একসাথে কাজ করার সাধারণ উদাহরণ বাদ দিচ্ছি না"। তবে আমি আপাতত সেই ব্যতিক্রমটিকে বাদ দিতে যাচ্ছি, এক্সওরিংয়ের সাথে যে ধরণের জিনিস ভুল হতে পারে তার একটি খুব সাধারণ স্পষ্ট বাস্তব জীবনের উদাহরণ দেওয়ার জন্য।
আমার উদাহরণটি র্যান্ডের পুরানো বাস্তবায়ন () যা ইউনিক্স সার্কাসের 1983 এর কিছু সংস্করণে ছিল I আইআইআরসি, র্যান্ড () ফাংশনটির এই প্রয়োগের নিম্নলিখিত বৈশিষ্ট্য ছিল:
- র্যান্ড () -এর প্রতিটি কলের মান 15 সিউডো-র্যান্ডম বিট ছিল, যা পরিসীমাটির পূর্ণসংখ্যা [0, 32767)।
- ক্রমাগত রিটার্ন মানগুলি সম-বিজোড়-এমনকি-বিজোড় বিকল্পযুক্ত; এটি হল, সর্বনিম্ন-তাত্পর্যপূর্ণ-বিট 0-1-0-1 ...
- পরবর্তী টু চেয়ে কম গুরুত্বপূর্ণ বিট সময়ের 4, পরবর্তী পরে সেই সময়ের 8, ছিল ... তাই সর্বোচ্চ-অর্ডার বিট সময়ের ছিল ।215
- অতএব রান্ড 15-বিট রিটার্ন মান () ক্রম সময়ের সহ পর্যায়ক্রমিক ছিল ।215
আমি আসল উত্স কোডটি সনাক্ত করতে অক্ষম হয়েছি, তবে আমি https://groups.google.com/forum/#!topic/comp.os.vms/9k4W6KrRV3A এর কয়েকটি পোস্ট একসাথে পাইকিং থেকে অনুমান করছি যে এটি নিখুঁতভাবে নিম্নলিখিতটি (সি কোড) করেছে, যা উপরের বৈশিষ্ট্যগুলির সাথে আমার স্মৃতিতে একমত:
#define RAND_MAX 32767
static unsigned int next = 1;
int rand(void)
{
next = next * 1103515245 + 12345;
return (next & RAND_MAX);
}
void srand(seed)
unsigned int seed;
{
next = seed;
}
যেহেতু কেউ কল্পনা করতে পারেন, এই র্যান্ড () বিভিন্ন উপায়ে ব্যবহার করার চেষ্টা হতাশার বাছাইয়ের দিকে পরিচালিত করে।
উদাহরণস্বরূপ, এক পর্যায়ে আমি বারবার গ্রহণ করে এলোমেলো মুদ্রার সিক্যুয়ালি অনুক্রমের অনুকরণ করার চেষ্টা করেছি:
rand() & 1
অর্থাৎ সর্বনিম্ন তাৎপর্যপূর্ণ বিট। ফলাফলটি ছিল সরল অল্টারনেশন হেড-লেজ-হেড-লেজ। এটি প্রথমে বিশ্বাস করা শক্ত ছিল (অবশ্যই আমার প্রোগ্রামে একটি বাগ হতে হবে!) তবে আমি নিজেকে সত্য বলে বোঝানোর পরে, আমি এর পরিবর্তে পরবর্তী-সর্বনিম্ন-তাত্পর্যপূর্ণ বিটটি ব্যবহার করার চেষ্টা করেছি। এটি আরও ভাল নয়, যেমনটি আগেই উল্লেখ করা হয়েছিল - সেই বিটটি পর্যায়ক্রমিক 4 এর সাথে পর্যায়ক্রমে উচ্চতর বিটগুলি অন্বেষণ করতে চালিয়ে যা আমি আগে উল্লিখিত প্যাটার্নটি প্রকাশ করেছিলাম: এটি প্রতিটি পরবর্তী উচ্চ-অর্ডার বিট পূর্ববর্তী সময়ের দ্বিগুণ ছিল, সুতরাং এই শ্রদ্ধা সর্বাধিক-আদেশ বিট তাদের সবার মধ্যে সবচেয়ে দরকারী ছিল। তবে খেয়াল করুন যে এখানে কোনও কালো-সাদা প্রান্তিকতা নেই "বিট দরকারী, বিট দরকারী নয়" এখানে; আমরা সত্যিই বলতে পারি যে সংখ্যাযুক্ত বিট পজিশনে বিভিন্ন উপযোগিতা / অকেজোতা ছিল।ii−1
আমি ফলাফলগুলিতে আরও ঝাঁকুনির মতো জিনিসগুলি চেষ্টা করেছি বা একসাথে এক সাথে এক্সওরিংয়ের মানগুলি একাধিক কল থেকে র্যান্ড () এ ফিরে এসেছে। ক্রমবর্ধমান র্যান্ডের () মানগুলির জোড়িং জোড় একটি বিপর্যয় ছিল, অবশ্যই - এর ফলে সমস্ত বিজোড় সংখ্যার ফলস্বরূপ! আমার উদ্দেশ্যে (যিনি মুদ্রার ফ্ল্যাশগুলিতে "আপাতদৃষ্টিতে এলোমেলো" ক্রম উত্পাদন করছেন), এক্সওরটির ধ্রুবক সমতা ফলাফল মূলের বিকল্প এমনকি অদ্ভুত আচরণের চেয়েও খারাপ ছিল।
সামান্য তারতম্য মূল কাঠামো এই রাখে: যে, দিন একটি প্রদত্ত বীজ সহ) RAND (দ্বারা ফিরে 15-বিট মান ক্রম হতে , এবং একটি ভিন্ন বীজ থেকে ক্রম । আবার, either হয় সর্ব-সম বা সমস্ত-বিজোড় সংখ্যার ক্রম হবে, যা মূল বৈকল্পিক এমনকি / বিজোড় আচরণের চেয়ে খারাপ।X⃗ sXY⃗ sYX⃗ ⊕Y⃗
অন্য কথায়, এটি একটি উদাহরণ যেখানে XOR কোনও যুক্তিসঙ্গত ব্যাখ্যার দ্বারা (1) এবং (2) অর্থে জিনিসগুলিকে আরও খারাপ করে তুলেছে। এটি অন্যান্য বেশ কয়েকটি উপায়েও খারাপ:
- (৩) এক্সওরডের সর্বনিম্ন-তাত্পর্যপূর্ণ-বিট স্পষ্টতই পক্ষপাতদুষ্ট, অর্থাত্ নিরপেক্ষ যে কোনও ইনপুটগুলির মধ্যে কোনও সংখ্যাযুক্ত বিটের অবস্থানের বিপরীতে 0 এবং 1 এর অসম ফ্রিকোয়েন্সি রয়েছে।
- (৪) প্রকৃতপক্ষে, প্রতিটি বিট পজিশনের জন্য, এমন কয়েকটি বীজ রয়েছে যার জন্য এক্সওর ফলাফলের ক্ষেত্রে সেই বিট অবস্থানটি পক্ষপাতদুষ্ট এবং প্রতিটি জোড় বীজের জন্য (কমপক্ষে ৫) বিট অবস্থান রয়েছে যা এক্সওআর-এ পক্ষপাতদুষ্ট ফলাফল.
- (5) এক্সওআর ফলাফলের 15-বিট মানগুলির পুরো ক্রমটির সময়কাল 1 বা either হয় , মূলগুলির জন্য to এর তুলনায় ।214215
(3), (4), (5) এর মধ্যে কোনওটিই সুস্পষ্ট নয়, তবে সেগুলি সহজেই যাচাইযোগ্য।
পরিশেষে, আসুন একই পরিবার থেকে পিআরএনজি নিষিদ্ধকরণ পুনরায় চালু করার বিবেচনা করি। আমি মনে করি, এখানে সমস্যাটি হ'ল এটি কখনই দু'টি পিআরএনজি "একই পরিবার থেকে" না হওয়া পর্যন্ত কখনই পরিষ্কার হয় না, যতক্ষণ না কেউ এক্সওআর এবং বিজ্ঞপ্তিগুলি (বা আক্রমণকারী নোটিশ) ব্যবহার শুরু করে না (1) এবং (২) অর্থাত্ আউটপুটে অ-র্যান্ডম প্যাটার্নগুলি অবহেলিত / বিব্রতকর / বিপর্যয়কর না হয়ে চৌকাঠটি অতিক্রম করে এবং সেই মুহুর্তে খুব দেরি হয়ে যায়।
আমি এখানে অন্যান্য জবাব দ্বারা উদ্বেগিত হয়েছি যা তাত্ত্বিক ব্যবস্থাগুলির ভিত্তিতে "এক্সওর ক্ষতিগ্রস্থ করতে পারে না" এমন পরামর্শ দেয় যা বেশিরভাগ লোকেরা "ভাল" এবং "খারাপ" বলে মনে করে মডেলিংয়ের দুর্বল কাজ করে বলে মনে হয় about বাস্তব জীবনে পিআরএনজি। এই পরামর্শটি পরিষ্কার এবং নির্লজ্জ উদাহরণগুলির সাথে বিরোধী যা এক্সওআর জিনিসগুলি আরও খারাপ করে তোলে যেমন উপরে বর্ণিত র্যান্ড () উদাহরণ। যদিও এটি অনুমেয়যোগ্য যে তুলনামূলকভাবে "শক্তিশালী" পিআরএনজিগুলি ক্রমাগত খেলনা পিআরএনজি-র সাথে XORed করার সময় ধারাবাহিকভাবে বিপরীত আচরণ প্রদর্শন করতে পারে, যার ফলে XOR তাদের জন্য একটি ভাল ধারণা তৈরি করেছিল, আমি সেই দিকটিতে কোনও প্রমাণ দেখিনি, তাত্ত্বিক বা অভিজ্ঞতাবাদী, সুতরাং এটি ঘটেছিল ধরে নেওয়া আমার পক্ষে অযৌক্তিক বলে মনে হয়।
ব্যক্তিগতভাবে, আমার যৌবনে XORing র্যান্ড () দ্বারা অবাক করে দেওয়া এবং আমার সারা জীবন জুড়ে অগণিত অন্যান্য বিস্ময়কর সম্পর্কগুলি দ্বারা, আমি আবার অনুরূপ কৌশলগুলি চেষ্টা করলে ফলাফল আলাদা হবে বলে ভাবার আমার খুব কম কারণ আছে। এ কারণেই আমি ব্যক্তিগতভাবে একসাথে একাধিক পিআরএনজি-র সাথে এক্সওর সম্পর্কে খুব অনিচ্ছুক হব যদি না খুব নির্দিষ্ট বিশ্লেষণ এবং পরীক্ষা-নিরীক্ষা করা না হয় তবে আমাকে কিছুটা আত্মবিশ্বাস জানাতে পারে যে এটি নির্দিষ্ট RNG- এর ক্ষেত্রে করা নিরাপদ হতে পারে। আমি যখন পৃথক পিআরএনজির এক বা একাধিকের প্রতি কম আস্থা রাখি তখন এর সম্ভাব্য নিরাময় হিসাবে, তাদের জোর করা আমার আত্মবিশ্বাস বাড়ানোর সম্ভাবনা কম, সুতরাং আমি এ জাতীয় উদ্দেশ্যে এটি ব্যবহার করার সম্ভাবনা কম। আমি আপনার প্রশ্নের উত্তরটি কল্পনা করে দেখি যে এটি একটি বহুল আলোচিত সংবেদন।