კაროჩე ინტერნეტში ვეძებდი RNG-ზე ინფორმაციას და ასეთ რამეს გადავაწყდი...საინტერესო სტატიაა
ყოველთვის მაინტერესებდა (და ალბათ ყველასთვის საინტერესო გახდება, ვინც დაფიქრდება ამ საკითხზე) თუ, როგორ ხდება შემთხვევითი რიცხვების გენერირება კომპიუტერში. ჩემი საქმიანობიდან გამომდინარე ხშირად მომითხოვია კომპიუტერისთვის შემთხვევითი რიცხვი და მიმიღია კიდეც! უამრავი ფუნქცია აქვს სხვადასხვა პროგრამირების ენებს. არადა, ხომ საინტერესოა როგორ ხდება და რა ხდება? ცხადია, რომ რეალურად შემთხვევით რიცხვებთან ვერ (!) გვექნება საქმე, რადგანაც კომპიუტერისთვის ყველაფერი წინასწარ განსაზღვრული ალგორითმია, მისთვის ხომ შემთხვევითობა არ არსებობს.
მოკლედ, დამაინტერესა ამ საკითხმა და ცოტაოდენი ქექვის შემდეგ ამ თემაზე საინტერესო მასალები ვიპოვე

არსებობს საიტი www.random.org — True Random Number Service, სადაც გვეუბნებიან, რომ ისინი ჭეშმარიტად შემთხვევით რიცხვებს აგენერირებენ. აი ციტატა საიტიდან:
RANDOM.ORG offers true random numbers to anyone on the Internet. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs
აღმოჩნდა რომ არსებობს ე.წ. „ფსევდო შემთხვევითი რიცხვები“ და „ჭეშმარიტად შემთხვევითი რიცხვები“; შესაბამისად, მათი გენერირების ორი მეთოდი. პირველი — „ფსევდო-შემთხვევითი რიცხვების გენერატორი“ და მეორე — „ჭეშმარიტად შემთხვევითი რიცხვების გენერატორი“; Pseudo-Random Number Generators (PRNG-ები) და True Random Number Generators (TRNG-ები).
Pseudo Random Number Generators
როგორც სახელიდან ნათლად ჩანს, PRNG არ გვაძლევს ჭეშმარიტად შემთხვევით რიცხვებს. თვითონ PRNG წარმოადგენს გარკვეულ ალგორითმს, რომელიც იყენებს მათემატიკურ ფორმულას ან საერთოდ წინასწარ გამზადებულ რიცხვების მიმდევრობას, რომლებიც საბოლოო ჯამში წარმოადგენენ „შემთხვევით“ რიცხვებს. ყველაზე გავრცელებული მაგალითი ამ PRNG-ებისა, არის ე.წ. „წრფივი შესაბამისობის მეთოდი“, რომელიც გულისხმობს შემდეგს:
ჩვეულებრივი მიმდევრობაა

ხოლო m, a და с არიან კონსტანტები, რომლებიც მთლიანად განსაზღვრავენ გენერატორს. ისინი აკმაყოფილებენ ამ პირობებს:
გენერატორის პერიოდის მაქსიმუმი შეიძლება იყოს m-ის ტოლი. თუმცა, როგორც წესი, უფრო ნაკლებია ხოლმე. ეს მეთოდი ძალიან მგრძნობიარეა с, a და m მუდმივების მიმართ. ყველაზე ეფექტურ გენერატორებში m 2-ის ხარისხის ტოლია, ყველაზე ხშირად ეს 232-ს ან 264-ს შეადგენს.
ადამიანური ენით რომ ვთქვათ, PRNG-ები უბრალოდ რაღაც წესით ახდენენ გარკვეული რიცხვების მიმდევრობის დაგენერირებას, რომლებიც შემდეგში წარმოადგენენ ვითომ-შემთხვევით რიცხვებს.

