পাপ উদ্ধৃতিতে ভন নিউমানের এলোমেলোতা কি আর প্রযোজ্য নয়?


25

কিছু অধ্যায় নিম্নলিখিত বলেছেন:

যে কেউ নির্বিচারবাদী পদ্ধতিতে এলোমেলো সংখ্যা তৈরির চেষ্টা করে সে অবশ্যই পাপ অবস্থায় বেঁচে থাকে।

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

এই জাভা টুকরোটি একটি লুপে রাখে:

      file.writeByte((byte) (System.nanoTime() & 0xff));

একটি চিত্র ফাইল তৈরি করতে পারে যা আমি চিত্র হিসাবে উপস্থাপন করেছি:

nanoimage

আপনি কাঠামো দেখতে পারেন, তবে পাশাপাশি প্রচুর এলোমেলোভাবে। আগ্রহের বিষয় হ'ল এই পিএনজি ফাইলটি আকারের 232KB, তবুও 250,000 ধূসর স্কেল পিক্সেল রয়েছে। পিএনজি সংকোচনের মাত্রা সর্বাধিক ছিল। এটি কেবল একটি সংকোচনের অনুপাত 7%, অর্থাৎ। মোটামুটি অ সংকোচনের। আকর্ষণীয় এছাড়াও ফাইলটি অনন্য। এই ফাইলের প্রতিটি প্রজন্মের কিছুটা আলাদা প্যাটার্ন এবং একই রকম ~ 7% সংকোচনের। এটি আমার যুক্তির সমালোচনা হিসাবে এটি হাইলাইট করি। এটি ~ 7 বীট / বাইট এন্ট্রপি। এটি অবশ্যই একটি শক্তিশালী সংক্ষেপণ অ্যালগরিদম ব্যবহারের উপর হ্রাস করবে। তবে 0 বিট / বাইটের কাছাকাছি যে কোনও কিছুতে হ্রাস করবেন না। উপরের চিত্রটি এলোমেলো করে এলোমেলো রঙের জন্য এর রঙের মানচিত্র স্থাপন করে আরও ভাল ধারণা দেওয়া যেতে পারে: -

এলোমেলো ন্যানিমাইজ

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

প্রাসঙ্গিক

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

সংমিশ্রিত ফাইলটি% 66% এ সংকুচিত হয়েছে, যা ent 5.3 বিট / বাইট বা 10.5 মেগাবাইট / চিত্রের এনট্রপি রেট বাড়ে। এনট্রপি একটি আশ্চর্যজনক পরিমাণ

পরিপূরক 2

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

Running non-IID tests...

Entropic statistic estimates:
Most Common Value Estimate = 7.88411
Collision Test Estimate = 6.44961
Markov Test Estimate = 5.61735
Compression Test Estimate = 6.65691
t-Tuple Test Estimate = 7.40114
Longest Reapeated Substring Test Estimate = 8.00305

Predictor estimates:
Multi Most Common in Window (MultiMCW) Test: 100% complete
    Correct: 3816
    P_avg (global): 0.00397508
    P_run (local): 0.00216675
Multi Most Common in Window (Multi MCW) Test = 7.9748
Lag 

Test: 100% complete
    Correct: 3974
    P_avg (global): 0.00413607
    P_run (local): 0.00216675
Lag Prediction Test = 7.91752
MultiMMC Test: 100% complete
    Correct: 3913
    P_avg (global): 0.00407383
    P_run (local): 0.00216675
Multi Markov Model with Counting (MultiMMC) Prediction Test = 7.9394
LZ78Y Test: 99% complete
    Correct: 3866
    P_avg (global): 0.00402593
    P_run (local): 0.00216675
LZ78Y Prediction Test = 7.95646
Min Entropy: 5.61735

ফলাফলটি হ'ল এনআইএসটি বিশ্বাস করে যে আমি 5.6 বিট / বাইট এন্ট্রপি তৈরি করেছি। আমার ডিআইওয়াই সংকোচনের প্রাক্কলন এটিকে 5.3 বিট / বাইটে রাখে, প্রান্তিকভাবে আরও রক্ষণশীল।

-> প্রমাণগুলি দেখে মনে হয় যে কোনও কম্পিউটার কেবল চালিত একটি সফ্টওয়্যার রিয়েল এন্ট্রপি তৈরি করতে পারে। এবং সেই ভন নিউমান ভুল ছিল (তবে সম্ভবত তাঁর সময়ের জন্য এটি সঠিক)।


আমি নিম্নলিখিত উল্লেখগুলি প্রস্তাব করি যা আমার দাবির পক্ষে সহায়তা করতে পারে: -

প্রোগ্রাম কার্যকর করার হারে অ নির্ধারণের কোনও স্টোকাস্টিক মডেল রয়েছে?

