আপনি কি কোনও অশোধিত এলোমেলো নম্বর জেনারেটর হিসাবে ব্যবহার করতে পারেন?


30

আমি সম্প্রতি গণিত.এসইতে এই প্রশ্নটি দেখেছি। এটা আমার চিন্তা আছে। পাই কি কোনও ক্রুড এলোমেলো নম্বর জেনারেটর হিসাবে ব্যবহার করা যেতে পারে? আমি বলতে চাই ফলাফলগুলি সুপরিচিত (পাই এখন থেকে কতক্ষণ গণনা করা হয়েছে?) তবে, পাই একবারে 1 ডিজিট নেওয়ার সময় যথেষ্ট এলোমেলো বলে মনে হয় না।

এটি কি আদৌ কোনও অর্থ দেয়?


এই এলোমেলো নম্বরগুলি কোথায় ব্যবহার করা হবে?
নালুউজারএক্সসেপশন

2
তাত্ত্বিকভাবে এটি হতে পারে তবে এটি সম্ভবত বর্তমান পদ্ধতির চেয়ে কম অনুকূল হবে। এটির মধ্যে কেবল প্রবৃত্তি তবে মনে হয় এলোমেলো পুলটি কম ওভারহেডের সাথে এইভাবে বড়।
রিগ

@ নল ইউজার এক্সসেপশন নিশ্চিত নয় ... আমি কেবল ভাবছিলাম যে এগুলি সমস্ত ক্ষেত্রে ব্যবহার করা যেতে পারে। আমি ধরে নিয়েছি এটি অবশ্যই ক্রিপ্টোগ্রাফির জন্য হবে না '
আর্লজ

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

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

উত্তর:


50

থেকে খনন http://www.befria.nu/elias/pi/binpi.html পাই এর বাইনারি মান পেতে (তাই বরং এটা দশমিক সংখ্যা ব্যবহার করার চেষ্টা তুলনায় বাইট মধ্যে রূপান্তর করতে সহজ ছিল যে) এবং তারপর মাধ্যমে এটি চলমান ENT বাইটগুলির এলোমেলো বিতরণ বিশ্লেষণের জন্য আমি নিম্নলিখিতটি পেয়েছি:

এন্ট্রপি = 7.954093 বিট প্রতি বাইট।

সর্বোত্তম সংক্ষেপণ এই 4096 বাইট ফাইলের আকার 0 শতাংশ হ্রাস করবে।

4096 নমুনার জন্য চি বর্গ বিতরণ 253.00, এবং এলোমেলোভাবে এই মান 52.36 শতাংশ ছাড়িয়ে যাবে।

ডেটা বাইটের গাণিতিক গড় মান 126.6736 (127.5 = এলোমেলো)।

পাই এর জন্য মন্টে কার্লো মান 3.120234604 (ত্রুটি 0.68 শতাংশ)।

ক্রমিক ক্রিয়াকলাপ সহগ 0.028195 (সম্পূর্ণরূপে অসংযুক্ত) = 0.0)।

হ্যাঁ, এলোমেলো ডেটার জন্য পাই ব্যবহার করা আপনাকে মোটামুটি এলোমেলো ডেটা দেবে ... বুঝতে পেরে এটি এলোমেলো ডেটা পরিচিত known


উপরের মন্তব্য থেকে ...

আপনি যা করছেন তার উপর নির্ভর করে তবে আমি মনে করি আপনি এলোমেলো সংখ্যা জেনারেটর হিসাবে যে কোনও মৌলিক সংখ্যার বর্গমূলের দশমিক ব্যবহার করতে পারেন। এগুলি কমপক্ষে সমানভাবে বিতরণ করা উচিত। - প্যাক্সিনাম

সুতরাং, আমি বাইনারি 2 এর বর্গমূলকে একই সংখ্যার সমস্যাগুলি সরিয়ে ফেলতে গণনা করেছি। ওল্ফ্রামের আইট্রেশন ব্যবহার করে আমি একটি সহজ পার্ল স্ক্রিপ্ট লিখেছিলাম

#!/usr/bin/perl
use strict;
use Math::BigInt;