სწორედ ეს მეთოდები მუშაობენ რეალურად კომპიუტერულ პროგრამებში. ცხადია, რომ ეს მეთოდი (ანუ PRNG) არის პერიოდული. რაც ნიშნავს, რომ მიმდევრობა როდესმე გაიმეორებს თავის თავს. თუმცა, ეს მეთოდი უპრობლემოდ მუშაობს, როდესაც გვჭირდება ბევრი შემთხვევითი რიცხვი და იმ ფაქტს, რომ მიმდევრობა გამეორდება მნიშვნელობა არ აქვს. გარდა ამისა, თანამედროვე ალგორითმების ეს პერიოდი იმდენად დიდია, რომ გამეორებადობის შანსი მიზერულამდე მცირდება. მაგრამ არსებობს შემთხვევები როდესაც ფსევდო-შემთხვევითი რიცხვები არ გამოდგება. მაგალითად, აზარტული თამაშების დროს, დასტაში ბანქოს მიმდევრობის ან ლოტოს ბილეთის ნომრების გენერირებისას, დამთხვევა-გამეორება-გათვლის ყველანაირი რისკი თავიდანვე უნდა გამოირიცხოს. სწორედ ასეთი შემთხვევებისთვის არსებობს
True Random Number Generators
PRNG-სგან განსხვავებით, ეს მეთოდი რიცხვების დასაგენერირებლად იყენებს რეალურ ფიზიკურ მოვლენებს და შემდეგ გადასცემს ამას კომპიუტერს. მაგალითად: ასეთი მოვლენა შეიძლება იყოს მაუსის მოძრაობა (მცირედი ვარიაციებით), ან კლავიატურის ღილაკებზე დაჭერებს შორის დროის ინტერვალი, ან კიდევ უამრავი სხვა რამ

მაგალითად, ზევით ხსენებული საიტი random.org შემთხვევითი რიცხვების დასაგენერირებლად იყენებს „ატმოსფერული ხმაურის“ ამპლიტუდას და სპეციალურ პროგრამულ უზრუნველყოფას, რომელსაც ჩამწერით მიღებული მონაცემები ციფრებში გადაყავს.
მსოფლიოში არსებობს ხალხი, ვინც სპეციალურ მოწყობილობებს ამზადებს, რომლებიც ფიზიკურ მოვლენებზე დაყრდნობით აგენერირებს შემთხვევით რიცხვებს და სერიოზულ ფულსაც აკეთებს ამ საქმიანობით. მათ მომხმარებლებს შორის კი, ხშირია კამათი და დაუსრულებელი ჰოლი-ვარები თემაზე, თუ რა ტიპის, რომელ მოვლენაზე ორიენტირებული TRNG-ებია უმჯობესი, რომელი შემთხვევისთვის და ა.შ. და ა.შ.
კამათი ხანდახან ისე ღრმად ჩადის, რომ იწყება საუბარი, როგორი TRNG ჯობია — კვანტურ მოვლენებზე დამოკიდებული თუ ის, რომელიც რიცხვებს რაღაც ქაოსური სისტემის ერთიანი ქცევიდან აგენერირებს.

ამ ყველაფრის დაკავშირება კი პირდაპირ ხდება სამყაროს მოწყობის შესახებ ჩვენ წარმოდგენებთან. ანუ თემასთან, სამყარო არის დეტერმინიზირებული თუ არა — ყველა მოვლენა წინასწარგანსაზღვულია თუ არა? კვანტური ფიზიკის მიხედვით, ატომურ დონეზე ყველაფერი შემთხვევითია; საერთოდ კი, კონკრეტულ მოვლენას ჩვენ მხოლოდ იმიტომ მივიჩნევთ შემთხვევითად, რომ უბრალოდ მისი არსებობის ახსნა არ გაგვაჩნია; კლასიკური ფიზიკის მიხედვით კი ნაწილაკების ერთობლიობის, ანუ სისტემის პროგნოზირება, ცხადია შესაძლებელია...
მოკლედ, ძალიან ღრმად გავიჭერი

გასაგებია, რომ შემთხვევითი რიცხვების გენერაციისას არანაირი (!) მნიშვნელობა არ აქვს სამყაროს მოწყობას

სამყარო პროგნოზირებადიც რომ იყოს, თუ ჩვენ შევძელით ნებისმიერი მოვლენის პროგნოზირება ნაწილაკების მოძრაობის დონეზე, მაშინ შემთხვევითი რიცხვებს შემთხვევითობა ყველაზე ნაკლებად იქნება საინტერესო
CHARTპოკერსტარზე კი მაქვს ექაუნთი მაგრამ არ ვთამაშობ მანდ, შეგიძლია უფრო დეტალურად ამიხსნა როგორ შემოვიდე?