সম্ভাব্য হার্ড রিয়েল-টাইম সিস্টেমগুলির ডাব্লুসিইটি বিশ্লেষণ

এমন কোনও সফ্টওয়্যার অ্যালগরিদম রয়েছে যা একটি অ-সং-বিচ্ছিন্ন বিশৃঙ্খলা নিদর্শন তৈরি করতে পারে? বিশৃঙ্খল প্রভাবগুলির প্রাসঙ্গিকতা।

কোয়ান্টাম এনট্রপিক অনিশ্চয়তার নীতির সাথে সমান্তরাল

Aleksey Shipilёv এর ব্লগ এন্ট্রি nanoTime এর বিশৃঙ্খল আচরণ সংক্রান্ত ()। তার বিক্ষিপ্ত চক্রান্ত আমার সাথে আলাদা নয়।


47
আমি মনে করি আপনি "আমি একটি প্যাটার্ন দেখতে পাচ্ছি না" / প্রতিদিন গাণিতিক / স্টোকাস্টিকের এলোমেলোভাবে ভুল করে চলেছি।
রাফেল

3
পছন্দ করেছেন গাণিতিক সংক্ষেপণ অ্যালগরিদম না। এবং রিয়েল টাইম অপারেটিং সিস্টেমগুলির মুল্য কী যদি সমস্ত সফ্টওয়্যার সর্বদা নিয়মিত থাকে? আমি কেবল বিটের ক্ষেত্রে সিদ্ধান্ত নির্ধারণ সম্পর্কে জিজ্ঞাসা করছি।
পল উজ্জাক

16
আপনি "একটি কম্পিউটারে" এবং "ডিটারমিনিস্টিক পদ্ধতিতে" বিবাদ করছেন।
ব্যবহারকারী 253751

24
এখানে আপনার মৌলিক সমস্যাটি হ'ল আপনি "এই প্যাটার্নটি কীভাবে উত্পন্ন হয় তা আমি বুঝতে পারি না" থেকে শুরু করে এবং সিদ্ধান্ত নিন যে "এই প্যাটার্নটি কীভাবে উত্পন্ন হয় তা কেউ বুঝতে পারে না"। এটি সঠিক নয় এবং আপনার এসই প্রোফাইলটি দেওয়া হয়েছে আপনি অবশ্যই ক্রিপ্টোগ্রাফির সাথে যথেষ্ট জানেন যে এটি অনুসরণ করে না। যে সিস্টেমটি আপনি ভেঙে ফেলতে পারবেন না তা তৈরি করা সহজ, তবে আসল চ্যালেঞ্জটি হ'ল এমন একটি সিস্টেম তৈরি করা যা অন্যরাও ভাঙতে পারে না।
গিলস

4
আমি মনে করি "ডিটারমিনিস্টিক" এর বেশিরভাগ সংজ্ঞাগুলি সেই কলটিকে অ্যালগরিদমগুলি বাদ দেয় System.nanoTime()
বিএমএম 6 ই

উত্তর:


75

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

এইভাবে প্রাপ্ত এলোমেলো মানের গুণমান সম্পর্কে কিছুটা আস্থা অর্জন করতে এটি আরও বিশদ বিশ্লেষণ এবং পরীক্ষা নেয়।

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

শেষ অবধি, আপনার ওপেনার সম্পর্কে একটি মন্তব্য:

"যে কেউ নির্বিচারবাদী পদ্ধতিতে এলোমেলো সংখ্যা তৈরির চেষ্টা করে সে অবশ্যই পাপ অবস্থায় বেঁচে থাকে।"

এটি সর্বদা এই অর্থ গ্রহণ করা হয় যে আপনি কেবল একটি কম্পিউটারের মাধ্যমে সত্যিকারের এলোমেলো সংখ্যা তৈরি করতে পারবেন না।

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


6
সংক্ষেপণ-অ্যালগরিদম পয়েন্টটি প্রসারিত করতে, পিএনজি, বেশিরভাগ সংক্ষেপণ অ্যালগরিদমগুলির মতো, ডেটাতে নিদর্শনগুলি সন্ধান করে। একটি অ্যালগরিদম যা ডেটা পরিবর্তনের ক্ষেত্রে প্যাটারদের সন্ধান করে সম্ভবত চিত্রটি খুব সুন্দরভাবে সংকুচিত করতে পারে।
চিহ্নিত করুন

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