my $u = Math::BigInt->new("2");
my $v = Math::BigInt->new("0");
my $i = 0;

while(1) {
    my $unew;
    my $vnew;

    if($u->bcmp($v) != 1) { # $u <= $v
        $unew = $u->bmul(4);
        $vnew = $v->bmul(2);
    } else {
        $unew = ($u->bsub($v)->bsub(1))->bmul(4);
        $vnew = ($v->badd(2))->bmul(2);
    }   

    $v = $vnew;
    $u = $unew;

    #print $i,"  ",$v,"\n";
    if($i++ > 10000) { last; }
}

open (BITS,"> bits.txt");
print BITS $v->as_bin();
close(BITS);

এটি প্রথম 10 এর সাথে মিলিত হয়ে A095804 মিলেছে তাই আমি আত্মবিশ্বাসী ছিলাম আমার ক্রমটি ছিল। প্রথম অঙ্কের পরে স্থাপন করা বাইনারি পয়েন্টের সাথে বাইনারিতে যখন লেখা হয় তখন মান n এন 2 এর বর্গমূলের একটি সংলগ্নতা দেয়।

এই বাইনারি তথ্য বিরুদ্ধে এনট ব্যবহার করে উত্পাদন:

Entropy = 7.840501 bits per byte.

Optimum compression would reduce the size
of this 1251 byte file by 1 percent.

Chi square distribution for 1251 samples is 277.84, and randomly
would exceed this value 15.58 percent of the times.

Arithmetic mean value of data bytes is 130.0616 (127.5 = random).
Monte Carlo value for Pi is 3.153846154 (error 0.39 percent).
Serial correlation coefficient is -0.045767 (totally uncorrelated = 0.0).

ঠিক ঠিক যে ধরণের উত্তর আমি খুঁজছিলাম। এই ধরণের
স্টাফগুলির

এমনকি সংখ্যা বিতরণ মোটামুটি এলোমেলো হলেও, এলোমেলোভাবে এর একটি অংশ নির্বাচন করার জন্য আপনাকে কি কোনও উপায় খুঁজে পাবে না?
ব্লুমার

1
@ ব্লুমার নং এলোমেলোতা সংখ্যার ক্রম উপর পরিমাপ করা হয়। পাই অঙ্কগুলির ক্রমটি এলোমেলোভাবে বলা হয়। En.wikedia.org/wiki/Statistical_randomness
সাইমন বার্গোট

11
একেবারে ঠিক. এবং এটি এলোমেলো তথ্য হিসাবে পরিচিত, আপনি কি কখনও ক্রিপ্টোগ্রাফিক উদ্দেশ্যে এটি ব্যবহার করার সাহস করবেন না।
ফ্যালকন

3
"সুপরিচিত এলোমেলো ডেটা" এর জন্য +1। যদি আপনার কোনও এলোমেলো ডেটা প্রয়োজন হয় যা কেউ অনুমান করতে পারে না, পাই আপনার জন্য নয়, যদি কোনও কারণে কেবল কিছু গুচ্ছ র্যান্ডম সংখ্যার প্রয়োজন হয় তবে এটি ঠিক কাজ করে।
jmoreno

5

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


2

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

অঙ্কগুলির বন্টনটি স্ট্যান্ডার্ড র্যান্ডম সংখ্যার জেনারেটরগুলির সাথে বেশ মিল বলে মনে হয়, তাই π এর অঙ্কগুলি সাধারণ এলোমেলো সংখ্যা জেনারেশনের পরিস্থিতিতে ব্যবহার করা যেতে পারে।

সমস্যাটি হ'ল সাধারণ এলোমেলো সংখ্যা জেনারেটরের তুলনায় অ্যালগরিদম সম্ভবত খুব ধীর হবে, সুতরাং এটি অনুশীলনে খুব বেশি কার্যকর নয়।


¹ আমি বিশ্বাস করি এটি সত্য, তবে কোনও প্রমাণ নেই। বিপুল পরিমাণ সংখ্যার উপর ভিত্তি করে তুলনা করা আকর্ষণীয় (এবং জটিল হওয়া নয়) হবে।


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