3
@ জুলেস: কী বিষয়গুলি গুরুত্বপূর্ণ তা পিএনজি সরল নয়, বরং এটি বিভিন্ন ধরণের চিত্রগুলিকে সংকুচিত করার জন্য তৈরি করা হয়েছে যা বিভিন্ন ধরণের ছবিতে প্রদর্শিত হতে পারে। যদি কেউ একটি সাধারণ ছবি যেমন 123x234 পিক্সেল গ্রহণ করে এবং একই ক্রমে পিক্সেল রাখার সময় এটি 234x123 এ পরিবর্তন করে থাকে (সুতরাং নতুন ছবির প্রথম সারিতে পুরানো শীর্ষের সারি থেকে 123 পিক্সেল এবং আরও 111 পিক্সেল রয়েছে দ্বিতীয় সারি, নতুন ছবি পরবর্তী সারি মূল দ্বিতীয় সারির শেষ 12 পিক্সেল, মূল তৃতীয় সারির সব, এবং চতুর্থ 99, ইত্যাদি পিএনজি চাইব ... অন্তর্ভুক্ত
supercat

1
... সম্ভবত ফলস্বরূপ চিত্রটিকে প্রায় মূল হিসাবে সংকুচিত করবেন না যেহেতু সারিগুলির মধ্যে আর আর একই স্প্যাসিয়াল সম্পর্ক থাকবে না, যদিও দ্বিতীয় ছবিটিতে ঠিক একই ক্রমে যথাযথ একই পিক্সেল থাকবে despite প্রথম।
সুপারক্যাট

100

আপনি এনট্রপি / যদৃচ্ছতা কিছু হার্ডওয়্যার উৎস ব্যবহার করেন, তাহলে তুমি কি "দ্বারা যদৃচ্ছতা জেনারেট করতে চেষ্টা করছেন নির্ণায়ক (আমার জোর) মানে হলো"। আপনি যদি এনট্রপি / এলোমেলোতার কোনও হার্ডওয়্যার উত্স ব্যবহার না করে থাকেন তবে আরও শক্তিশালী কম্পিউটারের অর্থ হল আপনি প্রতি সেকেন্ডে আরও পাপ করতে পারেন।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
DW

20

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

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

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


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

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

1
@ পলিউসজাক এটি আক্ষরিক অসম্ভব। আপনি যদি মনে করেন যে আপনার কাছে একটি ডিটারিস্টোনিক অ্যালগরিদম রয়েছে যার আচরণটি এর ইনপুটগুলি দ্বারা নির্ধারিত হয় না, এটি এনট্রপিটি কোথায় চালু হয়েছিল তা সনাক্ত করার বিষয়।
বিএমএম 6o

18

যে কেউ নির্বিচারবাদী পদ্ধতিতে এলোমেলো সংখ্যা তৈরির চেষ্টা করে সে অবশ্যই পাপ অবস্থায় বেঁচে থাকে।

যখন আপনি পুরোপুরি ঠিক এটির চেয়ে "পাপ অবস্থায় বেঁচে থাকা" "একটি বাজে কাজ করা" হিসাবে ব্যাখ্যা করেন।

আপনি যা করেছেন তা হ'ল System.nanoTime()দুর্বল এলোমেলোতা তৈরির জন্য বরং ধীর পদ্ধতি ব্যবহার করছে । আপনি কিছু পরিমাপ করেছেন

... ent 5.3 বিট / বাইটের এন্ট্রপি রেট ...

তবে এটি কেবল উপরের সীমানা। আপনি যা কিছু পেতে পারেন তা হ'ল একটি উপরের সীমা। আসল এনট্রপিটি আরও কম মাত্রার অর্ডার হতে পারে।

পরিবর্তে MD5 এর মতো একটি ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করে অ্যারেটি পূরণ করার চেষ্টা করুন। একটি সিকোয়েন্সটি গণনা করুন md5(0), md5(1), ...(প্রতিটি মান এক বা একাধিক বাইট নেওয়া, এটি কোনও ব্যাপার নয়)। আপনি মোটেও কোনও সংক্ষেপণ পাবেন না (হ্যাঁ, এমডি 5 টি নষ্ট হয়ে গেছে, তবে ইনপ্রেসিবল ডেটা তৈরি করতে যথেষ্ট ভাল)।

আমরা বলতে পারি, এন্ট্রিপি মোটেই নেই, তবুও আপনি 8 বিট / বাইট পরিমাপ করবেন।

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

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

নোট করুন যে আপনার সাধারণত কোনও এনট্রপি দরকার হয়। কয়েকটি এলোমেলো বাইটের সাহায্যে প্রারম্ভিক একটি ভাল (ডিটারমিনিস্টিক) পিআরএনজি ক্রিপ্টোগ্রাফির জন্য ব্যবহারযোগ্য এবং তাই অন্য কিছুর জন্যও।


4
@ পলআউসাকাক অবশ্যই, একটি নির্বাহী পিআরএনজি ওটিপি হিসাবে ব্যবহার করা যাবে না। সংজ্ঞা অনুসারে এটির জন্য সত্যিকারের এলোমেলো কী প্রয়োজন কারণ ওটিপি একটি খুব বিশেষ ক্ষেত্রে । অন্য যে কোনও কিছুর জন্য আফাইক, এলোমেলোভাবে বীজযুক্ত সুরক্ষিত পিআরএনজি পর্যাপ্ত পরিমাণে (বীজের অবশ্যই সুরক্ষা স্তরের উপর নির্ভর করে 128 বা 256 বিট এনট্রপি থাকতে হবে)।
মার্টিনাস

3
"যখন আপনার সত্যিই এলোমেলো কিছু দরকার হয়" → আপনার মূলত কখনই সত্যিকারের এলোমেলো প্রয়োজন হয় না। বরং আপনার পারস্পরিক সম্পর্কের অভাব দরকার। সত্যিকারের এলোমেলোতা একটি দৃ guarantee় গ্যারান্টি, তবে মূলত প্রতিটি ক্ষেত্রে একটি আধুনিক সিএসপিআরএনজি এবং একটি অবিশ্বাস্য বীজ দ্বারা ঠিক ততটাই সন্তুষ্ট।
বীড্রাক

3
@ Maartinus আপনি আমাকে খুব একটা পাচ্ছেন না। আমি বলছি আপনার সত্যিকারের এলোমেলো বীজের দরকার নেই, আপনার কেবল অনাকাঙ্ক্ষিত অনারসৃদ্ধ বীজ দরকার।
Veedrac

6
উদাহরণ হিসাবে, আমি 1 মিলিয়ন অনুক্রমিক নম্বর সহ একটি পাঠ্য ফাইল তৈরি করেছি। gzipপ্রায় কোনও এনট্রপি না থাকলেও কেবলমাত্র 63% সংক্ষেপণ পেতে সক্ষম হয়েছিল। এটি কেবল পুনরাবৃত্তিগুলি সনাক্ত করতে পারে999919999299993...
বারমার

6
@ পলিউসাকাক এটি আমার বক্তব্য ছিল - সংক্ষেপণ অনুপাতটি এনট্রপির কোনও ভাল সূচক নয়, এটি নির্দেশ করে যে নির্দিষ্ট সংকোচনের অ্যালগরিদম আপনার ডেটাতে থাকা ধরণের ধরণগুলি সনাক্ত করতে সক্ষম কিনা।
বার্মার

14

আমি ভেবেছিলাম আমি "এলোমেলো" অর্থটি ব্যবহার করব। এখানে বেশিরভাগ উত্তরগুলি ডিটারমিনিস্টিক প্রক্রিয়াগুলির আউটপুট তুলনায় এলোমেলো প্রক্রিয়াগুলির আউটপুট সম্পর্কে কথা বলছে । এটি "এলোমেলো" এর পুরোপুরি ভাল অর্থ, তবে এটি একমাত্র নয়।

এলোমেলো প্রক্রিয়াগুলির আউটপুট নিয়ে একটি সমস্যা হ'ল ডিটারমিনিস্টিক প্রক্রিয়াগুলির ফলাফলগুলি থেকে আলাদা করা তাদের পক্ষে কঠিন: তাদের উত্সটি কতটা এলোমেলো ছিল তার কোনও "রেকর্ড" নেই। এর চরম উদাহরণ হ'ল একটি বিখ্যাত এক্সকেসিডি কমিক যেখানে একটি র্যান্ডম সংখ্যার জেনারেটর সর্বদা ফিরে আসে 4, একটি কোড মন্তব্য করে দাবি করা হয় যে এটি এলোমেলো কারণ এটি ডাই রোল থেকে এসেছে came

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

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

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

আপনার উদাহরণের তথ্যের ক্ষেত্রে, এর কোলমোগোরভ জটিলতা (অর্থাত্ "অভ্যন্তরীণ র্যান্ডমনেস") সন্ধান করতে আমাদের সংক্ষিপ্ততম নির্ণায়ক প্রোগ্রাম খুঁজে বের করতে হবে যা সেই একই বাইট ক্রমটিকে ছাড়িয়ে যায় এবং এর দৈর্ঘ্য নেয় take

এখন আমরা কোলমোগোরভ জটিলতার দৃষ্টিকোণ থেকে আপনার প্রশ্নের উত্তর দিতে পারি, এবং আমরা দেখতে পেয়েছি যে উদ্ধৃতিটি সঠিক: আমরা নির্বিচারে পদ্ধতিতে এলোমেলো সংখ্যা (উচ্চ কোলমোগোরভ জটিলতা) তৈরি করতে পারি না।

কেন না? আসুন কল্পনা করুন যে আমরা একটি ছোট কম্পিউটার প্রোগ্রাম লিখি এবং আমরা এলোমেলো সংখ্যার ক্রম তৈরি করতে এটি ব্যবহার করি। নিম্নলিখিত অবস্থার একটি অবশ্যই প্রয়োগ করতে হবে:

  • আমরা আউটপুট বিপুল পরিমাণ উত্পাদন। তবে, যেহেতু আমরা জানি যে এই আউটপুটটি একটি ছোট প্রোগ্রাম দ্বারা উত্পাদিত হয়েছে, আউটপুট (সংজ্ঞা অনুসারে) কম কোলমোগোরভ জটিলতা রয়েছে, এবং তাই এটি এই অর্থে "এলোমেলো" নয়।
  • আমরা এত সংখ্যক সংখ্যা উত্পন্ন করি যে আমাদের সংক্ষিপ্ত উত্পন্নকরণ প্রোগ্রামটি লেখার চেয়ে সেগুলি সমস্ত লিখতে প্রায় একই বা আরও কম পরিমাণে বিট লাগবে। এই ক্ষেত্রে, সংখ্যাগুলি তুলনামূলকভাবে সংকোচনের, যা ইঙ্গিত দেয় যে তারা কোলমোগোরভ অর্থে বেশ এলোমেলো're যাইহোক, আউটপুটের পরিমাণ যেহেতু আমরা রেখেছি (প্রোগ্রামটির উত্স কোড) এর সাথে তুলনীয়, তাই বলা বাহুল্য যে প্রোগ্রামটি এলোমেলোভাবে "উত্পন্ন" করে না, আমরা সেই প্রোগ্রামটি বেছে নিয়ে করেছি। সর্বোপরি, এক্ষেত্রে আমাদের উত্পন্নকরণের প্রোগ্রামটিও কেবল এই সঠিক সংখ্যাগুলির একটি তালিকা ছিল (উদাঃ print([...]))।

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

  • পদ্ধতিগতভাবে কোনওভাবে কোডটি "ব্লোট" করুন। যাইহোক, কোলমোগোরভ জটিলতা সেই বিশেষ প্রোগ্রামটির বিষয়ে চিন্তা করে না যা আমরা ডেটা উত্পন্ন করার জন্য করতাম : এটি কেবল যেটি তৈরির প্রোগ্রামটি সবচেয়ে ছোট তা নিয়ে যত্নশীল । সিস্টেমেটিক ব্লোট কলমোগোরভ জটিলতা যুক্ত করে না, কারণ কোডে এই জাতীয় নিদর্শনগুলি নিজেরাই খুব অল্প পরিমাণে কোড তৈরি করতে পারে। উদাহরণস্বরূপ, যদি আমরা পেতে run(shortGenerator)এবং সিস্টেমেটিক ব্লাট পেতে পুরো লোড যোগ করি run(bloatedGenerator), একটি ফর্মের একটি সংক্ষিপ্ত জেনারেটর এখনও বিদ্যমান run(addBloat(shortGenerator))
  • ব্লাটকে বিনা -পদ্ধতিতে যুক্ত করুন , অর্থাত্ কোনও নিদর্শন ছাড়াই যাতে কোনও addBloatফাংশনটি কোডের মতোই স্ফীত হয়ে যায়। তবে, নিদর্শনগুলি থেকে বঞ্চিত হওয়া হ'ল কিছু এলোমেলো করে তোলে (উচ্চ কোলমোগোরভ জটিলতা)। অত: পর এই ভাবে উৎপাদিত প্রোগ্রাম bloating নেই আউটপুট যদৃচ্ছতা (Kolmogorov জটিলতা) বৃদ্ধি, কিন্তু এটি এছাড়াও যদৃচ্ছতা (Kolmogorov জটিলতা) পরিমাণ আমরা সোর্স কোড আকারে প্রদান করতে হবে যে বাড়ে। অতএব এটি এখনও আমাদের যারা প্রোগ্রামটি নয় "র্যান্ডমনেস" সরবরাহ করছেন। কেবল লেখার উপরোক্ত উদাহরণে, print([...])নিয়মতান্ত্রিক ব্লাট যুক্ত করা সেই হার্ড কোডিং তালিকায় আরও "এলোমেলো" সংখ্যা লেখার সমতুল্য।

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

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

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

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

7

সংক্ষেপণ এলোমেলোতার সঠিক পরীক্ষা নয় এবং কোনও চিত্রের দিকে তাকিয়ে "এলোমেলো মনে হচ্ছে" বলছে না।

এলোমেলো অভিজ্ঞতা অভিজ্ঞতা দ্বারা পরীক্ষা করা হয়এলোমেলোভাবে পরীক্ষার জন্য বিশেষভাবে ডিজাইন করা সফ্টওয়্যার / অ্যালগরিদমগুলির স্যুট রয়েছে, উদাহরণস্বরূপ, টেস্টইউ 01 এবং ডিয়েহার্ড টেস্টগুলি

তদুপরি, আপনার চিত্রটি আসলে একটি স্পেসে ম্যাপযুক্ত সংখ্যার 1D স্ট্রিং এবং এটি প্রদর্শিত হতে পারে এমন নির্দিষ্ট নিদর্শনগুলির একটি ভাল উপস্থাপনা নয়।

আপনি যদি পিক্সেল দ্বারা আপনার চিত্রের পিক্সেলটি পরীক্ষা করে দেখেন তবে হঠাৎ ড্রপ হওয়ার আগে আপনি সম্ভবত বর্ধিত মানের অনেকগুলি সংক্ষিপ্ত নিদর্শন দেখতে পাবেন। আপনি যদি নমুনার সংখ্যা হিসাবে x মান এবং y মানটি 'র্যান্ডম' ফাংশন থেকে প্রাপ্ত মান হিসাবে একটি গ্রাফ তৈরি করতে চান তবে সম্ভবত আপনি সম্ভবত খুঁজে পাবেন যে আপনার ডেটা বাস্তবে একটি করাত তরঙ্গের মতো দেখাচ্ছে:

সাওথুথ ওয়েভ

এটি মানগুলির দ্বারা তৈরি প্যাটার্ন যা মডুলার গাণিতিকের অধীনে বৃদ্ধি পায় (যা আপনার গণনার উদাহরণ: কাছাকাছি ধ্রুবক হারে সময় বাড়ানো, এবং & 0xFFঅভিনয় হিসাবে mod 256)।


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

2
@ পলিউসাকাক কি সংক্ষেপণ অ্যালগরিদমের উপর নির্ভর করে যদি এই পরিমাপটি বোঝা যায়?
কুত্স্কেমে

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

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

5

আপনি "এলোমেলো মনে হয় এমন সংখ্যার" থেকে এলোমেলো সংখ্যার ধারণাটিকে বিভ্রান্ত করছেন।

ভন নিউমানের উক্তিটি বুঝতে, আমাদের বুঝতে হবে "এলোমেলো সংখ্যা তৈরি করা" এর অর্থ কী। Warbo এর উত্তর একটি চমৎকার সংযোগ xkcd এই শেষ হবে: এক্সকেসিডি কমিক

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

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

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

  • সুতরাং নির্ধারিত প্রক্রিয়াগুলির সাথে এলোমেলো সংখ্যা তৈরি করা হচ্ছে ... পাপ।
  • নিবেদিত এলোমেলো হার্ডওয়্যার সহ এলোমেলো সংখ্যা তৈরি করা হচ্ছে ... পাপ নয়।
  • কম্পিউটারের অবিচ্ছিন্ন দিকগুলির সাথে এলোমেলো সংখ্যা তৈরি করা হচ্ছে ... পাপ হতে পারে।

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


4

আপনি দাবিটি বুঝতে পেরেছেন বলে আমি মনে করি না। মুল বক্তব্যটি হ'ল যদি কোনও 'এলোমেলো' নম্বর সিরিজ উত্পন্ন করার জন্য যদি কোনও নির্ধারক পদ্ধতি থাকে (বা আসলেই কিছু), তবে প্যাটার্নটি সন্ধান করা কেবল এই পদ্ধতিটি অনুসন্ধানের কাজ!

অতএব, পরবর্তী পূর্ণসংখ্যার পূর্বাভাস দেওয়ার জন্য সর্বদা একটি নিয়ন্ত্রক পদ্ধতি রয়েছে। এটি এলোমেলোভাবে ঘটেছিল যা আমরা এলোমেলোভাবে ধরে নিলে আমরা যা হওয়ার আশা করি না!

পর্যাপ্ত জটিল নির্বিঘ্নিতা stochasticity থেকে পৃথক পৃথক।

- থেকে Wrzlprmft এর ব্যবহারকারী পৃষ্ঠা

সুতরাং, যদি কিছু এলোমেলো মনে হয় , তবে কেন পৃথিবীতে আমরা এটিকে উত্সাহী করার জন্য যদি একটি নির্বিচার পদ্ধতি থাকে তবে কেন আমরা এটিকে 'এলোমেলো' হিসাবে মডেল করব?

আমার মনে হয় এটিই মূল সমস্যা। আপনি কেবলমাত্র পিআরএনজি এবং 'সত্যিকারের এলোমেলোতা' এর আলাদা আলাদা আলাদা ফর্ম দেখিয়েছেন ।

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


1
ত্রুটি, আপনি কি নিশ্চিত যে এই উক্তিটি বুঝতে পেরেছেন? আপনি নিজেও এর বিরোধিতা করছেন বলে মনে হচ্ছে ..?
পল উজ্জাক

আমি কি? আপনি কি স্পষ্ট করতে পারেন? আমি বলতে চাইছিলাম যে আপনি যদি কিছু এলোমেলো হিসাবে বিবেচনা করতে চান তবে নির্দ্বিধায় এটিকে উত্পন্ন করা অর্থহীন, এমনকি অন্য কেউ পার্থক্যটি দেখতে না পারাও।
বিচ্ছিন্ন টিকটিকি

2
@ পলিউসজাক আপনি দাবি করেছেন যে কোনও কিছু আপনার কাছে স্টোকাস্টিক দেখাচ্ছে বলে এটি এলোমেলো। তবে বাস্তবে, কোনও কিছু স্টোকাস্টিক দেখায় তার অর্থ এলোমেলো নয় - এটি যথেষ্ট জটিল নির্বিচার প্রক্রিয়াও হতে পারে।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

O(n2)

3

আমি মনে করি অন্যরা ইতিমধ্যে এটি চিহ্নিত করেছে, তবে এটি যে জোর দিয়েছিল তা নয়, তাই আমাকেও আলোচনায় যুক্ত করতে দিন।

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

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

তদুপরি, আসলে, আপনি কেবল এটি করেছেন , তবে এটি প্রথম নজরে এটি স্পষ্ট নয়।

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

এখন আপনার অ্যালগরিদম তাকান। এটি কিসের উপর ভিত্তি করে? আপনার কত রাজ্য আছে? এটা কি নির্দোষ?

  file.writeByte((byte) (System.nanoTime() & 0xff));

চলুন file.writeI / O (আপনি হার্ডড্রাইভ কেবলগুলিতে এক মুহুর্তের জন্য ভারী আওয়াজ যোগ করার চেষ্টা করেছিলেন? না, হেই আপনি এটি করতে পারতেন না! হেই, এটি তখন নিরপেক্ষবাদী! :)), এবং ফ্ল্যাশিং বাফারগুলির কোনও বিষয় উপেক্ষা করে চলুন ignore আসুন উত্সটিতে ফোকাস করা, এটি আরও গুরুত্বপূর্ণ।

সময় একটি রাষ্ট্র কিছু ধরনের। এটি পরিবর্তিত হয়, তবে এর বেশিরভাগ অংশ একই। এ কারণেই আপনি এটিকে অবরুদ্ধ করার চেষ্টা করেছিলেন এবং বেশিরভাগ রাজ্যকে বাদ দেওয়ার জন্য 0xFF নিয়েছিলেন । তবে আপনি এগুলি একেবারেই বাদ দেননি, আগের পড়ার কিছু রাজ্য পরেরটির কাছে ফাঁস হতে পারে, সুতরাং এটি অবশ্যই সম্পূর্ণরূপে নিরপেক্ষবাদী নয়)

তবে আমরা তাতে আগ্রহী নই। উদ্ধৃতিটি ভুল বলে প্রমাণ করতে:

যে কেউ নির্বিচারবাদী পদ্ধতিতে এলোমেলো সংখ্যা তৈরির চেষ্টা করে সে অবশ্যই পাপ অবস্থায় বেঁচে থাকে।

আপনি এটি একটি নির্বিচারে উপায় দ্বারা প্রমাণ করা প্রয়োজন।
আমরা যা আগ্রহী, তা হ'ল: আপনার অ্যালগো অবশ্যই নিখুঁতভাবে নির্বিচারক ?