1
@ নুল ইউজার এক্সেপশন: ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত PRNG রয়েছে, যা এখনও সিউডো-এলোমেলো। ইত্যাদি তেজস্ক্রিয় ক্ষয়, গোলমাল: এরপর বাস্তব RNG যা বাস্তব জগতে থেকে ইনপুট উপর ভিত্তি করে হয়
আরসেনি Mourzenko

2
@ মাইনমা ​​তবে তারপরেও, তেজস্ক্রিয় ক্ষয়, বায়ুমণ্ডলীয় শব্দ, ব্যবহারকারীর ইনপুট থেকে প্রাপ্ত এলোমেলোতা ইত্যাদি বিতর্কযোগ্য। কেবলমাত্র আমরা কোনও প্যাটার্নটি স্বীকৃতি না দেওয়ার অর্থ এই নয় যে এটির কোনও অস্তিত্ব নেই।
নাল ইউজারএক্সসেপশন

1
@ নুল ইউজার এক্সেপশন: গত বছর কলবেক / রেনার একটি প্রবন্ধ প্রকাশ করেছিলেন যা প্রমাণ করার জন্য পরিকল্পনা করে: "কোয়ান্টাম তত্ত্বের কোনও সম্প্রসারণ ভবিষ্যদ্বাণীমূলক শক্তির উন্নতি করতে পারে না।" এটি ধরে রাখলে ধরে নেওয়া যায়, এনট্রপির এমন একটি উত্স থাকতে পারে যা ভবিষ্যদ্বাণী করা নিছক অপ্রয়োজনীয় না হয়ে সত্যই অনির্দেশ্য।
ব্রায়ান

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

2

পাই এর অঙ্কগুলির এলোমেলোতা (বা সে ক্ষেত্রে অন্য কোনও ক্রমের জন্য) তথাকথিত 'ব্যাটারি পরীক্ষা' দ্বারা তর্কযোগ্যভাবে পরীক্ষা করা যেতে পারে। একটি জনপ্রিয় ব্যাটারি পরীক্ষা হ'ল জর্জ মার্সাগলিয়ার ডায়ার্ড ব্যাটারি পরীক্ষা । এছাড়াও এনআইএসটি বিশেষ প্রকাশনার ৮০০-২২ তে এই জাতীয় পরীক্ষাগুলির বর্ণনা দেয় এবং দশ লক্ষেরও বেশি বিট - ল ও দেখুন - সহ অনেকগুলি শারীরিক ধ্রুবকগুলিতে এই পরীক্ষাগুলি প্রয়োগ করার ফলাফল বর্ণনা করে। পাই এর ফলাফল রিপোর্টের পরিশিষ্ট B এ দেওয়া হয়েছে এবং এর মতো দেখাচ্ছে:

Statistical Test                            P-value
Frequency                                   0.578211
Block Frequency (m = 128)                   0.380615
Cusum-Forward                               0.628308
Cusum-Reverse                               0.663369
Runs                                        0.419268
Long Runs of Ones                           0.024390
Rank                                        0.083553
Spectral DFT                                0.010186
Non-overlapping Templates (m = 9, B = 000000001)          0.165757
Overlapping Templates (m = 9)               0.296897
Universal                                   0.669012
Approximate Entropy (m = 10)                0.361595
Random Excursions (x = +1)                  0.844143
Random Excursions Variant (x = -1)          0.760966
Linear Complexity (M = 500)                 0.255475
Serial (m = 16, 2m∇Ψ )                      0.143005

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


1
ডেইহার্ডের জন্য আমাকে পড়ার জন্য বলা হয়েছে যে এটির জন্য প্রায় 10-12 মেগাবাইট বাইনারি ডেটা প্রয়োজন (আমি খুঁজে পেতে পারি সেরাটি 32 কিলোবাইট)। যদি আপনি এটি ascii ডেটার বিরুদ্ধে চালিত করেন তবে পরীক্ষাটি অ্যাপ্লিকেশনটির প্রত্যাশা থেকে বেশ দূরে থাকবে।

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