.. এবং এটা সুস্পষ্ট যে এটা না।

  System.nanoTime() & 0xff

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

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

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

*) মজার কথা, আপনি যদি কঠোরভাবে যান তবে আপনি সম্ভবত আসল এলোমেলোতা বাড়িয়ে তুলতে পারেন। প্রতিটি বিট পড়ার আগে কিছুটা কিছুটা কমে & 0x01 করুন, এবং থ্রেড-একটি লক্ষণীয় সময় অপেক্ষা করুন। সেই উপায়ে উপাত্ত তৈরি করা হাস্যকরভাবে দীর্ঘ হবে তবে আমি আসলে যুক্তি দিয়ে বলব যে এটি প্রায় সত্যই এলোমেলো হিসাবে বিবেচিত হতে পারে, যদি আপনি 'আরটিওএস নন' এবং প্রতিটি আইএফএফ চালিয়ে যাচ্ছেন তবে তা নিশ্চিত করার জন্য যথেষ্ট উচ্চ ওএস হয় ঘুমিয়ে গেছে, বা প্রসঙ্গে-অন্য কোনও কাজে স্যুইচ করেছে।


2
NAS

এর ঠিক কিছুটা আমার পেছনের দিক থেকে ঠিক ছিল "" [আপনি] একটি আরও ভাল [সংকোচনের] অ্যালগরিদম তৈরি করতে পারেন "
কোয়েটজলক্যাটল

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

0xff আছে কারণ আপনি 64 বিট পূর্ণসংখ্যার ব্যবহার করে ভাল পিকসি তৈরি করতে পারবেন না। এবং আপনি যদি 0x01 ব্যবহার করেন তবে আপনাকে বিট হ্যান্ডলিংয়ের সাথে গোলমাল করতে হবে যা আমাকে বিরক্ত করা যায় না। এখানেই শেষ. এনআইএসটি এনট্রপি এবং আমার নিজস্ব ব্যবস্থাগুলি যেভাবেই হোক উচ্চ বিটগুলিতে এনট্রপি দেওয়ার পরামর্শ দেয় (এর মধ্যে ~ 5)।
পল উজ্জাক

1
+1, এবং এটি আমার কাছে এ পর্যন্ত সেরা উত্তর বলে মনে হচ্ছে: পরিস্থিতিটির মধ্যে এনট্রপির একমাত্র উত্স সম্পর্কে জিজ্ঞাসা করা হচ্ছে হ'ল ঘড়ির প্রতিটি পাঠের মধ্যে কতটা সময় কেটে যায় তার অব্যবস্থাপনাটি অবিকল ! এবং এটি অপারেটিং সিস্টেমের শিডিয়ুলার কীভাবে কাজ করে এবং হার্ডওয়্যার কীভাবে কাজ করে এবং সেই মুহুর্ত পর্যন্ত ব্যবহারকারী সেই সিস্টেমে কী করেছে তার বিবরণগুলির সংমিশ্রণ থেকে আসে যা পরবর্তীতে অপ্রত্যাশিতভাবে অন্যান্য কী কী সময় নির্ধারণের প্রয়োজন বা কতক্ষণ ডিস্কের প্রয়োজন তা প্রভাবিত করে সময়ের সাথে বিচ্ছেদের কারণে বা অদলবদল / মেমরি / ক্যাশে কী ছিল বা কোন নেটওয়ার্ক / ইত্যাদি ক্রিয়াকলাপ চলছিল সে কারণে অ্যাক্সেসগুলি নেওয়া হয়েছিল।
mtraceur

2

আমি মনে করি যে উত্তরটি আপনার প্রয়োজন উত্তরটি এই মন্তব্য দিয়ে শুরু হয় আপনি নিজেই একটি উত্তর দিয়েছিলেন:

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

আপনি ইতিমধ্যে এই উপলব্ধি, আমি মনে করি: আপনি ব্যবহার করেননি নির্ণায়ক মানে প্যাটার্ন তৈরি করুন।

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

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

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

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


0

পূর্ববর্তী উত্তরগুলি যুক্ত করার জন্য, এই প্রশ্নটি সম্পর্কে ভাবার একটি সহজ উপায়।

এলোমেলো এবং ডিটারমিনিস্টিকের মধ্যে পার্থক্য সম্পর্কে এটি সবই । আমরা ভন নিউমানের কাছে যাব এবং তার পরে তিনি কী বলছিলেন।

এলোমেলো সংখ্যা

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

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

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

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

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

নির্ধারিত সংখ্যাগুলি

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

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

আমরা এটিকে "সিউডোর্যান্ডম" বলে থাকি কারণ এটি দেখতে না হলেও প্রধানত এলোমেলো মনে হয়।

এখানে একটি ভাল উদাহরণ। 3 অঙ্কের "এলোমেলো সংখ্যার" এই ক্রমটি সম্পর্কে চিন্তা করুন: 983, 367, 336, 244, 065, 664, 308, 602, 139, 494, 639, 522, 473, 719, 070, 217. আসুন আমি আপনাকে বলি যে আমি একইভাবে এক মিলিয়ন সংখ্যা জেনারেট করতে পারি। এরপরে আপনি কোনও পরিসংখ্যানবিদকে যেতে পারেন যিনি নিশ্চিত করবেন (বলবেন) যে তারা সমানভাবে বিতরণ করা হয়েছে বা যা কিছু হোক না কেন। কোন সুস্পষ্ট অনুমানযোগ্য প্যাটার্নব আছে। তারা দেখতে বেশ এলোমেলো, তাই না? তবে এখন আমি আপনাকে বলি যে তারা আসলে

পাই এর 500 তম + সংখ্যা, 3 এস তে গ্রুপ করা হয়েছে।

হঠাৎ, তবে এলোমেলো

পাই এর সংখ্যা

হতে পারে, আপনি অবিলম্বে অনুমান করতে পারেন যে পরবর্তী 2 সংখ্যা 986 এবং 094 হবে।

স্পষ্টতই, আমি ঠিক কতটা এলোমেলো জানি না

পাই এর সংখ্যা

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

মাঝে

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

ভন নিউমন এবং আপনার প্রশ্নে ফিরে আসুন

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

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

আমরা এখন আপনার প্রশ্নের পুনঃসংশোধন করতে পারি: "আমার (বা যে কোনও আধুনিক) কম্পিউটারের আউটপুট সম্পূর্ণ এলোমেলোভাবে দেখতে এবং আচরণ করতে পারে, তার অর্থ ভন নিউমানের উদ্ধৃতিটি এখন পুরানো এবং ভুল?"

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

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

ভন নিউমান দু'ভাবেই জিতলেন, প্রায় সংজ্ঞা দিয়ে!

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